Application Migration Service icon

Application Migration Service

The Application Migration Service service

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2020-02-26",
    "x-release": "v4",
    "title": "Application Migration Service",
    "description": "The Application Migration Service service.",
    "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": "mgn",
    "x-aws-signingName": "mgn",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/mgn-2020-02-26.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/mgn/"
  },
  "servers": [
    {
      "url": "http://mgn.{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 mgn multi-region endpoint"
    },
    {
      "url": "https://mgn.{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 mgn multi-region endpoint"
    },
    {
      "url": "http://mgn.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The mgn endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://mgn.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The mgn endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/ArchiveApplication": {
      "post": {
        "operationId": "ArchiveApplication",
        "description": "Archive application.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/ArchiveWave": {
      "post": {
        "operationId": "ArchiveWave",
        "description": "Archive wave.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Wave"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "waveID"
                ],
                "properties": {
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/AssociateApplications": {
      "post": {
        "operationId": "AssociateApplications",
        "description": "Associate applications to wave.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssociateApplicationsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationIDs",
                  "waveID"
                ],
                "properties": {
                  "applicationIDs": {
                    "description": "Application IDs list.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ApplicationID"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  },
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/AssociateSourceServers": {
      "post": {
        "operationId": "AssociateSourceServers",
        "description": "Associate source servers to application.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AssociateSourceServersResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID",
                  "sourceServerIDs"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "sourceServerIDs": {
                    "description": "Source server IDs list.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SourceServerID"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/ChangeServerLifeCycleState": {
      "post": {
        "operationId": "ChangeServerLifeCycleState",
        "description": "Allows the user to set the SourceServer.LifeCycle.state property for specific Source Server IDs to one of the following: READY_FOR_TEST or READY_FOR_CUTOVER. This command only works if the Source Server is already launchable (dataReplicationInfo.lagDuration is not null.)",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "lifeCycle",
                  "sourceServerID"
                ],
                "properties": {
                  "lifeCycle": {
                    "description": "The request to change the source server migration lifecycle state.",
                    "type": "object",
                    "properties": {
                      "state": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ChangeServerLifeCycleStateSourceServerLifecycleState"
                          },
                          {
                            "description": "The request to change the source server migration lifecycle state."
                          }
                        ]
                      }
                    }
                  },
                  "sourceServerID": {
                    "description": "The request to change the source server migration lifecycle state by source server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/CreateApplication": {
      "post": {
        "operationId": "CreateApplication",
        "description": "Create application.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "description": {
                    "description": "Application description.",
                    "type": "string",
                    "pattern": "^[^\\x00]*$",
                    "minLength": 0,
                    "maxLength": 600
                  },
                  "name": {
                    "description": "Application name.",
                    "type": "string",
                    "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "tags": {
                    "description": "Application tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/CreateLaunchConfigurationTemplate": {
      "post": {
        "operationId": "CreateLaunchConfigurationTemplate",
        "description": "Creates a new Launch Configuration Template.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LaunchConfigurationTemplate"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "associatePublicIpAddress": {
                    "description": "Associate public Ip address.",
                    "type": "boolean"
                  },
                  "bootMode": {
                    "description": "Launch configuration template boot mode.",
                    "type": "string",
                    "enum": [
                      "LEGACY_BIOS",
                      "UEFI"
                    ]
                  },
                  "copyPrivateIp": {
                    "description": "Copy private Ip.",
                    "type": "boolean"
                  },
                  "copyTags": {
                    "description": "Copy tags.",
                    "type": "boolean"
                  },
                  "enableMapAutoTagging": {
                    "description": "Enable map auto tagging.",
                    "type": "boolean"
                  },
                  "largeVolumeConf": {
                    "description": "Launch template disk configuration.",
                    "type": "object",
                    "properties": {
                      "iops": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk iops configuration."
                          }
                        ]
                      },
                      "throughput": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk throughput configuration."
                          }
                        ]
                      },
                      "volumeType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/VolumeType"
                          },
                          {
                            "description": "Launch template disk volume type configuration."
                          }
                        ]
                      }
                    }
                  },
                  "launchDisposition": {
                    "description": "Launch disposition.",
                    "type": "string",
                    "enum": [
                      "STOPPED",
                      "STARTED"
                    ]
                  },
                  "licensing": {
                    "description": "Configure Licensing.",
                    "type": "object",
                    "properties": {
                      "osByol": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Configure BYOL OS licensing."
                          }
                        ]
                      }
                    }
                  },
                  "mapAutoTaggingMpeID": {
                    "description": "Launch configuration template map auto tagging MPE ID.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "postLaunchActions": {
                    "description": "Post Launch Actions to executed on the Test or Cutover instance.",
                    "type": "object",
                    "properties": {
                      "cloudWatchLogGroupName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/CloudWatchLogGroupName"
                          },
                          {
                            "description": "AWS Systems Manager Command's CloudWatch log group name."
                          }
                        ]
                      },
                      "deployment": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PostLaunchActionsDeploymentType"
                          },
                          {
                            "description": "Deployment type in which AWS Systems Manager Documents will be executed."
                          }
                        ]
                      },
                      "s3LogBucket": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3LogBucketName"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 log bucket."
                          }
                        ]
                      },
                      "s3OutputKeyPrefix": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BoundedString"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 output key prefix."
                          }
                        ]
                      },
                      "ssmDocuments": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/SsmDocuments"
                          },
                          {
                            "description": "AWS Systems Manager Documents."
                          }
                        ]
                      }
                    }
                  },
                  "smallVolumeConf": {
                    "description": "Launch template disk configuration.",
                    "type": "object",
                    "properties": {
                      "iops": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk iops configuration."
                          }
                        ]
                      },
                      "throughput": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk throughput configuration."
                          }
                        ]
                      },
                      "volumeType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/VolumeType"
                          },
                          {
                            "description": "Launch template disk volume type configuration."
                          }
                        ]
                      }
                    }
                  },
                  "smallVolumeMaxSize": {
                    "description": "Small volume maximum size.",
                    "type": "integer",
                    "minimum": 0
                  },
                  "tags": {
                    "description": "Request to associate tags during creation of a Launch Configuration Template.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "targetInstanceTypeRightSizingMethod": {
                    "description": "Target instance type right-sizing method.",
                    "type": "string",
                    "enum": [
                      "NONE",
                      "BASIC"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/CreateReplicationConfigurationTemplate": {
      "post": {
        "operationId": "CreateReplicationConfigurationTemplate",
        "description": "Creates a new ReplicationConfigurationTemplate.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplicationConfigurationTemplate"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "associateDefaultSecurityGroup",
                  "bandwidthThrottling",
                  "createPublicIP",
                  "dataPlaneRouting",
                  "defaultLargeStagingDiskType",
                  "ebsEncryption",
                  "replicationServerInstanceType",
                  "replicationServersSecurityGroupsIDs",
                  "stagingAreaSubnetId",
                  "stagingAreaTags",
                  "useDedicatedReplicationServer"
                ],
                "properties": {
                  "associateDefaultSecurityGroup": {
                    "description": "Request to associate the default Application Migration Service Security group with the Replication Settings template.",
                    "type": "boolean"
                  },
                  "bandwidthThrottling": {
                    "description": "Request to configure bandwidth throttling during Replication Settings template creation.",
                    "type": "integer",
                    "minimum": 0
                  },
                  "createPublicIP": {
                    "description": "Request to create Public IP during Replication Settings template creation.",
                    "type": "boolean"
                  },
                  "dataPlaneRouting": {
                    "description": "Request to configure data plane routing during Replication Settings template creation.",
                    "type": "string",
                    "enum": [
                      "PRIVATE_IP",
                      "PUBLIC_IP"
                    ]
                  },
                  "defaultLargeStagingDiskType": {
                    "description": "Request to configure the default large staging disk EBS volume type during Replication Settings template creation.",
                    "type": "string",
                    "enum": [
                      "GP2",
                      "ST1",
                      "GP3"
                    ]
                  },
                  "ebsEncryption": {
                    "description": "Request to configure EBS encryption during Replication Settings template creation.",
                    "type": "string",
                    "enum": [
                      "DEFAULT",
                      "CUSTOM"
                    ]
                  },
                  "ebsEncryptionKeyArn": {
                    "description": "Request to configure an EBS encryption key during Replication Settings template creation.",
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "replicationServerInstanceType": {
                    "description": "Request to configure the Replication Server instance type during Replication Settings template creation.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "replicationServersSecurityGroupsIDs": {
                    "description": "Request to configure the Replication Server Security group ID during Replication Settings template creation.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SecurityGroupID"
                    },
                    "minItems": 0,
                    "maxItems": 32
                  },
                  "stagingAreaSubnetId": {
                    "description": "Request to configure the Staging Area subnet ID during Replication Settings template creation.",
                    "type": "string",
                    "pattern": "^subnet-[0-9a-fA-F]{8,}$",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "stagingAreaTags": {
                    "description": "Request to configure Staging Area tags during Replication Settings template creation.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "tags": {
                    "description": "Request to configure tags during Replication Settings template creation.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "useDedicatedReplicationServer": {
                    "description": "Request to use Dedicated Replication Servers during Replication Settings template creation.",
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/CreateWave": {
      "post": {
        "operationId": "CreateWave",
        "description": "Create wave.",
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Wave"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "description": {
                    "description": "Wave description.",
                    "type": "string",
                    "pattern": "^[^\\x00]*$",
                    "minLength": 0,
                    "maxLength": 600
                  },
                  "name": {
                    "description": "Wave name.",
                    "type": "string",
                    "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "tags": {
                    "description": "Wave tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteApplication": {
      "post": {
        "operationId": "DeleteApplication",
        "description": "Delete application.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteApplicationResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteJob": {
      "post": {
        "operationId": "DeleteJob",
        "description": "Deletes a single Job by ID.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteJobResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jobID"
                ],
                "properties": {
                  "jobID": {
                    "description": "Request to delete Job from service by Job ID.",
                    "type": "string",
                    "pattern": "^mgnjob-[0-9a-zA-Z]{17}$",
                    "minLength": 24,
                    "maxLength": 24
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteLaunchConfigurationTemplate": {
      "post": {
        "operationId": "DeleteLaunchConfigurationTemplate",
        "description": "Deletes a single Launch Configuration Template by ID.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteLaunchConfigurationTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "launchConfigurationTemplateID"
                ],
                "properties": {
                  "launchConfigurationTemplateID": {
                    "description": "ID of resource to be deleted.",
                    "type": "string",
                    "pattern": "^lct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteReplicationConfigurationTemplate": {
      "post": {
        "operationId": "DeleteReplicationConfigurationTemplate",
        "description": "Deletes a single Replication Configuration Template by ID",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteReplicationConfigurationTemplateResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "replicationConfigurationTemplateID"
                ],
                "properties": {
                  "replicationConfigurationTemplateID": {
                    "description": "Request to delete Replication Configuration Template from service by Replication Configuration Template ID.",
                    "type": "string",
                    "pattern": "^rct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteSourceServer": {
      "post": {
        "operationId": "DeleteSourceServer",
        "description": "Deletes a single source server by ID.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteSourceServerResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Request to delete Source Server from service by Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteVcenterClient": {
      "post": {
        "operationId": "DeleteVcenterClient",
        "description": "Deletes a given vCenter client by ID.",
        "responses": {
          "204": {
            "description": "Success"
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "vcenterClientID"
                ],
                "properties": {
                  "vcenterClientID": {
                    "description": "ID of resource to be deleted.",
                    "type": "string",
                    "pattern": "^vcc-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DeleteWave": {
      "post": {
        "operationId": "DeleteWave",
        "description": "Delete wave.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteWaveResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "waveID"
                ],
                "properties": {
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DescribeJobLogItems": {
      "post": {
        "operationId": "DescribeJobLogItems",
        "description": "Retrieves detailed job log items with paging.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeJobLogItemsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jobID"
                ],
                "properties": {
                  "jobID": {
                    "description": "Request to describe Job log job ID.",
                    "type": "string",
                    "pattern": "^mgnjob-[0-9a-zA-Z]{17}$",
                    "minLength": 24,
                    "maxLength": 24
                  },
                  "maxResults": {
                    "description": "Request to describe Job log item maximum results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request to describe Job log next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/DescribeJobs": {
      "post": {
        "operationId": "DescribeJobs",
        "description": "Returns a list of Jobs. Use the JobsID and fromDate and toData filters to limit which jobs are returned. The response is sorted by creationDataTime - latest date first. Jobs are normally created by the StartTest, StartCutover, and TerminateTargetInstances APIs. Jobs are also created by DiagnosticLaunch and TerminateDiagnosticInstances, which are APIs available only to *Support* and only used in response to relevant support tickets.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeJobsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "Request to describe Job log filters.",
                    "type": "object",
                    "properties": {
                      "fromDate": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ISO8601DatetimeString"
                          },
                          {
                            "description": "Request to describe Job log filters by date."
                          }
                        ]
                      },
                      "jobIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/DescribeJobsRequestFiltersJobIDs"
                          },
                          {
                            "description": "Request to describe Job log filters by job ID."
                          }
                        ]
                      },
                      "toDate": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ISO8601DatetimeString"
                          },
                          {
                            "description": "Request to describe job log items by last date."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "Request to describe job log items by max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request to describe job log items by next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/DescribeLaunchConfigurationTemplates": {
      "post": {
        "operationId": "DescribeLaunchConfigurationTemplates",
        "description": "Lists all Launch Configuration Templates, filtered by Launch Configuration Template IDs",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeLaunchConfigurationTemplatesResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "launchConfigurationTemplateIDs": {
                    "description": "Request to filter Launch Configuration Templates list by Launch Configuration Template ID.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
                    },
                    "minItems": 0,
                    "maxItems": 200
                  },
                  "maxResults": {
                    "description": "Maximum results to be returned in DescribeLaunchConfigurationTemplates.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Next pagination token returned from DescribeLaunchConfigurationTemplates.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/DescribeReplicationConfigurationTemplates": {
      "post": {
        "operationId": "DescribeReplicationConfigurationTemplates",
        "description": "Lists all ReplicationConfigurationTemplates, filtered by Source Server IDs.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeReplicationConfigurationTemplatesResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "maxResults": {
                    "description": "Request to describe Replication Configuration template by max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request to describe Replication Configuration template by next token.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 2048
                  },
                  "replicationConfigurationTemplateIDs": {
                    "description": "Request to describe Replication Configuration template by template IDs.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ReplicationConfigurationTemplateID"
                    },
                    "minItems": 0,
                    "maxItems": 200
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DescribeSourceServers": {
      "post": {
        "operationId": "DescribeSourceServers",
        "description": "Retrieves all SourceServers or multiple SourceServers by ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeSourceServersResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "Request to filter Source Servers list.",
                    "type": "object",
                    "properties": {
                      "applicationIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/DescribeSourceServersRequestApplicationIDs"
                          },
                          {
                            "description": "Request to filter Source Servers list by application IDs."
                          }
                        ]
                      },
                      "isArchived": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Request to filter Source Servers list by archived."
                          }
                        ]
                      },
                      "lifeCycleStates": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/LifeCycleStates"
                          },
                          {
                            "description": "Request to filter Source Servers list by life cycle states."
                          }
                        ]
                      },
                      "replicationTypes": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ReplicationTypes"
                          },
                          {
                            "description": "Request to filter Source Servers list by replication type."
                          }
                        ]
                      },
                      "sourceServerIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/DescribeSourceServersRequestFiltersIDs"
                          },
                          {
                            "description": "Request to filter Source Servers list by Source Server ID."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "Request to filter Source Servers list by maximum results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request to filter Source Servers list by next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/DescribeVcenterClients": {
      "get": {
        "operationId": "DescribeVcenterClients",
        "description": "Returns a list of the installed vCenter clients.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DescribeVcenterClientsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": "Maximum results to be returned in DescribeVcenterClients.",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 1000
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": "Next pagination token to be provided for DescribeVcenterClients.",
            "schema": {
              "type": "string",
              "minLength": 0,
              "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"
        }
      ]
    },
    "/DisassociateApplications": {
      "post": {
        "operationId": "DisassociateApplications",
        "description": "Disassociate applications from wave.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisassociateApplicationsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationIDs",
                  "waveID"
                ],
                "properties": {
                  "applicationIDs": {
                    "description": "Application IDs list.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ApplicationID"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  },
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DisassociateSourceServers": {
      "post": {
        "operationId": "DisassociateSourceServers",
        "description": "Disassociate source servers from application.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisassociateSourceServersResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID",
                  "sourceServerIDs"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "sourceServerIDs": {
                    "description": "Source server IDs list.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SourceServerID"
                    },
                    "minItems": 1,
                    "maxItems": 50
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/DisconnectFromService": {
      "post": {
        "operationId": "DisconnectFromService",
        "description": "Disconnects specific Source Servers from Application Migration Service. Data replication is stopped immediately. All AWS resources created by Application Migration Service for enabling the replication of these source servers will be terminated / deleted within 90 minutes. Launched Test or Cutover instances will NOT be terminated. If the agent on the source server has not been prevented from communicating with the Application Migration Service service, then it will receive a command to uninstall itself (within approximately 10 minutes). The following properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Request to disconnect Source Server from service by Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/FinalizeCutover": {
      "post": {
        "operationId": "FinalizeCutover",
        "description": "Finalizes the cutover immediately for specific Source Servers. All AWS resources created by Application Migration Service for enabling the replication of these source servers will be terminated / deleted within 90 minutes. Launched Test or Cutover instances will NOT be terminated. The AWS Replication Agent will receive a command to uninstall itself (within 10 minutes). The following properties of the SourceServer will be changed immediately: dataReplicationInfo.dataReplicationState will be changed to DISCONNECTED; The SourceServer.lifeCycle.state will be changed to CUTOVER; The totalStorageBytes property fo each of dataReplicationInfo.replicatedDisks will be set to zero; dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be nullified.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Request to finalize Cutover by Source Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/GetLaunchConfiguration": {
      "post": {
        "operationId": "GetLaunchConfiguration",
        "description": "Lists all LaunchConfigurations available, filtered by Source Server IDs.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LaunchConfiguration"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Request to get Launch Configuration information by Source Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/GetReplicationConfiguration": {
      "post": {
        "operationId": "GetReplicationConfiguration",
        "description": "Lists all ReplicationConfigurations, filtered by Source Server ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplicationConfiguration"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Request to get Replication Configuration by Source Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/InitializeService": {
      "post": {
        "operationId": "InitializeService",
        "description": "Initialize Application Migration Service.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InitializeServiceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "481": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          }
        },
        "parameters": []
      },
      "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"
        }
      ]
    },
    "/ListApplications": {
      "post": {
        "operationId": "ListApplications",
        "description": "Retrieves all applications or multiple applications by ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListApplicationsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "Applications list filters.",
                    "type": "object",
                    "properties": {
                      "applicationIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ApplicationIDsFilter"
                          },
                          {
                            "description": "Filter applications list by application ID."
                          }
                        ]
                      },
                      "isArchived": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Filter applications list by archival status."
                          }
                        ]
                      },
                      "waveIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/WaveIDsFilter"
                          },
                          {
                            "description": "Filter applications list by wave ID."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "Maximum results to return when listing applications.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListExportErrors": {
      "post": {
        "operationId": "ListExportErrors",
        "description": "List export errors.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExportErrorsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "exportID"
                ],
                "properties": {
                  "exportID": {
                    "description": "List export errors request export id.",
                    "type": "string",
                    "pattern": "^export-[0-9a-zA-Z]{17}$",
                    "minLength": 24,
                    "maxLength": 24
                  },
                  "maxResults": {
                    "description": "List export errors request max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "List export errors request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListExports": {
      "post": {
        "operationId": "ListExports",
        "description": "List exports.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListExportsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "List exports request filters.",
                    "type": "object",
                    "properties": {
                      "exportIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ListExportsRequestFiltersExportIDs"
                          },
                          {
                            "description": "List exports request filters export ids."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "List export request max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "List export request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListImportErrors": {
      "post": {
        "operationId": "ListImportErrors",
        "description": "List import errors.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListImportErrorsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "importID"
                ],
                "properties": {
                  "importID": {
                    "description": "List import errors request import id.",
                    "type": "string",
                    "pattern": "^import-[0-9a-zA-Z]{17}$",
                    "minLength": 24,
                    "maxLength": 24
                  },
                  "maxResults": {
                    "description": "List import errors request max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "List import errors request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListImports": {
      "post": {
        "operationId": "ListImports",
        "description": "List imports.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListImportsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "List imports request filters.",
                    "type": "object",
                    "properties": {
                      "importIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ImportIDsFilter"
                          },
                          {
                            "description": "List imports request filters import IDs."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "List imports request max results.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "List imports request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListSourceServerActions": {
      "post": {
        "operationId": "ListSourceServerActions",
        "description": "List source server post migration custom actions.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSourceServerActionsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "filters": {
                    "description": "Source server post migration custom action filters.",
                    "type": "object",
                    "properties": {
                      "actionIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ActionIDs"
                          },
                          {
                            "description": "Action IDs to filter source server post migration custom actions by."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "Maximum amount of items to return when listing source server post migration custom actions.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Next token to use when listing source server post migration custom actions.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 2048
                  },
                  "sourceServerID": {
                    "description": "Source server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/tags/{resourceArn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": "List all tags for your Application Migration Service resources.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ThrottlingException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "List tags for resource request by ARN.",
            "schema": {
              "type": "string",
              "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": "Adds or overwrites only the specified tags for the specified Application Migration Service resource or resources. When you specify an existing tag key, the value is overwritten with the new value. Each resource can have a maximum of 50 tags. Each tag consists of a key and optional value.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ThrottlingException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "Tag resource by ARN.",
            "schema": {
              "type": "string",
              "minLength": 20,
              "maxLength": 2048
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": "Tag resource by Tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/ListTemplateActions": {
      "post": {
        "operationId": "ListTemplateActions",
        "description": "List template post migration custom actions.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTemplateActionsResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "launchConfigurationTemplateID"
                ],
                "properties": {
                  "filters": {
                    "description": "Template post migration custom action filters.",
                    "type": "object",
                    "properties": {
                      "actionIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/ActionIDs"
                          },
                          {
                            "description": "Action IDs to filter template post migration custom actions by."
                          }
                        ]
                      }
                    }
                  },
                  "launchConfigurationTemplateID": {
                    "description": "Launch configuration template ID.",
                    "type": "string",
                    "pattern": "^lct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "maxResults": {
                    "description": "Maximum amount of items to return when listing template post migration custom actions.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Next token to use when listing template post migration custom actions.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/ListWaves": {
      "post": {
        "operationId": "ListWaves",
        "description": "Retrieves all waves or multiple waves by ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListWavesResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "maxResults",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination limit",
            "required": false
          },
          {
            "name": "nextToken",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Pagination token",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "description": "Waves list filters.",
                    "type": "object",
                    "properties": {
                      "isArchived": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Filter waves list by archival status."
                          }
                        ]
                      },
                      "waveIDs": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/WaveIDsFilter"
                          },
                          {
                            "description": "Filter waves list by wave ID."
                          }
                        ]
                      }
                    }
                  },
                  "maxResults": {
                    "description": "Maximum results to return when listing waves.",
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 1000
                  },
                  "nextToken": {
                    "description": "Request next token.",
                    "type": "string",
                    "minLength": 0,
                    "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"
        }
      ]
    },
    "/MarkAsArchived": {
      "post": {
        "operationId": "MarkAsArchived",
        "description": "Archives specific Source Servers by setting the SourceServer.isArchived property to true for specified SourceServers by ID. This command only works for SourceServers with a lifecycle. state which equals DISCONNECTED or CUTOVER.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Mark as archived by Source Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/PutSourceServerAction": {
      "post": {
        "operationId": "PutSourceServerAction",
        "description": "Put source server post migration custom action.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServerActionDocument"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "actionID",
                  "actionName",
                  "documentIdentifier",
                  "order",
                  "sourceServerID"
                ],
                "properties": {
                  "actionID": {
                    "description": "Source server post migration custom action ID.",
                    "type": "string",
                    "pattern": "[0-9a-zA-Z]$",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "actionName": {
                    "description": "Source server post migration custom action name.",
                    "type": "string",
                    "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "active": {
                    "description": "Source server post migration custom action active status.",
                    "type": "boolean"
                  },
                  "category": {
                    "description": "Source server post migration custom action category.",
                    "type": "string",
                    "enum": [
                      "DISASTER_RECOVERY",
                      "OPERATING_SYSTEM",
                      "LICENSE_AND_SUBSCRIPTION",
                      "VALIDATION",
                      "OBSERVABILITY",
                      "SECURITY",
                      "NETWORKING",
                      "CONFIGURATION",
                      "BACKUP",
                      "OTHER"
                    ]
                  },
                  "description": {
                    "description": "Source server post migration custom action description.",
                    "type": "string",
                    "pattern": "^[0-9a-zA-Z ():/.,'-_#*; ]*$",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "documentIdentifier": {
                    "description": "Source server post migration custom action document identifier.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "documentVersion": {
                    "description": "Source server post migration custom action document version.",
                    "type": "string",
                    "pattern": "^(\\$DEFAULT|\\$LATEST|[0-9]+)$"
                  },
                  "externalParameters": {
                    "description": "Source server post migration custom action external parameters.",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 20,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SsmExternalParameter"
                    }
                  },
                  "mustSucceedForCutover": {
                    "description": "Source server post migration custom action must succeed for cutover.",
                    "type": "boolean"
                  },
                  "order": {
                    "description": "Source server post migration custom action order.",
                    "type": "integer",
                    "minimum": 1001,
                    "maximum": 10000
                  },
                  "parameters": {
                    "description": "Source server post migration custom action parameters.",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 20,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SsmParameterStoreParameters"
                    }
                  },
                  "sourceServerID": {
                    "description": "Source server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  },
                  "timeoutSeconds": {
                    "description": "Source server post migration custom action timeout in seconds.",
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/PutTemplateAction": {
      "post": {
        "operationId": "PutTemplateAction",
        "description": "Put template post migration custom action.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TemplateActionDocument"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "actionID",
                  "actionName",
                  "documentIdentifier",
                  "launchConfigurationTemplateID",
                  "order"
                ],
                "properties": {
                  "actionID": {
                    "description": "Template post migration custom action ID.",
                    "type": "string",
                    "pattern": "[0-9a-zA-Z]$",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "actionName": {
                    "description": "Template post migration custom action name.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "active": {
                    "description": "Template post migration custom action active status.",
                    "type": "boolean"
                  },
                  "category": {
                    "description": "Template post migration custom action category.",
                    "type": "string",
                    "enum": [
                      "DISASTER_RECOVERY",
                      "OPERATING_SYSTEM",
                      "LICENSE_AND_SUBSCRIPTION",
                      "VALIDATION",
                      "OBSERVABILITY",
                      "SECURITY",
                      "NETWORKING",
                      "CONFIGURATION",
                      "BACKUP",
                      "OTHER"
                    ]
                  },
                  "description": {
                    "description": "Template post migration custom action description.",
                    "type": "string",
                    "pattern": "^[0-9a-zA-Z ():/.,'-_#*; ]*$",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "documentIdentifier": {
                    "description": "Template post migration custom action document identifier.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "documentVersion": {
                    "description": "Template post migration custom action document version.",
                    "type": "string",
                    "pattern": "^(\\$DEFAULT|\\$LATEST|[0-9]+)$"
                  },
                  "externalParameters": {
                    "description": "Template post migration custom action external parameters.",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 20,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SsmExternalParameter"
                    }
                  },
                  "launchConfigurationTemplateID": {
                    "description": "Launch configuration template ID.",
                    "type": "string",
                    "pattern": "^lct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "mustSucceedForCutover": {
                    "description": "Template post migration custom action must succeed for cutover.",
                    "type": "boolean"
                  },
                  "operatingSystem": {
                    "description": "Operating system eligible for this template post migration custom action.",
                    "type": "string",
                    "pattern": "^(linux|windows)$"
                  },
                  "order": {
                    "description": "Template post migration custom action order.",
                    "type": "integer",
                    "minimum": 1001,
                    "maximum": 10000
                  },
                  "parameters": {
                    "description": "Template post migration custom action parameters.",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 20,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SsmParameterStoreParameters"
                    }
                  },
                  "timeoutSeconds": {
                    "description": "Template post migration custom action timeout in seconds.",
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/RemoveSourceServerAction": {
      "post": {
        "operationId": "RemoveSourceServerAction",
        "description": "Remove source server post migration custom action.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveSourceServerActionResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "actionID",
                  "sourceServerID"
                ],
                "properties": {
                  "actionID": {
                    "description": "Source server post migration custom action ID to remove.",
                    "type": "string",
                    "pattern": "[0-9a-zA-Z]$",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "sourceServerID": {
                    "description": "Source server ID of the post migration custom action to remove.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/RemoveTemplateAction": {
      "post": {
        "operationId": "RemoveTemplateAction",
        "description": "Remove template post migration custom action.",
        "responses": {
          "204": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RemoveTemplateActionResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "actionID",
                  "launchConfigurationTemplateID"
                ],
                "properties": {
                  "actionID": {
                    "description": "Template post migration custom action ID to remove.",
                    "type": "string",
                    "pattern": "[0-9a-zA-Z]$",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "launchConfigurationTemplateID": {
                    "description": "Launch configuration template ID of the post migration custom action to remove.",
                    "type": "string",
                    "pattern": "^lct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/RetryDataReplication": {
      "post": {
        "operationId": "RetryDataReplication",
        "description": "Causes the data replication initiation sequence to begin immediately upon next Handshake for specified SourceServer IDs, regardless of when the previous initiation started. This command will not work if the SourceServer is not stalled or is in a DISCONNECTED or STOPPED state.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "Retry data replication for Source Server ID.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/StartCutover": {
      "post": {
        "operationId": "StartCutover",
        "description": "Launches a Cutover Instance for specific Source Servers. This command starts a LAUNCH job whose initiatedBy property is StartCutover and changes the SourceServer.lifeCycle.state property to CUTTING_OVER.",
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartCutoverResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerIDs"
                ],
                "properties": {
                  "sourceServerIDs": {
                    "description": "Start Cutover by Source Server IDs.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SourceServerID"
                    },
                    "minItems": 1,
                    "maxItems": 200
                  },
                  "tags": {
                    "description": "Start Cutover by Tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/StartExport": {
      "post": {
        "operationId": "StartExport",
        "description": "Start export.",
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartExportResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "s3Bucket",
                  "s3Key"
                ],
                "properties": {
                  "s3Bucket": {
                    "description": "Start export request s3 bucket.",
                    "type": "string",
                    "pattern": "^[a-zA-Z0-9.\\-_]{1,255}$"
                  },
                  "s3BucketOwner": {
                    "description": "Start export request s3 bucket owner.",
                    "type": "string",
                    "pattern": "[0-9]{12,}",
                    "minLength": 12,
                    "maxLength": 12
                  },
                  "s3Key": {
                    "description": "Start export request s3key.",
                    "type": "string",
                    "pattern": "^[^\\x00]{1,1020}\\.csv$"
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/StartImport": {
      "post": {
        "operationId": "StartImport",
        "description": "Start import.",
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartImportResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "s3BucketSource"
                ],
                "properties": {
                  "clientToken": {
                    "description": "Start import request client token.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 64
                  },
                  "s3BucketSource": {
                    "description": "S3 bucket source.",
                    "type": "object",
                    "properties": {
                      "s3Bucket": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3BucketName"
                          },
                          {
                            "description": "S3 bucket source s3 bucket."
                          }
                        ]
                      },
                      "s3BucketOwner": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/AccountID"
                          },
                          {
                            "description": "S3 bucket source s3 bucket owner."
                          }
                        ]
                      },
                      "s3Key": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3Key"
                          },
                          {
                            "description": "S3 bucket source s3 key."
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/StartReplication": {
      "post": {
        "operationId": "StartReplication",
        "description": "Starts replication for SNAPSHOT_SHIPPING agents.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          },
          "484": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "sourceServerID": {
                    "description": "ID of source server on which to start replication.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/StartTest": {
      "post": {
        "operationId": "StartTest",
        "description": "Launches a Test Instance for specific Source Servers. This command starts a LAUNCH job whose initiatedBy property is StartTest and changes the SourceServer.lifeCycle.state property to TESTING.",
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartTestResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerIDs"
                ],
                "properties": {
                  "sourceServerIDs": {
                    "description": "Start Test for Source Server IDs.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SourceServerID"
                    },
                    "minItems": 1,
                    "maxItems": 200
                  },
                  "tags": {
                    "description": "Start Test by Tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/TerminateTargetInstances": {
      "post": {
        "operationId": "TerminateTargetInstances",
        "description": "Starts a job that terminates specific launched EC2 Test and Cutover instances. This command will not work for any Source Server with a lifecycle.state of TESTING, CUTTING_OVER, or CUTOVER.",
        "responses": {
          "202": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminateTargetInstancesResponse"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerIDs"
                ],
                "properties": {
                  "sourceServerIDs": {
                    "description": "Terminate Target instance by Source Server IDs.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SourceServerID"
                    },
                    "minItems": 1,
                    "maxItems": 200
                  },
                  "tags": {
                    "description": "Terminate Target instance by Tags.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UnarchiveApplication": {
      "post": {
        "operationId": "UnarchiveApplication",
        "description": "Unarchive application.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UnarchiveWave": {
      "post": {
        "operationId": "UnarchiveWave",
        "description": "Unarchive wave.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Wave"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ServiceQuotaExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceQuotaExceededException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "waveID"
                ],
                "properties": {
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/tags/{resourceArn}#tagKeys": {
      "delete": {
        "operationId": "UntagResource",
        "description": "Deletes the specified set of tags from the specified set of Application Migration Service resources.",
        "responses": {
          "200": {
            "description": "Success"
          },
          "480": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "ThrottlingException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ThrottlingException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "484": {
            "description": "InternalServerException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalServerException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": "Untag resource by ARN.",
            "schema": {
              "type": "string",
              "minLength": 20,
              "maxLength": 2048
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": true,
            "description": "Untag resource by Keys.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TagKey"
              }
            }
          }
        ]
      },
      "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"
        }
      ]
    },
    "/UpdateApplication": {
      "post": {
        "operationId": "UpdateApplication",
        "description": "Update application.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "applicationID"
                ],
                "properties": {
                  "applicationID": {
                    "description": "Application ID.",
                    "type": "string",
                    "pattern": "^app-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "description": {
                    "description": "Application description.",
                    "type": "string",
                    "pattern": "^[^\\x00]*$",
                    "minLength": 0,
                    "maxLength": 600
                  },
                  "name": {
                    "description": "Application name.",
                    "type": "string",
                    "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
                    "minLength": 1,
                    "maxLength": 256
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateLaunchConfiguration": {
      "post": {
        "operationId": "UpdateLaunchConfiguration",
        "description": "Updates multiple LaunchConfigurations by Source Server ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LaunchConfiguration"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "bootMode": {
                    "description": "Update Launch configuration boot mode request.",
                    "type": "string",
                    "enum": [
                      "LEGACY_BIOS",
                      "UEFI"
                    ]
                  },
                  "copyPrivateIp": {
                    "description": "Update Launch configuration copy Private IP request.",
                    "type": "boolean"
                  },
                  "copyTags": {
                    "description": "Update Launch configuration copy Tags request.",
                    "type": "boolean"
                  },
                  "enableMapAutoTagging": {
                    "description": "Enable map auto tagging.",
                    "type": "boolean"
                  },
                  "launchDisposition": {
                    "description": "Update Launch configuration launch disposition request.",
                    "type": "string",
                    "enum": [
                      "STOPPED",
                      "STARTED"
                    ]
                  },
                  "licensing": {
                    "description": "Configure Licensing.",
                    "type": "object",
                    "properties": {
                      "osByol": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Configure BYOL OS licensing."
                          }
                        ]
                      }
                    }
                  },
                  "mapAutoTaggingMpeID": {
                    "description": "Launch configuration map auto tagging MPE ID.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "name": {
                    "description": "Update Launch configuration name request.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 128
                  },
                  "postLaunchActions": {
                    "description": "Post Launch Actions to executed on the Test or Cutover instance.",
                    "type": "object",
                    "properties": {
                      "cloudWatchLogGroupName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/CloudWatchLogGroupName"
                          },
                          {
                            "description": "AWS Systems Manager Command's CloudWatch log group name."
                          }
                        ]
                      },
                      "deployment": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PostLaunchActionsDeploymentType"
                          },
                          {
                            "description": "Deployment type in which AWS Systems Manager Documents will be executed."
                          }
                        ]
                      },
                      "s3LogBucket": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3LogBucketName"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 log bucket."
                          }
                        ]
                      },
                      "s3OutputKeyPrefix": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BoundedString"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 output key prefix."
                          }
                        ]
                      },
                      "ssmDocuments": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/SsmDocuments"
                          },
                          {
                            "description": "AWS Systems Manager Documents."
                          }
                        ]
                      }
                    }
                  },
                  "sourceServerID": {
                    "description": "Update Launch configuration by Source Server ID request.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  },
                  "targetInstanceTypeRightSizingMethod": {
                    "description": "Update Launch configuration Target instance right sizing request.",
                    "type": "string",
                    "enum": [
                      "NONE",
                      "BASIC"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateLaunchConfigurationTemplate": {
      "post": {
        "operationId": "UpdateLaunchConfigurationTemplate",
        "description": "Updates an existing Launch Configuration Template by ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LaunchConfigurationTemplate"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "launchConfigurationTemplateID"
                ],
                "properties": {
                  "associatePublicIpAddress": {
                    "description": "Associate public Ip address.",
                    "type": "boolean"
                  },
                  "bootMode": {
                    "description": "Launch configuration template boot mode.",
                    "type": "string",
                    "enum": [
                      "LEGACY_BIOS",
                      "UEFI"
                    ]
                  },
                  "copyPrivateIp": {
                    "description": "Copy private Ip.",
                    "type": "boolean"
                  },
                  "copyTags": {
                    "description": "Copy tags.",
                    "type": "boolean"
                  },
                  "enableMapAutoTagging": {
                    "description": "Enable map auto tagging.",
                    "type": "boolean"
                  },
                  "largeVolumeConf": {
                    "description": "Launch template disk configuration.",
                    "type": "object",
                    "properties": {
                      "iops": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk iops configuration."
                          }
                        ]
                      },
                      "throughput": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk throughput configuration."
                          }
                        ]
                      },
                      "volumeType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/VolumeType"
                          },
                          {
                            "description": "Launch template disk volume type configuration."
                          }
                        ]
                      }
                    }
                  },
                  "launchConfigurationTemplateID": {
                    "description": "Launch Configuration Template ID.",
                    "type": "string",
                    "pattern": "^lct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "launchDisposition": {
                    "description": "Launch disposition.",
                    "type": "string",
                    "enum": [
                      "STOPPED",
                      "STARTED"
                    ]
                  },
                  "licensing": {
                    "description": "Configure Licensing.",
                    "type": "object",
                    "properties": {
                      "osByol": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Boolean"
                          },
                          {
                            "description": "Configure BYOL OS licensing."
                          }
                        ]
                      }
                    }
                  },
                  "mapAutoTaggingMpeID": {
                    "description": "Launch configuration template map auto tagging MPE ID.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 256
                  },
                  "postLaunchActions": {
                    "description": "Post Launch Actions to executed on the Test or Cutover instance.",
                    "type": "object",
                    "properties": {
                      "cloudWatchLogGroupName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/CloudWatchLogGroupName"
                          },
                          {
                            "description": "AWS Systems Manager Command's CloudWatch log group name."
                          }
                        ]
                      },
                      "deployment": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PostLaunchActionsDeploymentType"
                          },
                          {
                            "description": "Deployment type in which AWS Systems Manager Documents will be executed."
                          }
                        ]
                      },
                      "s3LogBucket": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/S3LogBucketName"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 log bucket."
                          }
                        ]
                      },
                      "s3OutputKeyPrefix": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BoundedString"
                          },
                          {
                            "description": "AWS Systems Manager Command's logs S3 output key prefix."
                          }
                        ]
                      },
                      "ssmDocuments": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/SsmDocuments"
                          },
                          {
                            "description": "AWS Systems Manager Documents."
                          }
                        ]
                      }
                    }
                  },
                  "smallVolumeConf": {
                    "description": "Launch template disk configuration.",
                    "type": "object",
                    "properties": {
                      "iops": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk iops configuration."
                          }
                        ]
                      },
                      "throughput": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PositiveInteger"
                          },
                          {
                            "description": "Launch template disk throughput configuration."
                          }
                        ]
                      },
                      "volumeType": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/VolumeType"
                          },
                          {
                            "description": "Launch template disk volume type configuration."
                          }
                        ]
                      }
                    }
                  },
                  "smallVolumeMaxSize": {
                    "description": "Small volume maximum size.",
                    "type": "integer",
                    "minimum": 0
                  },
                  "targetInstanceTypeRightSizingMethod": {
                    "description": "Target instance type right-sizing method.",
                    "type": "string",
                    "enum": [
                      "NONE",
                      "BASIC"
                    ]
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateReplicationConfiguration": {
      "post": {
        "operationId": "UpdateReplicationConfiguration",
        "description": "Allows you to update multiple ReplicationConfigurations by Source Server ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplicationConfiguration"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          },
          "484": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "sourceServerID"
                ],
                "properties": {
                  "associateDefaultSecurityGroup": {
                    "description": "Update replication configuration associate default Application Migration Service Security group request.",
                    "type": "boolean"
                  },
                  "bandwidthThrottling": {
                    "description": "Update replication configuration bandwidth throttling request.",
                    "type": "integer",
                    "minimum": 0
                  },
                  "createPublicIP": {
                    "description": "Update replication configuration create Public IP request.",
                    "type": "boolean"
                  },
                  "dataPlaneRouting": {
                    "description": "Update replication configuration data plane routing request.",
                    "type": "string",
                    "enum": [
                      "PRIVATE_IP",
                      "PUBLIC_IP"
                    ]
                  },
                  "defaultLargeStagingDiskType": {
                    "description": "Update replication configuration use default large Staging Disk type request.",
                    "type": "string",
                    "enum": [
                      "GP2",
                      "ST1",
                      "GP3"
                    ]
                  },
                  "ebsEncryption": {
                    "description": "Update replication configuration EBS encryption request.",
                    "type": "string",
                    "enum": [
                      "DEFAULT",
                      "CUSTOM"
                    ]
                  },
                  "ebsEncryptionKeyArn": {
                    "description": "Update replication configuration EBS encryption key ARN request.",
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "name": {
                    "description": "Update replication configuration name request.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 128
                  },
                  "replicatedDisks": {
                    "description": "Update replication configuration replicated disks request.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/ReplicationConfigurationReplicatedDisk"
                    },
                    "minItems": 0,
                    "maxItems": 60
                  },
                  "replicationServerInstanceType": {
                    "description": "Update replication configuration Replication Server instance type request.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "replicationServersSecurityGroupsIDs": {
                    "description": "Update replication configuration Replication Server Security Groups IDs request.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SecurityGroupID"
                    },
                    "minItems": 0,
                    "maxItems": 32
                  },
                  "sourceServerID": {
                    "description": "Update replication configuration Source Server ID request.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  },
                  "stagingAreaSubnetId": {
                    "description": "Update replication configuration Staging Area subnet request.",
                    "type": "string",
                    "pattern": "^subnet-[0-9a-fA-F]{8,}$",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "stagingAreaTags": {
                    "description": "Update replication configuration Staging Area Tags request.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "useDedicatedReplicationServer": {
                    "description": "Update replication configuration use dedicated Replication Server request.",
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateReplicationConfigurationTemplate": {
      "post": {
        "operationId": "UpdateReplicationConfigurationTemplate",
        "description": "Updates multiple ReplicationConfigurationTemplates by ID.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReplicationConfigurationTemplate"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "AccessDeniedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessDeniedException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "replicationConfigurationTemplateID"
                ],
                "properties": {
                  "arn": {
                    "description": "Update replication configuration template ARN request.",
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "associateDefaultSecurityGroup": {
                    "description": "Update replication configuration template associate default Application Migration Service Security group request.",
                    "type": "boolean"
                  },
                  "bandwidthThrottling": {
                    "description": "Update replication configuration template bandwidth throttling request.",
                    "type": "integer",
                    "minimum": 0
                  },
                  "createPublicIP": {
                    "description": "Update replication configuration template create Public IP request.",
                    "type": "boolean"
                  },
                  "dataPlaneRouting": {
                    "description": "Update replication configuration template data plane routing request.",
                    "type": "string",
                    "enum": [
                      "PRIVATE_IP",
                      "PUBLIC_IP"
                    ]
                  },
                  "defaultLargeStagingDiskType": {
                    "description": "Update replication configuration template use default large Staging Disk type request.",
                    "type": "string",
                    "enum": [
                      "GP2",
                      "ST1",
                      "GP3"
                    ]
                  },
                  "ebsEncryption": {
                    "description": "Update replication configuration template EBS encryption request.",
                    "type": "string",
                    "enum": [
                      "DEFAULT",
                      "CUSTOM"
                    ]
                  },
                  "ebsEncryptionKeyArn": {
                    "description": "Update replication configuration template EBS encryption key ARN request.",
                    "type": "string",
                    "minLength": 20,
                    "maxLength": 2048
                  },
                  "replicationConfigurationTemplateID": {
                    "description": "Update replication configuration template template ID request.",
                    "type": "string",
                    "pattern": "^rct-[0-9a-zA-Z]{17}$",
                    "minLength": 21,
                    "maxLength": 21
                  },
                  "replicationServerInstanceType": {
                    "description": "Update replication configuration template Replication Server instance type request.",
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "replicationServersSecurityGroupsIDs": {
                    "description": "Update replication configuration template Replication Server Security groups IDs request.",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SecurityGroupID"
                    },
                    "minItems": 0,
                    "maxItems": 32
                  },
                  "stagingAreaSubnetId": {
                    "description": "Update replication configuration template Staging Area subnet ID request.",
                    "type": "string",
                    "pattern": "^subnet-[0-9a-fA-F]{8,}$",
                    "minLength": 0,
                    "maxLength": 255
                  },
                  "stagingAreaTags": {
                    "description": "Update replication configuration template Staging Area Tags request.",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "useDedicatedReplicationServer": {
                    "description": "Update replication configuration template use dedicated Replication Server request.",
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateSourceServerReplicationType": {
      "post": {
        "operationId": "UpdateSourceServerReplicationType",
        "description": "Allows you to change between the AGENT_BASED replication type and the SNAPSHOT_SHIPPING replication type.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SourceServer"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ValidationException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationException"
                }
              }
            }
          },
          "483": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "replicationType",
                  "sourceServerID"
                ],
                "properties": {
                  "replicationType": {
                    "description": "Replication type to which to update source server.",
                    "type": "string",
                    "enum": [
                      "AGENT_BASED",
                      "SNAPSHOT_SHIPPING"
                    ]
                  },
                  "sourceServerID": {
                    "description": "ID of source server on which to update replication type.",
                    "type": "string",
                    "pattern": "^s-[0-9a-zA-Z]{17}$",
                    "minLength": 19,
                    "maxLength": 19
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/UpdateWave": {
      "post": {
        "operationId": "UpdateWave",
        "description": "Update wave.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Wave"
                }
              }
            }
          },
          "480": {
            "description": "UninitializedAccountException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UninitializedAccountException"
                }
              }
            }
          },
          "481": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "ConflictException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConflictException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "waveID"
                ],
                "properties": {
                  "description": {
                    "description": "Wave description.",
                    "type": "string",
                    "pattern": "^[^\\x00]*$",
                    "minLength": 0,
                    "maxLength": 600
                  },
                  "name": {
                    "description": "Wave name.",
                    "type": "string",
                    "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "waveID": {
                    "description": "Wave ID.",
                    "type": "string",
                    "pattern": "^wave-[0-9a-zA-Z]{17}$",
                    "minLength": 22,
                    "maxLength": 22
                  }
                }
              }
            }
          }
        }
      },
      "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": {
      "Application": {
        "type": "object",
        "properties": {
          "applicationAggregatedStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationAggregatedStatus"
              },
              {
                "description": "Application aggregated status."
              }
            ]
          },
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          },
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Application ARN."
              }
            ]
          },
          "creationDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Application creation dateTime."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationDescription"
              },
              {
                "description": "Application description."
              }
            ]
          },
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Application archival status."
              }
            ]
          },
          "lastModifiedDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Application last modified dateTime."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationName"
              },
              {
                "description": "Application name."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Application tags."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Application wave ID."
              }
            ]
          }
        }
      },
      "UninitializedAccountException": {},
      "ResourceNotFoundException": {},
      "ServiceQuotaExceededException": {},
      "ConflictException": {},
      "Wave": {
        "type": "object",
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Wave ARN."
              }
            ]
          },
          "creationDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Wave creation dateTime."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveDescription"
              },
              {
                "description": "Wave description."
              }
            ]
          },
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Wave archival status."
              }
            ]
          },
          "lastModifiedDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Wave last modified dateTime."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveName"
              },
              {
                "description": "Wave name."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Wave tags."
              }
            ]
          },
          "waveAggregatedStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveAggregatedStatus"
              },
              {
                "description": "Wave aggregated status."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "AssociateApplicationsResponse": {
        "type": "object",
        "properties": {}
      },
      "ApplicationID": {
        "type": "string",
        "pattern": "^app-[0-9a-zA-Z]{17}$",
        "minLength": 21,
        "maxLength": 21
      },
      "AssociateSourceServersResponse": {
        "type": "object",
        "properties": {}
      },
      "SourceServerID": {
        "type": "string",
        "pattern": "^s-[0-9a-zA-Z]{17}$",
        "minLength": 19,
        "maxLength": 19
      },
      "SourceServer": {
        "type": "object",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Source server application ID."
              }
            ]
          },
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Source server ARN."
              }
            ]
          },
          "dataReplicationInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInfo"
              },
              {
                "description": "Source server data replication info."
              }
            ]
          },
          "fqdnForActionFramework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Source server fqdn for action framework."
              }
            ]
          },
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Source server archived status."
              }
            ]
          },
          "launchedInstance": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchedInstance"
              },
              {
                "description": "Source server launched instance."
              }
            ]
          },
          "lifeCycle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycle"
              },
              {
                "description": "Source server lifecycle state."
              }
            ]
          },
          "replicationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationType"
              },
              {
                "description": "Source server replication type."
              }
            ]
          },
          "sourceProperties": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceProperties"
              },
              {
                "description": "Source server properties."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Source server ID."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Source server Tags."
              }
            ]
          },
          "userProvidedID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Source server user provided ID."
              }
            ]
          },
          "vcenterClientID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcenterClientID"
              },
              {
                "description": "Source server vCenter client id."
              }
            ]
          }
        }
      },
      "ChangeServerLifeCycleStateSourceServerLifecycleState": {
        "type": "string",
        "enum": [
          "READY_FOR_TEST",
          "READY_FOR_CUTOVER",
          "CUTOVER"
        ]
      },
      "ValidationException": {},
      "TagValue": {
        "type": "string",
        "minLength": 0,
        "maxLength": 256
      },
      "LaunchConfigurationTemplate": {
        "type": "object",
        "required": [
          "launchConfigurationTemplateID"
        ],
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "ARN of the Launch Configuration Template."
              }
            ]
          },
          "associatePublicIpAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Associate public Ip address."
              }
            ]
          },
          "bootMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BootMode"
              },
              {
                "description": "Launch configuration template boot mode."
              }
            ]
          },
          "copyPrivateIp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy private Ip."
              }
            ]
          },
          "copyTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy tags."
              }
            ]
          },
          "ec2LaunchTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2LaunchConfigurationTemplateID"
              },
              {
                "description": "EC2 launch template ID."
              }
            ]
          },
          "enableMapAutoTagging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Enable map auto tagging."
              }
            ]
          },
          "largeVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Large volume config."
              }
            ]
          },
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "ID of the Launch Configuration Template."
              }
            ]
          },
          "launchDisposition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchDisposition"
              },
              {
                "description": "Launch disposition."
              }
            ]
          },
          "licensing": {
            "$ref": "#/components/schemas/Licensing"
          },
          "mapAutoTaggingMpeID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "Launch configuration template map auto tagging MPE ID."
              }
            ]
          },
          "postLaunchActions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActions"
              },
              {
                "description": "Post Launch Actions of the Launch Configuration Template."
              }
            ]
          },
          "smallVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Small volume config."
              }
            ]
          },
          "smallVolumeMaxSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Small volume maximum size."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags of the Launch Configuration Template."
              }
            ]
          },
          "targetInstanceTypeRightSizingMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetInstanceTypeRightSizingMethod"
              },
              {
                "description": "Target instance type right-sizing method."
              }
            ]
          }
        }
      },
      "PositiveInteger": {
        "type": "integer",
        "minimum": 0
      },
      "VolumeType": {
        "type": "string",
        "enum": [
          "io1",
          "io2",
          "gp3",
          "gp2",
          "st1",
          "sc1",
          "standard"
        ]
      },
      "Boolean": {
        "type": "boolean"
      },
      "CloudWatchLogGroupName": {
        "type": "string",
        "pattern": "^[\\.\\-_/#A-Za-z0-9]+$",
        "minLength": 1,
        "maxLength": 512
      },
      "PostLaunchActionsDeploymentType": {
        "type": "string",
        "enum": [
          "TEST_AND_CUTOVER",
          "CUTOVER_ONLY",
          "TEST_ONLY"
        ]
      },
      "S3LogBucketName": {
        "type": "string",
        "minLength": 3,
        "maxLength": 63
      },
      "BoundedString": {
        "type": "string",
        "minLength": 0,
        "maxLength": 256
      },
      "SsmDocuments": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SsmDocument"
        },
        "minItems": 0,
        "maxItems": 10
      },
      "AccessDeniedException": {},
      "ReplicationConfigurationTemplate": {
        "type": "object",
        "required": [
          "replicationConfigurationTemplateID"
        ],
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Replication Configuration template ARN."
              }
            ]
          },
          "associateDefaultSecurityGroup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration template associate default Application Migration Service Security group."
              }
            ]
          },
          "bandwidthThrottling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Replication Configuration template bandwidth throttling."
              }
            ]
          },
          "createPublicIP": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration template create Public IP."
              }
            ]
          },
          "dataPlaneRouting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDataPlaneRouting"
              },
              {
                "description": "Replication Configuration template data plane routing."
              }
            ]
          },
          "defaultLargeStagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDefaultLargeStagingDiskType"
              },
              {
                "description": "Replication Configuration template use default large Staging Disk type."
              }
            ]
          },
          "ebsEncryption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationEbsEncryption"
              },
              {
                "description": "Replication Configuration template EBS encryption."
              }
            ]
          },
          "ebsEncryptionKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Replication Configuration template EBS encryption key ARN."
              }
            ]
          },
          "replicationConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationTemplateID"
              },
              {
                "description": "Replication Configuration template ID."
              }
            ]
          },
          "replicationServerInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Replication Configuration template server instance type."
              }
            ]
          },
          "replicationServersSecurityGroupsIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationServersSecurityGroupsIDs"
              },
              {
                "description": "Replication Configuration template server Security Groups IDs."
              }
            ]
          },
          "stagingAreaSubnetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetID"
              },
              {
                "description": "Replication Configuration template Staging Area subnet ID."
              }
            ]
          },
          "stagingAreaTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Replication Configuration template Staging Area Tags."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Replication Configuration template Tags."
              }
            ]
          },
          "useDedicatedReplicationServer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration template use Dedicated Replication Server."
              }
            ]
          }
        }
      },
      "SecurityGroupID": {
        "type": "string",
        "pattern": "^sg-[0-9a-fA-F]{8,}$",
        "minLength": 0,
        "maxLength": 255
      },
      "DeleteApplicationResponse": {
        "type": "object",
        "properties": {}
      },
      "DeleteJobResponse": {
        "type": "object",
        "properties": {}
      },
      "DeleteLaunchConfigurationTemplateResponse": {
        "type": "object",
        "properties": {}
      },
      "DeleteReplicationConfigurationTemplateResponse": {
        "type": "object",
        "properties": {}
      },
      "DeleteSourceServerResponse": {
        "type": "object",
        "properties": {}
      },
      "DeleteWaveResponse": {
        "type": "object",
        "properties": {}
      },
      "DescribeJobLogItemsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobLogs"
              },
              {
                "description": "Request to describe Job log response items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe Job log response next token."
              }
            ]
          }
        }
      },
      "DescribeJobsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobsList"
              },
              {
                "description": "Request to describe Job log items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe Job response by next token."
              }
            ]
          }
        }
      },
      "ISO8601DatetimeString": {
        "type": "string",
        "pattern": "^[1-9][0-9]*-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?Z$",
        "minLength": 19,
        "maxLength": 32
      },
      "DescribeJobsRequestFiltersJobIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JobID"
        },
        "minItems": 0,
        "maxItems": 1000
      },
      "DescribeLaunchConfigurationTemplatesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplates"
              },
              {
                "description": "List of items returned by DescribeLaunchConfigurationTemplates."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next pagination token returned from DescribeLaunchConfigurationTemplates."
              }
            ]
          }
        }
      },
      "LaunchConfigurationTemplateID": {
        "type": "string",
        "pattern": "^lct-[0-9a-zA-Z]{17}$",
        "minLength": 21,
        "maxLength": 21
      },
      "DescribeReplicationConfigurationTemplatesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationTemplates"
              },
              {
                "description": "Request to describe Replication Configuration template by items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe Replication Configuration template by next token."
              }
            ]
          }
        }
      },
      "ReplicationConfigurationTemplateID": {
        "type": "string",
        "pattern": "^rct-[0-9a-zA-Z]{17}$",
        "minLength": 21,
        "maxLength": 21
      },
      "DescribeSourceServersResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServersList"
              },
              {
                "description": "Request to filter Source Servers list by item."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to filter Source Servers next token."
              }
            ]
          }
        }
      },
      "DescribeSourceServersRequestApplicationIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ApplicationID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "LifeCycleStates": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LifeCycleState"
        },
        "minItems": 0,
        "maxItems": 10
      },
      "ReplicationTypes": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReplicationType"
        },
        "minItems": 0,
        "maxItems": 2
      },
      "DescribeSourceServersRequestFiltersIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "DescribeVcenterClientsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcenterClientList"
              },
              {
                "description": "List of items returned by DescribeVcenterClients."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next pagination token returned from DescribeVcenterClients."
              }
            ]
          }
        }
      },
      "DisassociateApplicationsResponse": {
        "type": "object",
        "properties": {}
      },
      "DisassociateSourceServersResponse": {
        "type": "object",
        "properties": {}
      },
      "LaunchConfiguration": {
        "type": "object",
        "properties": {
          "bootMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BootMode"
              },
              {
                "description": "Launch configuration boot mode."
              }
            ]
          },
          "copyPrivateIp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy Private IP during Launch Configuration."
              }
            ]
          },
          "copyTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy Tags during Launch Configuration."
              }
            ]
          },
          "ec2LaunchTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Launch configuration EC2 Launch template ID."
              }
            ]
          },
          "enableMapAutoTagging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Enable map auto tagging."
              }
            ]
          },
          "launchDisposition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchDisposition"
              },
              {
                "description": "Launch disposition for launch configuration."
              }
            ]
          },
          "licensing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Licensing"
              },
              {
                "description": "Launch configuration OS licensing."
              }
            ]
          },
          "mapAutoTaggingMpeID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "Map auto tagging MPE ID."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmallBoundedString"
              },
              {
                "description": "Launch configuration name."
              }
            ]
          },
          "postLaunchActions": {
            "$ref": "#/components/schemas/PostLaunchActions"
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Launch configuration Source Server ID."
              }
            ]
          },
          "targetInstanceTypeRightSizingMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetInstanceTypeRightSizingMethod"
              },
              {
                "description": "Launch configuration Target instance type right sizing method."
              }
            ]
          }
        }
      },
      "ReplicationConfiguration": {
        "type": "object",
        "properties": {
          "associateDefaultSecurityGroup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration associate default Application Migration Service Security Group."
              }
            ]
          },
          "bandwidthThrottling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Replication Configuration set bandwidth throttling."
              }
            ]
          },
          "createPublicIP": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration create Public IP."
              }
            ]
          },
          "dataPlaneRouting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDataPlaneRouting"
              },
              {
                "description": "Replication Configuration data plane routing."
              }
            ]
          },
          "defaultLargeStagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDefaultLargeStagingDiskType"
              },
              {
                "description": "Replication Configuration use default large Staging Disks."
              }
            ]
          },
          "ebsEncryption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationEbsEncryption"
              },
              {
                "description": "Replication Configuration EBS encryption."
              }
            ]
          },
          "ebsEncryptionKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Replication Configuration EBS encryption key ARN."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmallBoundedString"
              },
              {
                "description": "Replication Configuration name."
              }
            ]
          },
          "replicatedDisks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationReplicatedDisks"
              },
              {
                "description": "Replication Configuration replicated disks."
              }
            ]
          },
          "replicationServerInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Replication Configuration Replication Server instance type."
              }
            ]
          },
          "replicationServersSecurityGroupsIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationServersSecurityGroupsIDs"
              },
              {
                "description": "Replication Configuration Replication Server Security Group IDs."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Replication Configuration Source Server ID."
              }
            ]
          },
          "stagingAreaSubnetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetID"
              },
              {
                "description": "Replication Configuration Staging Area subnet ID."
              }
            ]
          },
          "stagingAreaTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Replication Configuration Staging Area tags."
              }
            ]
          },
          "useDedicatedReplicationServer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration use Dedicated Replication Server."
              }
            ]
          }
        }
      },
      "InitializeServiceResponse": {
        "type": "object",
        "properties": {}
      },
      "ListApplicationsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationsList"
              },
              {
                "description": "Applications list."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Response next token."
              }
            ]
          }
        }
      },
      "ApplicationIDsFilter": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ApplicationID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "WaveIDsFilter": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/WaveID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "ListExportErrorsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportErrors"
              },
              {
                "description": "List export errors response items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List export errors response next token."
              }
            ]
          }
        },
        "description": "List export errors response."
      },
      "ListExportsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportsList"
              },
              {
                "description": "List export response items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List export response next token."
              }
            ]
          }
        },
        "description": "List export response."
      },
      "ListExportsRequestFiltersExportIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExportID"
        },
        "minItems": 0,
        "maxItems": 10
      },
      "ListImportErrorsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportErrors"
              },
              {
                "description": "List imports errors response items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List imports errors response next token."
              }
            ]
          }
        },
        "description": "List imports errors response."
      },
      "ListImportsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportList"
              },
              {
                "description": "List import response items."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List import response next token."
              }
            ]
          }
        },
        "description": "List import response."
      },
      "ImportIDsFilter": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImportID"
        },
        "minItems": 0,
        "maxItems": 10
      },
      "ListSourceServerActionsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerActionDocuments"
              },
              {
                "description": "List of source server post migration custom actions."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned when listing source server post migration custom actions."
              }
            ]
          }
        }
      },
      "ActionIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ActionID"
        },
        "minItems": 0,
        "maxItems": 100
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "List tags for resource response."
              }
            ]
          }
        }
      },
      "ThrottlingException": {},
      "InternalServerException": {},
      "ListTemplateActionsResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TemplateActionDocuments"
              },
              {
                "description": "List of template post migration custom actions."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token returned when listing template post migration custom actions."
              }
            ]
          }
        }
      },
      "ListWavesResponse": {
        "type": "object",
        "properties": {
          "items": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WavesList"
              },
              {
                "description": "Waves list."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Response next token."
              }
            ]
          }
        }
      },
      "SourceServerActionDocument": {
        "type": "object",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Source server post migration custom action ID."
              }
            ]
          },
          "actionName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionName"
              },
              {
                "description": "Source server post migration custom action name."
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Source server post migration custom action active status."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionCategory"
              },
              {
                "description": "Source server post migration custom action category."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "Source server post migration custom action description."
              }
            ]
          },
          "documentIdentifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Source server post migration custom action document identifier."
              }
            ]
          },
          "documentVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentVersion"
              },
              {
                "description": "Source server post migration custom action document version."
              }
            ]
          },
          "externalParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentExternalParameters"
              },
              {
                "description": "Source server post migration custom action external parameters."
              }
            ]
          },
          "mustSucceedForCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Source server post migration custom action must succeed for cutover."
              }
            ]
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              },
              {
                "description": "Source server post migration custom action order."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentParameters"
              },
              {
                "description": "Source server post migration custom action parameters."
              }
            ]
          },
          "timeoutSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StrictlyPositiveInteger"
              },
              {
                "description": "Source server post migration custom action timeout in seconds."
              }
            ]
          }
        }
      },
      "SsmExternalParameter": {
        "type": "object",
        "properties": {
          "dynamicPath": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JmesPathString"
              },
              {
                "description": "AWS Systems Manager Document external parameters dynamic path."
              }
            ]
          }
        },
        "description": "AWS Systems Manager Document external parameter."
      },
      "SsmParameterStoreParameters": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SsmParameterStoreParameter"
        },
        "minItems": 0,
        "maxItems": 10
      },
      "TemplateActionDocument": {
        "type": "object",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Template post migration custom action ID."
              }
            ]
          },
          "actionName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Template post migration custom action name."
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Template post migration custom action active status."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionCategory"
              },
              {
                "description": "Template post migration custom action category."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "Template post migration custom action description."
              }
            ]
          },
          "documentIdentifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Template post migration custom action document identifier."
              }
            ]
          },
          "documentVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentVersion"
              },
              {
                "description": "Template post migration custom action document version."
              }
            ]
          },
          "externalParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentExternalParameters"
              },
              {
                "description": "Template post migration custom action external parameters."
              }
            ]
          },
          "mustSucceedForCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Template post migration custom action must succeed for cutover."
              }
            ]
          },
          "operatingSystem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OperatingSystemString"
              },
              {
                "description": "Operating system eligible for this template post migration custom action."
              }
            ]
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              },
              {
                "description": "Template post migration custom action order."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentParameters"
              },
              {
                "description": "Template post migration custom action parameters."
              }
            ]
          },
          "timeoutSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StrictlyPositiveInteger"
              },
              {
                "description": "Template post migration custom action timeout in seconds."
              }
            ]
          }
        }
      },
      "RemoveSourceServerActionResponse": {
        "type": "object",
        "properties": {}
      },
      "RemoveTemplateActionResponse": {
        "type": "object",
        "properties": {}
      },
      "StartCutoverResponse": {
        "type": "object",
        "properties": {
          "job": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Job"
              },
              {
                "description": "Start Cutover Job response."
              }
            ]
          }
        }
      },
      "StartExportResponse": {
        "type": "object",
        "properties": {
          "exportTask": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportTask"
              },
              {
                "description": "Start export response export task."
              }
            ]
          }
        },
        "description": "Start export response."
      },
      "StartImportResponse": {
        "type": "object",
        "properties": {
          "importTask": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportTask"
              },
              {
                "description": "Start import response import task."
              }
            ]
          }
        },
        "description": "Start import response."
      },
      "S3BucketName": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9.\\-_]{1,255}$"
      },
      "AccountID": {
        "type": "string",
        "pattern": "[0-9]{12,}",
        "minLength": 12,
        "maxLength": 12
      },
      "S3Key": {
        "type": "string",
        "pattern": "^[^\\x00]{1,1020}\\.csv$"
      },
      "StartTestResponse": {
        "type": "object",
        "properties": {
          "job": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Job"
              },
              {
                "description": "Start Test Job response."
              }
            ]
          }
        }
      },
      "TerminateTargetInstancesResponse": {
        "type": "object",
        "properties": {
          "job": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Job"
              },
              {
                "description": "Terminate Target instance Job response."
              }
            ]
          }
        }
      },
      "TagKey": {
        "type": "string",
        "minLength": 0,
        "maxLength": 256
      },
      "ReplicationConfigurationReplicatedDisk": {
        "type": "object",
        "properties": {
          "deviceName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Replication Configuration replicated disk device name."
              }
            ]
          },
          "iops": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Replication Configuration replicated disk IOPs."
              }
            ]
          },
          "isBootDisk": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Replication Configuration replicated disk boot disk."
              }
            ]
          },
          "stagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationReplicatedDiskStagingDiskType"
              },
              {
                "description": "Replication Configuration replicated disk staging disk type."
              }
            ]
          },
          "throughput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Replication Configuration replicated disk throughput."
              }
            ]
          }
        },
        "description": "Replication Configuration replicated disk."
      },
      "ARN": {
        "type": "string",
        "minLength": 20,
        "maxLength": 2048
      },
      "ActionCategory": {
        "type": "string",
        "enum": [
          "DISASTER_RECOVERY",
          "OPERATING_SYSTEM",
          "LICENSE_AND_SUBSCRIPTION",
          "VALIDATION",
          "OBSERVABILITY",
          "SECURITY",
          "NETWORKING",
          "CONFIGURATION",
          "BACKUP",
          "OTHER"
        ]
      },
      "ActionDescription": {
        "type": "string",
        "pattern": "^[0-9a-zA-Z ():/.,'-_#*; ]*$",
        "minLength": 0,
        "maxLength": 256
      },
      "ActionID": {
        "type": "string",
        "pattern": "[0-9a-zA-Z]$",
        "minLength": 1,
        "maxLength": 64
      },
      "ActionName": {
        "type": "string",
        "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
        "minLength": 1,
        "maxLength": 256
      },
      "ApplicationAggregatedStatus": {
        "type": "object",
        "properties": {
          "healthStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationHealthStatus"
              },
              {
                "description": "Application aggregated status health status."
              }
            ]
          },
          "lastUpdateDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Application aggregated status last update dateTime."
              }
            ]
          },
          "progressStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationProgressStatus"
              },
              {
                "description": "Application aggregated status progress status."
              }
            ]
          },
          "totalSourceServers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Application aggregated status total source servers amount."
              }
            ]
          }
        },
        "description": "Application aggregated status."
      },
      "ApplicationDescription": {
        "type": "string",
        "pattern": "^[^\\x00]*$",
        "minLength": 0,
        "maxLength": 600
      },
      "ApplicationName": {
        "type": "string",
        "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
        "minLength": 1,
        "maxLength": 256
      },
      "TagsMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/TagValue"
        }
      },
      "WaveID": {
        "type": "string",
        "pattern": "^wave-[0-9a-zA-Z]{17}$",
        "minLength": 22,
        "maxLength": 22
      },
      "ApplicationHealthStatus": {
        "type": "string",
        "enum": [
          "HEALTHY",
          "LAGGING",
          "ERROR"
        ]
      },
      "ApplicationProgressStatus": {
        "type": "string",
        "enum": [
          "NOT_STARTED",
          "IN_PROGRESS",
          "COMPLETED"
        ]
      },
      "ApplicationIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ApplicationID"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "ApplicationsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Application"
        }
      },
      "ArchiveApplicationRequest": {
        "type": "object",
        "required": [
          "applicationID"
        ],
        "title": "ArchiveApplicationRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          }
        }
      },
      "ArchiveWaveRequest": {
        "type": "object",
        "required": [
          "waveID"
        ],
        "title": "ArchiveWaveRequest",
        "properties": {
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "AssociateApplicationsRequest": {
        "type": "object",
        "required": [
          "applicationIDs",
          "waveID"
        ],
        "title": "AssociateApplicationsRequest",
        "properties": {
          "applicationIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationIDs"
              },
              {
                "description": "Application IDs list."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "AssociateSourceServersRequestSourceServerIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "AssociateSourceServersRequest": {
        "type": "object",
        "required": [
          "applicationID",
          "sourceServerIDs"
        ],
        "title": "AssociateSourceServersRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          },
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AssociateSourceServersRequestSourceServerIDs"
              },
              {
                "description": "Source server IDs list."
              }
            ]
          }
        }
      },
      "BootMode": {
        "type": "string",
        "enum": [
          "LEGACY_BIOS",
          "UEFI"
        ]
      },
      "CPU": {
        "type": "object",
        "properties": {
          "cores": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "The number of CPU cores on the source server."
              }
            ]
          },
          "modelName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "The source server's CPU model name."
              }
            ]
          }
        },
        "description": "Source server CPU information."
      },
      "ChangeServerLifeCycleStateSourceServerLifecycle": {
        "type": "object",
        "required": [
          "state"
        ],
        "properties": {
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChangeServerLifeCycleStateSourceServerLifecycleState"
              },
              {
                "description": "The request to change the source server migration lifecycle state."
              }
            ]
          }
        },
        "description": "The request to change the source server migration lifecycle state."
      },
      "ChangeServerLifeCycleStateRequest": {
        "type": "object",
        "required": [
          "lifeCycle",
          "sourceServerID"
        ],
        "title": "ChangeServerLifeCycleStateRequest",
        "properties": {
          "lifeCycle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ChangeServerLifeCycleStateSourceServerLifecycle"
              },
              {
                "description": "The request to change the source server migration lifecycle state."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "The request to change the source server migration lifecycle state by source server ID."
              }
            ]
          }
        }
      },
      "ClientIdempotencyToken": {
        "type": "string",
        "minLength": 0,
        "maxLength": 64
      },
      "Cpus": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CPU"
        },
        "minItems": 0,
        "maxItems": 256
      },
      "CreateApplicationRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateApplicationRequest",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationDescription"
              },
              {
                "description": "Application description."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationName"
              },
              {
                "description": "Application name."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Application tags."
              }
            ]
          }
        }
      },
      "LaunchTemplateDiskConf": {
        "type": "object",
        "properties": {
          "iops": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Launch template disk iops configuration."
              }
            ]
          },
          "throughput": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Launch template disk throughput configuration."
              }
            ]
          },
          "volumeType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeType"
              },
              {
                "description": "Launch template disk volume type configuration."
              }
            ]
          }
        },
        "description": "Launch template disk configuration."
      },
      "LaunchDisposition": {
        "type": "string",
        "enum": [
          "STOPPED",
          "STARTED"
        ]
      },
      "Licensing": {
        "type": "object",
        "properties": {
          "osByol": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Configure BYOL OS licensing."
              }
            ]
          }
        },
        "description": "Configure Licensing."
      },
      "PostLaunchActions": {
        "type": "object",
        "properties": {
          "cloudWatchLogGroupName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CloudWatchLogGroupName"
              },
              {
                "description": "AWS Systems Manager Command's CloudWatch log group name."
              }
            ]
          },
          "deployment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActionsDeploymentType"
              },
              {
                "description": "Deployment type in which AWS Systems Manager Documents will be executed."
              }
            ]
          },
          "s3LogBucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3LogBucketName"
              },
              {
                "description": "AWS Systems Manager Command's logs S3 log bucket."
              }
            ]
          },
          "s3OutputKeyPrefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "AWS Systems Manager Command's logs S3 output key prefix."
              }
            ]
          },
          "ssmDocuments": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocuments"
              },
              {
                "description": "AWS Systems Manager Documents."
              }
            ]
          }
        },
        "description": "Post Launch Actions to executed on the Test or Cutover instance."
      },
      "TargetInstanceTypeRightSizingMethod": {
        "type": "string",
        "enum": [
          "NONE",
          "BASIC"
        ]
      },
      "CreateLaunchConfigurationTemplateRequest": {
        "type": "object",
        "title": "CreateLaunchConfigurationTemplateRequest",
        "properties": {
          "associatePublicIpAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Associate public Ip address."
              }
            ]
          },
          "bootMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BootMode"
              },
              {
                "description": "Launch configuration template boot mode."
              }
            ]
          },
          "copyPrivateIp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy private Ip."
              }
            ]
          },
          "copyTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy tags."
              }
            ]
          },
          "enableMapAutoTagging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Enable map auto tagging."
              }
            ]
          },
          "largeVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Large volume config."
              }
            ]
          },
          "launchDisposition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchDisposition"
              },
              {
                "description": "Launch disposition."
              }
            ]
          },
          "licensing": {
            "$ref": "#/components/schemas/Licensing"
          },
          "mapAutoTaggingMpeID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "Launch configuration template map auto tagging MPE ID."
              }
            ]
          },
          "postLaunchActions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActions"
              },
              {
                "description": "Launch configuration template post launch actions."
              }
            ]
          },
          "smallVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Small volume config."
              }
            ]
          },
          "smallVolumeMaxSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Small volume maximum size."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Request to associate tags during creation of a Launch Configuration Template."
              }
            ]
          },
          "targetInstanceTypeRightSizingMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetInstanceTypeRightSizingMethod"
              },
              {
                "description": "Target instance type right-sizing method."
              }
            ]
          }
        }
      },
      "ReplicationConfigurationDataPlaneRouting": {
        "type": "string",
        "enum": [
          "PRIVATE_IP",
          "PUBLIC_IP"
        ]
      },
      "ReplicationConfigurationDefaultLargeStagingDiskType": {
        "type": "string",
        "enum": [
          "GP2",
          "ST1",
          "GP3"
        ]
      },
      "ReplicationConfigurationEbsEncryption": {
        "type": "string",
        "enum": [
          "DEFAULT",
          "CUSTOM"
        ]
      },
      "EC2InstanceType": {
        "type": "string",
        "minLength": 0,
        "maxLength": 255
      },
      "ReplicationServersSecurityGroupsIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SecurityGroupID"
        },
        "minItems": 0,
        "maxItems": 32
      },
      "SubnetID": {
        "type": "string",
        "pattern": "^subnet-[0-9a-fA-F]{8,}$",
        "minLength": 0,
        "maxLength": 255
      },
      "CreateReplicationConfigurationTemplateRequest": {
        "type": "object",
        "required": [
          "associateDefaultSecurityGroup",
          "bandwidthThrottling",
          "createPublicIP",
          "dataPlaneRouting",
          "defaultLargeStagingDiskType",
          "ebsEncryption",
          "replicationServerInstanceType",
          "replicationServersSecurityGroupsIDs",
          "stagingAreaSubnetId",
          "stagingAreaTags",
          "useDedicatedReplicationServer"
        ],
        "title": "CreateReplicationConfigurationTemplateRequest",
        "properties": {
          "associateDefaultSecurityGroup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Request to associate the default Application Migration Service Security group with the Replication Settings template."
              }
            ]
          },
          "bandwidthThrottling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Request to configure bandwidth throttling during Replication Settings template creation."
              }
            ]
          },
          "createPublicIP": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Request to create Public IP during Replication Settings template creation."
              }
            ]
          },
          "dataPlaneRouting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDataPlaneRouting"
              },
              {
                "description": "Request to configure data plane routing during Replication Settings template creation."
              }
            ]
          },
          "defaultLargeStagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDefaultLargeStagingDiskType"
              },
              {
                "description": "Request to configure the default large staging disk EBS volume type during Replication Settings template creation."
              }
            ]
          },
          "ebsEncryption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationEbsEncryption"
              },
              {
                "description": "Request to configure EBS encryption during Replication Settings template creation."
              }
            ]
          },
          "ebsEncryptionKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Request to configure an EBS encryption key during Replication Settings template creation."
              }
            ]
          },
          "replicationServerInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Request to configure the Replication Server instance type during Replication Settings template creation."
              }
            ]
          },
          "replicationServersSecurityGroupsIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationServersSecurityGroupsIDs"
              },
              {
                "description": "Request to configure the Replication Server Security group ID during Replication Settings template creation."
              }
            ]
          },
          "stagingAreaSubnetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetID"
              },
              {
                "description": "Request to configure the Staging Area subnet ID during Replication Settings template creation."
              }
            ]
          },
          "stagingAreaTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Request to configure Staging Area tags during Replication Settings template creation."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Request to configure tags during Replication Settings template creation."
              }
            ]
          },
          "useDedicatedReplicationServer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Request to use Dedicated Replication Servers during Replication Settings template creation."
              }
            ]
          }
        }
      },
      "WaveDescription": {
        "type": "string",
        "pattern": "^[^\\x00]*$",
        "minLength": 0,
        "maxLength": 600
      },
      "WaveName": {
        "type": "string",
        "pattern": "^[^\\s\\x00]( *[^\\s\\x00])*$",
        "minLength": 1,
        "maxLength": 256
      },
      "CreateWaveRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateWaveRequest",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveDescription"
              },
              {
                "description": "Wave description."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveName"
              },
              {
                "description": "Wave name."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Wave tags."
              }
            ]
          }
        }
      },
      "DataReplicationErrorString": {
        "type": "string",
        "enum": [
          "AGENT_NOT_SEEN",
          "SNAPSHOTS_FAILURE",
          "NOT_CONVERGING",
          "UNSTABLE_NETWORK",
          "FAILED_TO_CREATE_SECURITY_GROUP",
          "FAILED_TO_LAUNCH_REPLICATION_SERVER",
          "FAILED_TO_BOOT_REPLICATION_SERVER",
          "FAILED_TO_AUTHENTICATE_WITH_SERVICE",
          "FAILED_TO_DOWNLOAD_REPLICATION_SOFTWARE",
          "FAILED_TO_CREATE_STAGING_DISKS",
          "FAILED_TO_ATTACH_STAGING_DISKS",
          "FAILED_TO_PAIR_REPLICATION_SERVER_WITH_AGENT",
          "FAILED_TO_CONNECT_AGENT_TO_REPLICATION_SERVER",
          "FAILED_TO_START_DATA_TRANSFER",
          "UNSUPPORTED_VM_CONFIGURATION",
          "LAST_SNAPSHOT_JOB_FAILED"
        ]
      },
      "LargeBoundedString": {
        "type": "string",
        "minLength": 0,
        "maxLength": 65536
      },
      "DataReplicationError": {
        "type": "object",
        "properties": {
          "error": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationErrorString"
              },
              {
                "description": "Error in data replication."
              }
            ]
          },
          "rawError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LargeBoundedString"
              },
              {
                "description": "Error in data replication."
              }
            ]
          }
        },
        "description": "Error in data replication."
      },
      "DataReplicationInitiation": {
        "type": "object",
        "properties": {
          "nextAttemptDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to query next data initiation date and time."
              }
            ]
          },
          "startDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to query data initiation start date and time."
              }
            ]
          },
          "steps": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInitiationSteps"
              },
              {
                "description": "Request to query data initiation steps."
              }
            ]
          }
        },
        "description": "Data replication initiation."
      },
      "DataReplicationState": {
        "type": "string",
        "enum": [
          "STOPPED",
          "INITIATING",
          "INITIAL_SYNC",
          "BACKLOG",
          "CREATING_SNAPSHOT",
          "CONTINUOUS",
          "PAUSED",
          "RESCAN",
          "STALLED",
          "DISCONNECTED",
          "PENDING_SNAPSHOT_SHIPPING",
          "SHIPPING_SNAPSHOT"
        ]
      },
      "ISO8601DurationString": {
        "type": "string",
        "minLength": 1,
        "maxLength": 64
      },
      "DataReplicationInfoReplicatedDisks": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DataReplicationInfoReplicatedDisk"
        },
        "minItems": 0,
        "maxItems": 60
      },
      "DataReplicationInfo": {
        "type": "object",
        "properties": {
          "dataReplicationError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationError"
              },
              {
                "description": "Error in obtaining data replication info."
              }
            ]
          },
          "dataReplicationInitiation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInitiation"
              },
              {
                "description": "Request to query whether data replication has been initiated."
              }
            ]
          },
          "dataReplicationState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationState"
              },
              {
                "description": "Request to query the data replication state."
              }
            ]
          },
          "etaDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to query the time when data replication will be complete."
              }
            ]
          },
          "lagDuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DurationString"
              },
              {
                "description": "Request to query data replication lag duration."
              }
            ]
          },
          "lastSnapshotDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to query data replication last snapshot time."
              }
            ]
          },
          "replicatedDisks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInfoReplicatedDisks"
              },
              {
                "description": "Request to query disks replicated."
              }
            ]
          }
        },
        "description": "Request data replication info."
      },
      "DataReplicationInfoReplicatedDisk": {
        "type": "object",
        "properties": {
          "backloggedStorageBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Request to query data replication backlog size in bytes."
              }
            ]
          },
          "deviceName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Request to query device name."
              }
            ]
          },
          "replicatedStorageBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Request to query amount of data replicated in bytes."
              }
            ]
          },
          "rescannedStorageBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Request to query amount of data rescanned in bytes."
              }
            ]
          },
          "totalStorageBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Request to query total amount of data replicated in bytes."
              }
            ]
          }
        },
        "description": "Request to query disks replicated."
      },
      "DataReplicationInitiationSteps": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DataReplicationInitiationStep"
        }
      },
      "DataReplicationInitiationStepName": {
        "type": "string",
        "enum": [
          "WAIT",
          "CREATE_SECURITY_GROUP",
          "LAUNCH_REPLICATION_SERVER",
          "BOOT_REPLICATION_SERVER",
          "AUTHENTICATE_WITH_SERVICE",
          "DOWNLOAD_REPLICATION_SOFTWARE",
          "CREATE_STAGING_DISKS",
          "ATTACH_STAGING_DISKS",
          "PAIR_REPLICATION_SERVER_WITH_AGENT",
          "CONNECT_AGENT_TO_REPLICATION_SERVER",
          "START_DATA_TRANSFER"
        ]
      },
      "DataReplicationInitiationStepStatus": {
        "type": "string",
        "enum": [
          "NOT_STARTED",
          "IN_PROGRESS",
          "SUCCEEDED",
          "FAILED",
          "SKIPPED"
        ]
      },
      "DataReplicationInitiationStep": {
        "type": "object",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInitiationStepName"
              },
              {
                "description": "Request to query data initiation step name."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataReplicationInitiationStepStatus"
              },
              {
                "description": "Request to query data initiation status."
              }
            ]
          }
        },
        "description": "Data replication initiation step."
      },
      "DeleteApplicationRequest": {
        "type": "object",
        "required": [
          "applicationID"
        ],
        "title": "DeleteApplicationRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          }
        }
      },
      "JobID": {
        "type": "string",
        "pattern": "^mgnjob-[0-9a-zA-Z]{17}$",
        "minLength": 24,
        "maxLength": 24
      },
      "DeleteJobRequest": {
        "type": "object",
        "required": [
          "jobID"
        ],
        "title": "DeleteJobRequest",
        "properties": {
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Request to delete Job from service by Job ID."
              }
            ]
          }
        }
      },
      "DeleteLaunchConfigurationTemplateRequest": {
        "type": "object",
        "required": [
          "launchConfigurationTemplateID"
        ],
        "title": "DeleteLaunchConfigurationTemplateRequest",
        "properties": {
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "ID of resource to be deleted."
              }
            ]
          }
        }
      },
      "DeleteReplicationConfigurationTemplateRequest": {
        "type": "object",
        "required": [
          "replicationConfigurationTemplateID"
        ],
        "title": "DeleteReplicationConfigurationTemplateRequest",
        "properties": {
          "replicationConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationTemplateID"
              },
              {
                "description": "Request to delete Replication Configuration Template from service by Replication Configuration Template ID."
              }
            ]
          }
        }
      },
      "DeleteSourceServerRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "DeleteSourceServerRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Request to delete Source Server from service by Server ID."
              }
            ]
          }
        }
      },
      "VcenterClientID": {
        "type": "string",
        "pattern": "^vcc-[0-9a-zA-Z]{17}$",
        "minLength": 21,
        "maxLength": 21
      },
      "DeleteVcenterClientRequest": {
        "type": "object",
        "required": [
          "vcenterClientID"
        ],
        "title": "DeleteVcenterClientRequest",
        "properties": {
          "vcenterClientID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcenterClientID"
              },
              {
                "description": "ID of resource to be deleted."
              }
            ]
          }
        }
      },
      "DeleteWaveRequest": {
        "type": "object",
        "required": [
          "waveID"
        ],
        "title": "DeleteWaveRequest",
        "properties": {
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "MaxResultsType": {
        "type": "integer",
        "minimum": 1,
        "maximum": 1000
      },
      "PaginationToken": {
        "type": "string",
        "minLength": 0,
        "maxLength": 2048
      },
      "DescribeJobLogItemsRequest": {
        "type": "object",
        "required": [
          "jobID"
        ],
        "title": "DescribeJobLogItemsRequest",
        "properties": {
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Request to describe Job log job ID."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Request to describe Job log item maximum results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe Job log next token."
              }
            ]
          }
        }
      },
      "JobLogs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JobLog"
        }
      },
      "DescribeJobsRequestFilters": {
        "type": "object",
        "properties": {
          "fromDate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to describe Job log filters by date."
              }
            ]
          },
          "jobIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DescribeJobsRequestFiltersJobIDs"
              },
              {
                "description": "Request to describe Job log filters by job ID."
              }
            ]
          },
          "toDate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Request to describe job log items by last date."
              }
            ]
          }
        },
        "description": "Request to describe Job log filters."
      },
      "DescribeJobsRequest": {
        "type": "object",
        "title": "DescribeJobsRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DescribeJobsRequestFilters"
              },
              {
                "description": "Request to describe Job log filters."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Request to describe job log items by max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe job log items by next token."
              }
            ]
          }
        }
      },
      "JobsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Job"
        }
      },
      "LaunchConfigurationTemplateIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "DescribeLaunchConfigurationTemplatesRequest": {
        "type": "object",
        "title": "DescribeLaunchConfigurationTemplatesRequest",
        "properties": {
          "launchConfigurationTemplateIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateIDs"
              },
              {
                "description": "Request to filter Launch Configuration Templates list by Launch Configuration Template ID."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Maximum results to be returned in DescribeLaunchConfigurationTemplates."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next pagination token returned from DescribeLaunchConfigurationTemplates."
              }
            ]
          }
        }
      },
      "LaunchConfigurationTemplates": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/LaunchConfigurationTemplate"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "ReplicationConfigurationTemplateIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReplicationConfigurationTemplateID"
        },
        "minItems": 0,
        "maxItems": 200
      },
      "DescribeReplicationConfigurationTemplatesRequest": {
        "type": "object",
        "title": "DescribeReplicationConfigurationTemplatesRequest",
        "properties": {
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Request to describe Replication Configuration template by max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to describe Replication Configuration template by next token."
              }
            ]
          },
          "replicationConfigurationTemplateIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationTemplateIDs"
              },
              {
                "description": "Request to describe Replication Configuration template by template IDs."
              }
            ]
          }
        }
      },
      "ReplicationConfigurationTemplates": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReplicationConfigurationTemplate"
        }
      },
      "DescribeSourceServersRequestFilters": {
        "type": "object",
        "properties": {
          "applicationIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DescribeSourceServersRequestApplicationIDs"
              },
              {
                "description": "Request to filter Source Servers list by application IDs."
              }
            ]
          },
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Request to filter Source Servers list by archived."
              }
            ]
          },
          "lifeCycleStates": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleStates"
              },
              {
                "description": "Request to filter Source Servers list by life cycle states."
              }
            ]
          },
          "replicationTypes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationTypes"
              },
              {
                "description": "Request to filter Source Servers list by replication type."
              }
            ]
          },
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DescribeSourceServersRequestFiltersIDs"
              },
              {
                "description": "Request to filter Source Servers list by Source Server ID."
              }
            ]
          }
        },
        "description": "Request to filter Source Servers list."
      },
      "DescribeSourceServersRequest": {
        "type": "object",
        "title": "DescribeSourceServersRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DescribeSourceServersRequestFilters"
              },
              {
                "description": "Request to filter Source Servers list."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Request to filter Source Servers list by maximum results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request to filter Source Servers list by next token."
              }
            ]
          }
        }
      },
      "SourceServersList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServer"
        }
      },
      "DescribeVcenterClientsRequest": {
        "type": "object",
        "title": "DescribeVcenterClientsRequest",
        "properties": {}
      },
      "VcenterClientList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/VcenterClient"
        }
      },
      "DisassociateApplicationsRequest": {
        "type": "object",
        "required": [
          "applicationIDs",
          "waveID"
        ],
        "title": "DisassociateApplicationsRequest",
        "properties": {
          "applicationIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationIDs"
              },
              {
                "description": "Application IDs list."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "DisassociateSourceServersRequestSourceServerIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "DisassociateSourceServersRequest": {
        "type": "object",
        "required": [
          "applicationID",
          "sourceServerIDs"
        ],
        "title": "DisassociateSourceServersRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          },
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisassociateSourceServersRequestSourceServerIDs"
              },
              {
                "description": "Source server IDs list."
              }
            ]
          }
        }
      },
      "DisconnectFromServiceRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "DisconnectFromServiceRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Request to disconnect Source Server from service by Server ID."
              }
            ]
          }
        }
      },
      "Disk": {
        "type": "object",
        "properties": {
          "bytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "The amount of storage on the disk in bytes."
              }
            ]
          },
          "deviceName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "The disk or device name."
              }
            ]
          }
        },
        "description": "The disk identifier."
      },
      "Disks": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Disk"
        },
        "minItems": 0,
        "maxItems": 1000
      },
      "DocumentVersion": {
        "type": "string",
        "pattern": "^(\\$DEFAULT|\\$LATEST|[0-9]+)$"
      },
      "EC2InstanceID": {
        "type": "string",
        "pattern": "^i-[0-9a-fA-F]{8,}$",
        "minLength": 0,
        "maxLength": 255
      },
      "EC2LaunchConfigurationTemplateID": {
        "type": "string",
        "pattern": "^lt-[0-9a-z]{17}$",
        "minLength": 20,
        "maxLength": 20
      },
      "ExportErrorData": {
        "type": "object",
        "properties": {
          "rawError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LargeBoundedString"
              },
              {
                "description": "Export errors data raw error."
              }
            ]
          }
        },
        "description": "Export errors data."
      },
      "ExportTaskError": {
        "type": "object",
        "properties": {
          "errorData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportErrorData"
              },
              {
                "description": "Export task error data."
              }
            ]
          },
          "errorDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Export task error datetime."
              }
            ]
          }
        },
        "description": "Export task error."
      },
      "ExportErrors": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExportTaskError"
        }
      },
      "ExportID": {
        "type": "string",
        "pattern": "^export-[0-9a-zA-Z]{17}$",
        "minLength": 24,
        "maxLength": 24
      },
      "ExportStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "STARTED",
          "FAILED",
          "SUCCEEDED"
        ]
      },
      "Float": {
        "type": "number",
        "format": "float"
      },
      "ExportTaskSummary": {
        "type": "object",
        "properties": {
          "applicationsCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Export task summary applications count."
              }
            ]
          },
          "serversCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Export task summary servers count."
              }
            ]
          },
          "wavesCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Export task summary waves count."
              }
            ]
          }
        },
        "description": "Export task summary."
      },
      "ExportTask": {
        "type": "object",
        "properties": {
          "creationDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Export task creation datetime."
              }
            ]
          },
          "endDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Export task end datetime."
              }
            ]
          },
          "exportID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportID"
              },
              {
                "description": "Export task id."
              }
            ]
          },
          "progressPercentage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Float"
              },
              {
                "description": "Export task progress percentage."
              }
            ]
          },
          "s3Bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "Export task s3 bucket."
              }
            ]
          },
          "s3BucketOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountID"
              },
              {
                "description": "Export task s3 bucket owner."
              }
            ]
          },
          "s3Key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Key"
              },
              {
                "description": "Export task s3 key."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportStatus"
              },
              {
                "description": "Export task status."
              }
            ]
          },
          "summary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportTaskSummary"
              },
              {
                "description": "Export task summary."
              }
            ]
          }
        },
        "description": "Export task."
      },
      "ExportsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ExportTask"
        }
      },
      "FinalizeCutoverRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "FinalizeCutoverRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Request to finalize Cutover by Source Server ID."
              }
            ]
          }
        }
      },
      "FirstBoot": {
        "type": "string",
        "enum": [
          "WAITING",
          "SUCCEEDED",
          "UNKNOWN",
          "STOPPED"
        ]
      },
      "GetLaunchConfigurationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "GetLaunchConfigurationRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Request to get Launch Configuration information by Source Server ID."
              }
            ]
          }
        }
      },
      "GetReplicationConfigurationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "GetReplicationConfigurationRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Request to get Replication Configuration by Source Server ID."
              }
            ]
          }
        }
      },
      "IPsList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BoundedString"
        }
      },
      "IdentificationHints": {
        "type": "object",
        "properties": {
          "awsInstanceID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceID"
              },
              {
                "description": "AWS Instance ID identification hint."
              }
            ]
          },
          "fqdn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "FQDN address identification hint."
              }
            ]
          },
          "hostname": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Hostname identification hint."
              }
            ]
          },
          "vmPath": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "vCenter VM path identification hint."
              }
            ]
          },
          "vmWareUuid": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "vmWare UUID identification hint."
              }
            ]
          }
        },
        "description": "Identification hints."
      },
      "ImportErrorData": {
        "type": "object",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Import error data application ID."
              }
            ]
          },
          "ec2LaunchTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Import error data ec2 LaunchTemplate ID."
              }
            ]
          },
          "rawError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LargeBoundedString"
              },
              {
                "description": "Import error data raw error."
              }
            ]
          },
          "rowNumber": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import error data row number."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Import error data source server ID."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Import error data wave id."
              }
            ]
          }
        },
        "description": "Import error data."
      },
      "ImportErrorType": {
        "type": "string",
        "enum": [
          "VALIDATION_ERROR",
          "PROCESSING_ERROR"
        ]
      },
      "ImportTaskError": {
        "type": "object",
        "properties": {
          "errorData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportErrorData"
              },
              {
                "description": "Import task error data."
              }
            ]
          },
          "errorDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Import task error datetime."
              }
            ]
          },
          "errorType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportErrorType"
              },
              {
                "description": "Import task error type."
              }
            ]
          }
        },
        "description": "Import task error."
      },
      "ImportErrors": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImportTaskError"
        }
      },
      "ImportID": {
        "type": "string",
        "pattern": "^import-[0-9a-zA-Z]{17}$",
        "minLength": 24,
        "maxLength": 24
      },
      "ImportTask": {
        "type": "object",
        "properties": {
          "creationDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Import task creation datetime."
              }
            ]
          },
          "endDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Import task end datetime."
              }
            ]
          },
          "importID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportID"
              },
              {
                "description": "Import task id."
              }
            ]
          },
          "progressPercentage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Float"
              },
              {
                "description": "Import task progress percentage."
              }
            ]
          },
          "s3BucketSource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketSource"
              },
              {
                "description": "Import task s3 bucket source."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportStatus"
              },
              {
                "description": "Import task status."
              }
            ]
          },
          "summary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportTaskSummary"
              },
              {
                "description": "Import task summary."
              }
            ]
          }
        },
        "description": "Import task."
      },
      "ImportList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ImportTask"
        }
      },
      "ImportStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "STARTED",
          "FAILED",
          "SUCCEEDED"
        ]
      },
      "S3BucketSource": {
        "type": "object",
        "required": [
          "s3Bucket",
          "s3Key"
        ],
        "properties": {
          "s3Bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "S3 bucket source s3 bucket."
              }
            ]
          },
          "s3BucketOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountID"
              },
              {
                "description": "S3 bucket source s3 bucket owner."
              }
            ]
          },
          "s3Key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Key"
              },
              {
                "description": "S3 bucket source s3 key."
              }
            ]
          }
        },
        "description": "S3 bucket source."
      },
      "ImportTaskSummary": {
        "type": "object",
        "properties": {
          "applications": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportTaskSummaryApplications"
              },
              {
                "description": "Import task summary applications."
              }
            ]
          },
          "servers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportTaskSummaryServers"
              },
              {
                "description": "Import task summary servers."
              }
            ]
          },
          "waves": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportTaskSummaryWaves"
              },
              {
                "description": "Import task summary waves."
              }
            ]
          }
        },
        "description": "Import task summary."
      },
      "ImportTaskSummaryApplications": {
        "type": "object",
        "properties": {
          "createdCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summary applications created count."
              }
            ]
          },
          "modifiedCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summary applications modified count."
              }
            ]
          }
        },
        "description": "Import task summary applications."
      },
      "ImportTaskSummaryServers": {
        "type": "object",
        "properties": {
          "createdCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summary servers created count."
              }
            ]
          },
          "modifiedCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summary servers modified count."
              }
            ]
          }
        },
        "description": "Import task summary servers."
      },
      "ImportTaskSummaryWaves": {
        "type": "object",
        "properties": {
          "createdCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summery waves created count."
              }
            ]
          },
          "modifiedCount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Import task summery waves modified count."
              }
            ]
          }
        },
        "description": "Import task summery waves."
      },
      "InitializeServiceRequest": {
        "type": "object",
        "title": "InitializeServiceRequest",
        "properties": {}
      },
      "InitiatedBy": {
        "type": "string",
        "enum": [
          "START_TEST",
          "START_CUTOVER",
          "DIAGNOSTIC",
          "TERMINATE"
        ]
      },
      "JmesPathString": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_\\[\\]]+)*$",
        "minLength": 1,
        "maxLength": 1011
      },
      "ParticipatingServers": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ParticipatingServer"
        }
      },
      "JobStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "STARTED",
          "COMPLETED"
        ]
      },
      "JobType": {
        "type": "string",
        "enum": [
          "LAUNCH",
          "TERMINATE"
        ]
      },
      "Job": {
        "type": "object",
        "required": [
          "jobID"
        ],
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "the ARN of the specific Job."
              }
            ]
          },
          "creationDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Job creation time."
              }
            ]
          },
          "endDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Job end time."
              }
            ]
          },
          "initiatedBy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/InitiatedBy"
              },
              {
                "description": "Job initiated by field."
              }
            ]
          },
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Job ID."
              }
            ]
          },
          "participatingServers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ParticipatingServers"
              },
              {
                "description": "Servers participating in a specific Job."
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobStatus"
              },
              {
                "description": "Job status."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags associated with specific Job."
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobType"
              },
              {
                "description": "Job type."
              }
            ]
          }
        },
        "description": "Job."
      },
      "JobLogEvent": {
        "type": "string",
        "enum": [
          "JOB_START",
          "SERVER_SKIPPED",
          "CLEANUP_START",
          "CLEANUP_END",
          "CLEANUP_FAIL",
          "SNAPSHOT_START",
          "SNAPSHOT_END",
          "SNAPSHOT_FAIL",
          "USING_PREVIOUS_SNAPSHOT",
          "CONVERSION_START",
          "CONVERSION_END",
          "CONVERSION_FAIL",
          "LAUNCH_START",
          "LAUNCH_FAILED",
          "JOB_CANCEL",
          "JOB_END"
        ]
      },
      "JobLogEventData": {
        "type": "object",
        "properties": {
          "conversionServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceID"
              },
              {
                "description": "Job Event conversion Server ID."
              }
            ]
          },
          "rawError": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LargeBoundedString"
              },
              {
                "description": "Job error."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Job Event Source Server ID."
              }
            ]
          },
          "targetInstanceID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceID"
              },
              {
                "description": "Job Event Target instance ID."
              }
            ]
          }
        },
        "description": "Job log data"
      },
      "JobLog": {
        "type": "object",
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobLogEvent"
              },
              {
                "description": "Job log event."
              }
            ]
          },
          "eventData": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobLogEventData"
              },
              {
                "description": "Job event data"
              }
            ]
          },
          "logDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Job log event date and time."
              }
            ]
          }
        },
        "description": "Job log."
      },
      "PostLaunchActionExecutionStatus": {
        "type": "string",
        "enum": [
          "IN_PROGRESS",
          "SUCCESS",
          "FAILED"
        ]
      },
      "SsmDocument": {
        "type": "object",
        "required": [
          "actionName",
          "ssmDocumentName"
        ],
        "properties": {
          "actionName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "User-friendly name for the AWS Systems Manager Document."
              }
            ]
          },
          "externalParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentExternalParameters"
              },
              {
                "description": "AWS Systems Manager Document external parameters."
              }
            ]
          },
          "mustSucceedForCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "If true, Cutover will not be enabled if the document has failed."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentParameters"
              },
              {
                "description": "AWS Systems Manager Document parameters."
              }
            ]
          },
          "ssmDocumentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentName"
              },
              {
                "description": "AWS Systems Manager Document name or full ARN."
              }
            ]
          },
          "timeoutSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StrictlyPositiveInteger"
              },
              {
                "description": "AWS Systems Manager Document timeout seconds."
              }
            ]
          }
        },
        "description": "AWS Systems Manager Document."
      },
      "SsmDocumentType": {
        "type": "string",
        "enum": [
          "AUTOMATION",
          "COMMAND"
        ]
      },
      "JobPostLaunchActionsLaunchStatus": {
        "type": "object",
        "properties": {
          "executionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "AWS Systems Manager Document's execution ID of the of the Job Post Launch Actions."
              }
            ]
          },
          "executionStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActionExecutionStatus"
              },
              {
                "description": "AWS Systems Manager Document's execution status."
              }
            ]
          },
          "failureReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "AWS Systems Manager Document's failure reason."
              }
            ]
          },
          "ssmDocument": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocument"
              },
              {
                "description": "AWS Systems Manager's Document of the of the Job Post Launch Actions."
              }
            ]
          },
          "ssmDocumentType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentType"
              },
              {
                "description": "AWS Systems Manager Document type."
              }
            ]
          }
        },
        "description": "Launch Status of the Job Post Launch Actions."
      },
      "SmallBoundedString": {
        "type": "string",
        "minLength": 0,
        "maxLength": 128
      },
      "LaunchStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "IN_PROGRESS",
          "LAUNCHED",
          "FAILED",
          "TERMINATED"
        ]
      },
      "LaunchedInstance": {
        "type": "object",
        "properties": {
          "ec2InstanceID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceID"
              },
              {
                "description": "Launched instance EC2 ID."
              }
            ]
          },
          "firstBoot": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FirstBoot"
              },
              {
                "description": "Launched instance first boot."
              }
            ]
          },
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Launched instance Job ID."
              }
            ]
          }
        },
        "description": "Launched instance."
      },
      "LifeCycleLastCutover": {
        "type": "object",
        "properties": {
          "finalized": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastCutoverFinalized"
              },
              {
                "description": "Lifecycle Cutover finalized date and time."
              }
            ]
          },
          "initiated": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastCutoverInitiated"
              },
              {
                "description": "Lifecycle last Cutover initiated."
              }
            ]
          },
          "reverted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastCutoverReverted"
              },
              {
                "description": "Lifecycle last Cutover reverted."
              }
            ]
          }
        },
        "description": "Lifecycle last Cutover ."
      },
      "LifeCycleLastTest": {
        "type": "object",
        "properties": {
          "finalized": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastTestFinalized"
              },
              {
                "description": "Lifecycle last Test finalized."
              }
            ]
          },
          "initiated": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastTestInitiated"
              },
              {
                "description": "Lifecycle last Test initiated."
              }
            ]
          },
          "reverted": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastTestReverted"
              },
              {
                "description": "Lifecycle last Test reverted."
              }
            ]
          }
        },
        "description": "Lifecycle last Test."
      },
      "LifeCycleState": {
        "type": "string",
        "enum": [
          "STOPPED",
          "NOT_READY",
          "READY_FOR_TEST",
          "TESTING",
          "READY_FOR_CUTOVER",
          "CUTTING_OVER",
          "CUTOVER",
          "DISCONNECTED",
          "DISCOVERED",
          "PENDING_INSTALLATION"
        ]
      },
      "LifeCycle": {
        "type": "object",
        "properties": {
          "addedToServiceDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle added to service data and time."
              }
            ]
          },
          "elapsedReplicationDuration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DurationString"
              },
              {
                "description": "Lifecycle elapsed time and duration."
              }
            ]
          },
          "firstByteDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle replication initiation date and time."
              }
            ]
          },
          "lastCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastCutover"
              },
              {
                "description": "Lifecycle last Cutover."
              }
            ]
          },
          "lastSeenByServiceDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle last seen date and time."
              }
            ]
          },
          "lastTest": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleLastTest"
              },
              {
                "description": "Lifecycle last Test."
              }
            ]
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LifeCycleState"
              },
              {
                "description": "Lifecycle state."
              }
            ]
          }
        },
        "description": "Lifecycle."
      },
      "LifeCycleLastCutoverFinalized": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle Cutover finalized date and time."
              }
            ]
          }
        },
        "description": "Lifecycle Cutover finalized"
      },
      "LifeCycleLastCutoverInitiated": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "<p/>"
              }
            ]
          },
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Lifecycle last Cutover initiated by Job ID."
              }
            ]
          }
        },
        "description": "Lifecycle last Cutover initiated."
      },
      "LifeCycleLastCutoverReverted": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle last Cutover reverted API call date time."
              }
            ]
          }
        },
        "description": "Lifecycle last Cutover reverted."
      },
      "LifeCycleLastTestFinalized": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle Test failed API call date and time."
              }
            ]
          }
        },
        "description": "Lifecycle last Test finalized."
      },
      "LifeCycleLastTestInitiated": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle last Test initiated API call date and time."
              }
            ]
          },
          "jobID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobID"
              },
              {
                "description": "Lifecycle last Test initiated Job ID."
              }
            ]
          }
        },
        "description": "Lifecycle last Test initiated."
      },
      "LifeCycleLastTestReverted": {
        "type": "object",
        "properties": {
          "apiCallDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Lifecycle last Test reverted API call date and time."
              }
            ]
          }
        },
        "description": "Lifecycle last Test reverted."
      },
      "ListApplicationsRequestFilters": {
        "type": "object",
        "properties": {
          "applicationIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationIDsFilter"
              },
              {
                "description": "Filter applications list by application ID."
              }
            ]
          },
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Filter applications list by archival status."
              }
            ]
          },
          "waveIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveIDsFilter"
              },
              {
                "description": "Filter applications list by wave ID."
              }
            ]
          }
        },
        "description": "Applications list filters."
      },
      "ListApplicationsRequest": {
        "type": "object",
        "title": "ListApplicationsRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListApplicationsRequestFilters"
              },
              {
                "description": "Applications list filters."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Maximum results to return when listing applications."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request next token."
              }
            ]
          }
        }
      },
      "ListExportErrorsRequest": {
        "type": "object",
        "required": [
          "exportID"
        ],
        "title": "ListExportErrorsRequest",
        "properties": {
          "exportID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExportID"
              },
              {
                "description": "List export errors request export id."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "List export errors request max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List export errors request next token."
              }
            ]
          }
        },
        "description": "List export errors request."
      },
      "ListExportsRequestFilters": {
        "type": "object",
        "properties": {
          "exportIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListExportsRequestFiltersExportIDs"
              },
              {
                "description": "List exports request filters export ids."
              }
            ]
          }
        },
        "description": "List exports request filters."
      },
      "ListExportsRequest": {
        "type": "object",
        "title": "ListExportsRequest",
        "properties": {
          "filters": {
            "$ref": "#/components/schemas/ListExportsRequestFilters"
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "List export request max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List export request next token."
              }
            ]
          }
        },
        "description": "List export request."
      },
      "ListImportErrorsRequest": {
        "type": "object",
        "required": [
          "importID"
        ],
        "title": "ListImportErrorsRequest",
        "properties": {
          "importID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportID"
              },
              {
                "description": "List import errors request import id."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "List import errors request max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List import errors request next token."
              }
            ]
          }
        },
        "description": "List import errors request."
      },
      "ListImportsRequestFilters": {
        "type": "object",
        "properties": {
          "importIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportIDsFilter"
              },
              {
                "description": "List imports request filters import IDs."
              }
            ]
          }
        },
        "description": "List imports request filters."
      },
      "ListImportsRequest": {
        "type": "object",
        "title": "ListImportsRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListImportsRequestFilters"
              },
              {
                "description": "List imports request filters."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "List imports request max results."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "List imports request next token."
              }
            ]
          }
        },
        "description": "List imports request."
      },
      "SourceServerActionsRequestFilters": {
        "type": "object",
        "properties": {
          "actionIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionIDs"
              },
              {
                "description": "Action IDs to filter source server post migration custom actions by."
              }
            ]
          }
        },
        "description": "Source server post migration custom action filters."
      },
      "ListSourceServerActionsRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "ListSourceServerActionsRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerActionsRequestFilters"
              },
              {
                "description": "Filters to apply when listing source server post migration custom actions."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Maximum amount of items to return when listing source server post migration custom actions."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token to use when listing source server post migration custom actions."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Source server ID."
              }
            ]
          }
        }
      },
      "SourceServerActionDocuments": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerActionDocument"
        },
        "minItems": 0,
        "maxItems": 100
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {}
      },
      "TemplateActionsRequestFilters": {
        "type": "object",
        "properties": {
          "actionIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionIDs"
              },
              {
                "description": "Action IDs to filter template post migration custom actions by."
              }
            ]
          }
        },
        "description": "Template post migration custom action filters."
      },
      "ListTemplateActionsRequest": {
        "type": "object",
        "required": [
          "launchConfigurationTemplateID"
        ],
        "title": "ListTemplateActionsRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TemplateActionsRequestFilters"
              },
              {
                "description": "Filters to apply when listing template post migration custom actions."
              }
            ]
          },
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "Launch configuration template ID."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Maximum amount of items to return when listing template post migration custom actions."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Next token to use when listing template post migration custom actions."
              }
            ]
          }
        }
      },
      "TemplateActionDocuments": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TemplateActionDocument"
        },
        "minItems": 0,
        "maxItems": 100
      },
      "ListWavesRequestFilters": {
        "type": "object",
        "properties": {
          "isArchived": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Filter waves list by archival status."
              }
            ]
          },
          "waveIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveIDsFilter"
              },
              {
                "description": "Filter waves list by wave ID."
              }
            ]
          }
        },
        "description": "Waves list filters."
      },
      "ListWavesRequest": {
        "type": "object",
        "title": "ListWavesRequest",
        "properties": {
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ListWavesRequestFilters"
              },
              {
                "description": "Waves list filters."
              }
            ]
          },
          "maxResults": {
            "allOf": [
              {
                "$ref": "#/components/schemas/MaxResultsType"
              },
              {
                "description": "Maximum results to return when listing waves."
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaginationToken"
              },
              {
                "description": "Request next token."
              }
            ]
          }
        }
      },
      "WavesList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Wave"
        }
      },
      "MarkAsArchivedRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "MarkAsArchivedRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Mark as archived by Source Server ID."
              }
            ]
          }
        }
      },
      "NetworkInterface": {
        "type": "object",
        "properties": {
          "ips": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IPsList"
              },
              {
                "description": "Network interface IPs."
              }
            ]
          },
          "isPrimary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Network interface primary IP."
              }
            ]
          },
          "macAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Network interface Mac address."
              }
            ]
          }
        },
        "description": "Network interface."
      },
      "NetworkInterfaces": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/NetworkInterface"
        },
        "minItems": 0,
        "maxItems": 32
      },
      "OS": {
        "type": "object",
        "properties": {
          "fullString": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "OS full string."
              }
            ]
          }
        },
        "description": "Operating System."
      },
      "OperatingSystemString": {
        "type": "string",
        "pattern": "^(linux|windows)$"
      },
      "OrderType": {
        "type": "integer",
        "minimum": 1001,
        "maximum": 10000
      },
      "PostLaunchActionsStatus": {
        "type": "object",
        "properties": {
          "postLaunchActionsLaunchStatusList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActionsLaunchStatusList"
              },
              {
                "description": "List of Post Launch Action status."
              }
            ]
          },
          "ssmAgentDiscoveryDatetime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Time where the AWS Systems Manager was detected as running on the Test or Cutover instance."
              }
            ]
          }
        },
        "description": "Status of the Post Launch Actions running on the Test or Cutover instance."
      },
      "ParticipatingServer": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "properties": {
          "launchStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchStatus"
              },
              {
                "description": "Participating server launch status."
              }
            ]
          },
          "launchedEc2InstanceID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceID"
              },
              {
                "description": "Participating server's launched ec2 instance ID."
              }
            ]
          },
          "postLaunchActionsStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActionsStatus"
              },
              {
                "description": "Participating server's Post Launch Actions Status."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Participating server Source Server ID."
              }
            ]
          }
        },
        "description": "Server participating in Job."
      },
      "PostLaunchActionsLaunchStatusList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JobPostLaunchActionsLaunchStatus"
        }
      },
      "SsmDocumentExternalParameters": {
        "type": "object",
        "minProperties": 0,
        "maxProperties": 20,
        "additionalProperties": {
          "$ref": "#/components/schemas/SsmExternalParameter"
        }
      },
      "SsmDocumentParameters": {
        "type": "object",
        "minProperties": 0,
        "maxProperties": 20,
        "additionalProperties": {
          "$ref": "#/components/schemas/SsmParameterStoreParameters"
        }
      },
      "StrictlyPositiveInteger": {
        "type": "integer",
        "minimum": 1
      },
      "PutSourceServerActionRequest": {
        "type": "object",
        "required": [
          "actionID",
          "actionName",
          "documentIdentifier",
          "order",
          "sourceServerID"
        ],
        "title": "PutSourceServerActionRequest",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Source server post migration custom action ID."
              }
            ]
          },
          "actionName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionName"
              },
              {
                "description": "Source server post migration custom action name."
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Source server post migration custom action active status."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionCategory"
              },
              {
                "description": "Source server post migration custom action category."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "Source server post migration custom action description."
              }
            ]
          },
          "documentIdentifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Source server post migration custom action document identifier."
              }
            ]
          },
          "documentVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentVersion"
              },
              {
                "description": "Source server post migration custom action document version."
              }
            ]
          },
          "externalParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentExternalParameters"
              },
              {
                "description": "Source server post migration custom action external parameters."
              }
            ]
          },
          "mustSucceedForCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Source server post migration custom action must succeed for cutover."
              }
            ]
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              },
              {
                "description": "Source server post migration custom action order."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentParameters"
              },
              {
                "description": "Source server post migration custom action parameters."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Source server ID."
              }
            ]
          },
          "timeoutSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StrictlyPositiveInteger"
              },
              {
                "description": "Source server post migration custom action timeout in seconds."
              }
            ]
          }
        }
      },
      "PutTemplateActionRequest": {
        "type": "object",
        "required": [
          "actionID",
          "actionName",
          "documentIdentifier",
          "launchConfigurationTemplateID",
          "order"
        ],
        "title": "PutTemplateActionRequest",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Template post migration custom action ID."
              }
            ]
          },
          "actionName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Template post migration custom action name."
              }
            ]
          },
          "active": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Template post migration custom action active status."
              }
            ]
          },
          "category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionCategory"
              },
              {
                "description": "Template post migration custom action category."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDescription"
              },
              {
                "description": "Template post migration custom action description."
              }
            ]
          },
          "documentIdentifier": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Template post migration custom action document identifier."
              }
            ]
          },
          "documentVersion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DocumentVersion"
              },
              {
                "description": "Template post migration custom action document version."
              }
            ]
          },
          "externalParameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentExternalParameters"
              },
              {
                "description": "Template post migration custom action external parameters."
              }
            ]
          },
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "Launch configuration template ID."
              }
            ]
          },
          "mustSucceedForCutover": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Template post migration custom action must succeed for cutover."
              }
            ]
          },
          "operatingSystem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OperatingSystemString"
              },
              {
                "description": "Operating system eligible for this template post migration custom action."
              }
            ]
          },
          "order": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrderType"
              },
              {
                "description": "Template post migration custom action order."
              }
            ]
          },
          "parameters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmDocumentParameters"
              },
              {
                "description": "Template post migration custom action parameters."
              }
            ]
          },
          "timeoutSeconds": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StrictlyPositiveInteger"
              },
              {
                "description": "Template post migration custom action timeout in seconds."
              }
            ]
          }
        }
      },
      "RemoveSourceServerActionRequest": {
        "type": "object",
        "required": [
          "actionID",
          "sourceServerID"
        ],
        "title": "RemoveSourceServerActionRequest",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Source server post migration custom action ID to remove."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Source server ID of the post migration custom action to remove."
              }
            ]
          }
        }
      },
      "RemoveTemplateActionRequest": {
        "type": "object",
        "required": [
          "actionID",
          "launchConfigurationTemplateID"
        ],
        "title": "RemoveTemplateActionRequest",
        "properties": {
          "actionID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionID"
              },
              {
                "description": "Template post migration custom action ID to remove."
              }
            ]
          },
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "Launch configuration template ID of the post migration custom action to remove."
              }
            ]
          }
        }
      },
      "ReplicationConfigurationReplicatedDisks": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/ReplicationConfigurationReplicatedDisk"
        },
        "minItems": 0,
        "maxItems": 60
      },
      "ReplicationConfigurationReplicatedDiskStagingDiskType": {
        "type": "string",
        "enum": [
          "AUTO",
          "GP2",
          "IO1",
          "SC1",
          "ST1",
          "STANDARD",
          "GP3",
          "IO2"
        ]
      },
      "ReplicationType": {
        "type": "string",
        "enum": [
          "AGENT_BASED",
          "SNAPSHOT_SHIPPING"
        ]
      },
      "RetryDataReplicationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "RetryDataReplicationRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Retry data replication for Source Server ID."
              }
            ]
          }
        }
      },
      "SourceProperties": {
        "type": "object",
        "properties": {
          "cpus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Cpus"
              },
              {
                "description": "Source Server CPUs."
              }
            ]
          },
          "disks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Disks"
              },
              {
                "description": "Source Server disks."
              }
            ]
          },
          "identificationHints": {
            "allOf": [
              {
                "$ref": "#/components/schemas/IdentificationHints"
              },
              {
                "description": "Source server identification hints."
              }
            ]
          },
          "lastUpdatedDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Source server last update date and time."
              }
            ]
          },
          "networkInterfaces": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NetworkInterfaces"
              },
              {
                "description": "Source server network interfaces."
              }
            ]
          },
          "os": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OS"
              },
              {
                "description": "Source server OS."
              }
            ]
          },
          "ramBytes": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Source server RAM in bytes."
              }
            ]
          },
          "recommendedInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Source server recommended instance type."
              }
            ]
          }
        },
        "description": "Source server properties."
      },
      "SsmDocumentName": {
        "type": "string",
        "pattern": "^([A-Za-z0-9/:_\\.-])+$",
        "minLength": 3,
        "maxLength": 172
      },
      "SsmDocumentParameterName": {
        "type": "string",
        "pattern": "^([A-Za-z0-9])+$",
        "minLength": 1,
        "maxLength": 1011
      },
      "SsmParameterStoreParameterName": {
        "type": "string",
        "pattern": "^([A-Za-z0-9_\\.-])+$",
        "minLength": 1,
        "maxLength": 1011
      },
      "SsmParameterStoreParameterType": {
        "type": "string",
        "enum": [
          "STRING"
        ]
      },
      "SsmParameterStoreParameter": {
        "type": "object",
        "required": [
          "parameterName",
          "parameterType"
        ],
        "properties": {
          "parameterName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmParameterStoreParameterName"
              },
              {
                "description": "AWS Systems Manager Parameter Store parameter name."
              }
            ]
          },
          "parameterType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsmParameterStoreParameterType"
              },
              {
                "description": "AWS Systems Manager Parameter Store parameter type."
              }
            ]
          }
        },
        "description": "AWS Systems Manager Parameter Store parameter."
      },
      "StartCutoverRequestSourceServerIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 1,
        "maxItems": 200
      },
      "StartCutoverRequest": {
        "type": "object",
        "required": [
          "sourceServerIDs"
        ],
        "title": "StartCutoverRequest",
        "properties": {
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartCutoverRequestSourceServerIDs"
              },
              {
                "description": "Start Cutover by Source Server IDs."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Start Cutover by Tags."
              }
            ]
          }
        }
      },
      "StartExportRequest": {
        "type": "object",
        "required": [
          "s3Bucket",
          "s3Key"
        ],
        "title": "StartExportRequest",
        "properties": {
          "s3Bucket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketName"
              },
              {
                "description": "Start export request s3 bucket."
              }
            ]
          },
          "s3BucketOwner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountID"
              },
              {
                "description": "Start export request s3 bucket owner."
              }
            ]
          },
          "s3Key": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3Key"
              },
              {
                "description": "Start export request s3key."
              }
            ]
          }
        },
        "description": "Start export request."
      },
      "StartImportRequest": {
        "type": "object",
        "required": [
          "s3BucketSource"
        ],
        "title": "StartImportRequest",
        "properties": {
          "clientToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ClientIdempotencyToken"
              },
              {
                "description": "Start import request client token."
              }
            ]
          },
          "s3BucketSource": {
            "allOf": [
              {
                "$ref": "#/components/schemas/S3BucketSource"
              },
              {
                "description": "Start import request s3 bucket source."
              }
            ]
          }
        },
        "description": "Start import request."
      },
      "StartReplicationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "StartReplicationRequest",
        "properties": {
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "ID of source server on which to start replication."
              }
            ]
          }
        }
      },
      "StartTestRequestSourceServerIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 1,
        "maxItems": 200
      },
      "StartTestRequest": {
        "type": "object",
        "required": [
          "sourceServerIDs"
        ],
        "title": "StartTestRequest",
        "properties": {
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTestRequestSourceServerIDs"
              },
              {
                "description": "Start Test for Source Server IDs."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Start Test by Tags."
              }
            ]
          }
        }
      },
      "TagKeys": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        }
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tag resource by Tags."
              }
            ]
          }
        }
      },
      "TerminateTargetInstancesRequestSourceServerIDs": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SourceServerID"
        },
        "minItems": 1,
        "maxItems": 200
      },
      "TerminateTargetInstancesRequest": {
        "type": "object",
        "required": [
          "sourceServerIDs"
        ],
        "title": "TerminateTargetInstancesRequest",
        "properties": {
          "sourceServerIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TerminateTargetInstancesRequestSourceServerIDs"
              },
              {
                "description": "Terminate Target instance by Source Server IDs."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Terminate Target instance by Tags."
              }
            ]
          }
        }
      },
      "UnarchiveApplicationRequest": {
        "type": "object",
        "required": [
          "applicationID"
        ],
        "title": "UnarchiveApplicationRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          }
        }
      },
      "UnarchiveWaveRequest": {
        "type": "object",
        "required": [
          "waveID"
        ],
        "title": "UnarchiveWaveRequest",
        "properties": {
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {}
      },
      "UpdateApplicationRequest": {
        "type": "object",
        "required": [
          "applicationID"
        ],
        "title": "UpdateApplicationRequest",
        "properties": {
          "applicationID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationID"
              },
              {
                "description": "Application ID."
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationDescription"
              },
              {
                "description": "Application description."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ApplicationName"
              },
              {
                "description": "Application name."
              }
            ]
          }
        }
      },
      "UpdateLaunchConfigurationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "UpdateLaunchConfigurationRequest",
        "properties": {
          "bootMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BootMode"
              },
              {
                "description": "Update Launch configuration boot mode request."
              }
            ]
          },
          "copyPrivateIp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update Launch configuration copy Private IP request."
              }
            ]
          },
          "copyTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update Launch configuration copy Tags request."
              }
            ]
          },
          "enableMapAutoTagging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Enable map auto tagging."
              }
            ]
          },
          "launchDisposition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchDisposition"
              },
              {
                "description": "Update Launch configuration launch disposition request."
              }
            ]
          },
          "licensing": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Licensing"
              },
              {
                "description": "Update Launch configuration licensing request."
              }
            ]
          },
          "mapAutoTaggingMpeID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "Launch configuration map auto tagging MPE ID."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmallBoundedString"
              },
              {
                "description": "Update Launch configuration name request."
              }
            ]
          },
          "postLaunchActions": {
            "$ref": "#/components/schemas/PostLaunchActions"
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Update Launch configuration by Source Server ID request."
              }
            ]
          },
          "targetInstanceTypeRightSizingMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetInstanceTypeRightSizingMethod"
              },
              {
                "description": "Update Launch configuration Target instance right sizing request."
              }
            ]
          }
        }
      },
      "UpdateLaunchConfigurationTemplateRequest": {
        "type": "object",
        "required": [
          "launchConfigurationTemplateID"
        ],
        "title": "UpdateLaunchConfigurationTemplateRequest",
        "properties": {
          "associatePublicIpAddress": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Associate public Ip address."
              }
            ]
          },
          "bootMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BootMode"
              },
              {
                "description": "Launch configuration template boot mode."
              }
            ]
          },
          "copyPrivateIp": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy private Ip."
              }
            ]
          },
          "copyTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Copy tags."
              }
            ]
          },
          "enableMapAutoTagging": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Enable map auto tagging."
              }
            ]
          },
          "largeVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Large volume config."
              }
            ]
          },
          "launchConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchConfigurationTemplateID"
              },
              {
                "description": "Launch Configuration Template ID."
              }
            ]
          },
          "launchDisposition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchDisposition"
              },
              {
                "description": "Launch disposition."
              }
            ]
          },
          "licensing": {
            "$ref": "#/components/schemas/Licensing"
          },
          "mapAutoTaggingMpeID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagValue"
              },
              {
                "description": "Launch configuration template map auto tagging MPE ID."
              }
            ]
          },
          "postLaunchActions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PostLaunchActions"
              },
              {
                "description": "Post Launch Action to execute on the Test or Cutover instance."
              }
            ]
          },
          "smallVolumeConf": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LaunchTemplateDiskConf"
              },
              {
                "description": "Small volume config."
              }
            ]
          },
          "smallVolumeMaxSize": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Small volume maximum size."
              }
            ]
          },
          "targetInstanceTypeRightSizingMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TargetInstanceTypeRightSizingMethod"
              },
              {
                "description": "Target instance type right-sizing method."
              }
            ]
          }
        }
      },
      "UpdateReplicationConfigurationRequest": {
        "type": "object",
        "required": [
          "sourceServerID"
        ],
        "title": "UpdateReplicationConfigurationRequest",
        "properties": {
          "associateDefaultSecurityGroup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration associate default Application Migration Service Security group request."
              }
            ]
          },
          "bandwidthThrottling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Update replication configuration bandwidth throttling request."
              }
            ]
          },
          "createPublicIP": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration create Public IP request."
              }
            ]
          },
          "dataPlaneRouting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDataPlaneRouting"
              },
              {
                "description": "Update replication configuration data plane routing request."
              }
            ]
          },
          "defaultLargeStagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDefaultLargeStagingDiskType"
              },
              {
                "description": "Update replication configuration use default large Staging Disk type request."
              }
            ]
          },
          "ebsEncryption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationEbsEncryption"
              },
              {
                "description": "Update replication configuration EBS encryption request."
              }
            ]
          },
          "ebsEncryptionKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Update replication configuration EBS encryption key ARN request."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SmallBoundedString"
              },
              {
                "description": "Update replication configuration name request."
              }
            ]
          },
          "replicatedDisks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationReplicatedDisks"
              },
              {
                "description": "Update replication configuration replicated disks request."
              }
            ]
          },
          "replicationServerInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Update replication configuration Replication Server instance type request."
              }
            ]
          },
          "replicationServersSecurityGroupsIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationServersSecurityGroupsIDs"
              },
              {
                "description": "Update replication configuration Replication Server Security Groups IDs request."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "Update replication configuration Source Server ID request."
              }
            ]
          },
          "stagingAreaSubnetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetID"
              },
              {
                "description": "Update replication configuration Staging Area subnet request."
              }
            ]
          },
          "stagingAreaTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Update replication configuration Staging Area Tags request."
              }
            ]
          },
          "useDedicatedReplicationServer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration use dedicated Replication Server request."
              }
            ]
          }
        }
      },
      "UpdateReplicationConfigurationTemplateRequest": {
        "type": "object",
        "required": [
          "replicationConfigurationTemplateID"
        ],
        "title": "UpdateReplicationConfigurationTemplateRequest",
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Update replication configuration template ARN request."
              }
            ]
          },
          "associateDefaultSecurityGroup": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration template associate default Application Migration Service Security group request."
              }
            ]
          },
          "bandwidthThrottling": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Update replication configuration template bandwidth throttling request."
              }
            ]
          },
          "createPublicIP": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration template create Public IP request."
              }
            ]
          },
          "dataPlaneRouting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDataPlaneRouting"
              },
              {
                "description": "Update replication configuration template data plane routing request."
              }
            ]
          },
          "defaultLargeStagingDiskType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationDefaultLargeStagingDiskType"
              },
              {
                "description": "Update replication configuration template use default large Staging Disk type request."
              }
            ]
          },
          "ebsEncryption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationEbsEncryption"
              },
              {
                "description": "Update replication configuration template EBS encryption request."
              }
            ]
          },
          "ebsEncryptionKeyArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Update replication configuration template EBS encryption key ARN request."
              }
            ]
          },
          "replicationConfigurationTemplateID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationConfigurationTemplateID"
              },
              {
                "description": "Update replication configuration template template ID request."
              }
            ]
          },
          "replicationServerInstanceType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EC2InstanceType"
              },
              {
                "description": "Update replication configuration template Replication Server instance type request."
              }
            ]
          },
          "replicationServersSecurityGroupsIDs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationServersSecurityGroupsIDs"
              },
              {
                "description": "Update replication configuration template Replication Server Security groups IDs request."
              }
            ]
          },
          "stagingAreaSubnetId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubnetID"
              },
              {
                "description": "Update replication configuration template Staging Area subnet ID request."
              }
            ]
          },
          "stagingAreaTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Update replication configuration template Staging Area Tags request."
              }
            ]
          },
          "useDedicatedReplicationServer": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Boolean"
              },
              {
                "description": "Update replication configuration template use dedicated Replication Server request."
              }
            ]
          }
        }
      },
      "UpdateSourceServerReplicationTypeRequest": {
        "type": "object",
        "required": [
          "replicationType",
          "sourceServerID"
        ],
        "title": "UpdateSourceServerReplicationTypeRequest",
        "properties": {
          "replicationType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ReplicationType"
              },
              {
                "description": "Replication type to which to update source server."
              }
            ]
          },
          "sourceServerID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceServerID"
              },
              {
                "description": "ID of source server on which to update replication type."
              }
            ]
          }
        }
      },
      "UpdateWaveRequest": {
        "type": "object",
        "required": [
          "waveID"
        ],
        "title": "UpdateWaveRequest",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveDescription"
              },
              {
                "description": "Wave description."
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveName"
              },
              {
                "description": "Wave name."
              }
            ]
          },
          "waveID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveID"
              },
              {
                "description": "Wave ID."
              }
            ]
          }
        }
      },
      "VcenterClient": {
        "type": "object",
        "properties": {
          "arn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ARN"
              },
              {
                "description": "Arn of vCenter client."
              }
            ]
          },
          "datacenterName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Datacenter name of vCenter client."
              }
            ]
          },
          "hostname": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Hostname of vCenter client ."
              }
            ]
          },
          "lastSeenDatetime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Last seen time of vCenter client."
              }
            ]
          },
          "sourceServerTags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags for Source Server of vCenter client."
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagsMap"
              },
              {
                "description": "Tags for vCenter client."
              }
            ]
          },
          "vcenterClientID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VcenterClientID"
              },
              {
                "description": "ID of vCenter client."
              }
            ]
          },
          "vcenterUUID": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BoundedString"
              },
              {
                "description": "Vcenter UUID of vCenter client."
              }
            ]
          }
        },
        "description": "vCenter client."
      },
      "WaveAggregatedStatus": {
        "type": "object",
        "properties": {
          "healthStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveHealthStatus"
              },
              {
                "description": "Wave aggregated status health status."
              }
            ]
          },
          "lastUpdateDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "Wave aggregated status last update dateTime."
              }
            ]
          },
          "progressStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WaveProgressStatus"
              },
              {
                "description": "Wave aggregated status progress status."
              }
            ]
          },
          "replicationStartedDateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ISO8601DatetimeString"
              },
              {
                "description": "DateTime marking when the first source server in the wave started replication."
              }
            ]
          },
          "totalApplications": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PositiveInteger"
              },
              {
                "description": "Wave aggregated status total applications amount."
              }
            ]
          }
        },
        "description": "Wave aggregated status."
      },
      "WaveHealthStatus": {
        "type": "string",
        "enum": [
          "HEALTHY",
          "LAGGING",
          "ERROR"
        ]
      },
      "WaveProgressStatus": {
        "type": "string",
        "enum": [
          "NOT_STARTED",
          "IN_PROGRESS",
          "COMPLETED"
        ]
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}