AWS Amplify icon

AWS Amplify

Amplify enables developers to develop and deploy cloud-powered mobile and web apps

COMMUNITYAPI KEY0 INSTALLS
API Docs
OpenAPI Specificationv3.0
{
  "openapi": "3.0.0",
  "info": {
    "version": "2017-07-25",
    "x-release": "v4",
    "title": "AWS Amplify",
    "description": "Amplify enables developers to develop and deploy cloud-powered mobile and web apps. The Amplify Console provides a continuous delivery and hosting service for web applications. For more information, see the <a href=\"https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html\">Amplify Console User Guide</a>. The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. For more information, see the <a href=\"https://docs.amplify.aws/\">Amplify Framework.</a> ",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png",
      "backgroundColor": "#FFFFFF"
    },
    "termsOfService": "https://aws.amazon.com/service-terms/",
    "contact": {
      "name": "Mike Ralphson",
      "email": "mike.ralphson@gmail.com",
      "url": "https://github.com/mermade/aws2openapi",
      "x-twitter": "PermittedSoc"
    },
    "license": {
      "name": "Apache 2.0 License",
      "url": "http://www.apache.org/licenses/"
    },
    "x-providerName": "amazonaws.com",
    "x-serviceName": "amplify",
    "x-aws-signingName": "amplify",
    "x-origin": [
      {
        "contentType": "application/json",
        "url": "https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/amplify-2017-07-25.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/amplify/"
  },
  "servers": [
    {
      "url": "http://amplify.{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 Amplify multi-region endpoint"
    },
    {
      "url": "https://amplify.{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 Amplify multi-region endpoint"
    },
    {
      "url": "http://amplify.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amplify endpoint for China (Beijing) and China (Ningxia)"
    },
    {
      "url": "https://amplify.{region}.amazonaws.com.cn",
      "variables": {
        "region": {
          "description": "The AWS region",
          "enum": [
            "cn-north-1",
            "cn-northwest-1"
          ],
          "default": "cn-north-1"
        }
      },
      "description": "The Amplify endpoint for China (Beijing) and China (Ningxia)"
    }
  ],
  "x-hasEquivalentPaths": true,
  "paths": {
    "/apps": {
      "post": {
        "operationId": "CreateApp",
        "description": " Creates a new Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAppResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "name"
                ],
                "properties": {
                  "name": {
                    "description": " The name for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "description": " The description for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "repository": {
                    "description": " The repository for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "platform": {
                    "description": " The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>.",
                    "type": "string",
                    "enum": [
                      "WEB",
                      "WEB_DYNAMIC",
                      "WEB_COMPUTE"
                    ]
                  },
                  "iamServiceRoleArn": {
                    "description": " The AWS Identity and Access Management (IAM) service role for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 1000
                  },
                  "oauthToken": {
                    "description": "<p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p> <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p> <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you create a new app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000,
                    "format": "password"
                  },
                  "accessToken": {
                    "description": "<p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p> <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p> <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you create a new app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255,
                    "format": "password"
                  },
                  "environmentVariables": {
                    "description": " The environment variables map for an Amplify app. ",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/EnvValue"
                    }
                  },
                  "enableBranchAutoBuild": {
                    "description": " Enables the auto building of branches for an Amplify app. ",
                    "type": "boolean"
                  },
                  "enableBranchAutoDeletion": {
                    "description": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository. ",
                    "type": "boolean"
                  },
                  "enableBasicAuth": {
                    "description": " Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app. ",
                    "type": "boolean"
                  },
                  "basicAuthCredentials": {
                    "description": " The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 2000,
                    "format": "password"
                  },
                  "customRules": {
                    "description": " The custom rewrite and redirect rules for an Amplify app. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CustomRule"
                    }
                  },
                  "tags": {
                    "description": " The tag for an Amplify app. ",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "buildSpec": {
                    "description": " The build specification (build spec) file for an Amplify app build. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 25000,
                    "format": "password"
                  },
                  "customHeaders": {
                    "description": "The custom HTTP headers for an Amplify app.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 25000
                  },
                  "enableAutoBranchCreation": {
                    "description": " Enables automated branch creation for an Amplify app. ",
                    "type": "boolean"
                  },
                  "autoBranchCreationPatterns": {
                    "description": " The automated branch creation glob patterns for an Amplify app. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AutoBranchCreationPattern"
                    }
                  },
                  "autoBranchCreationConfig": {
                    "description": " Describes the automated branch creation configuration. ",
                    "type": "object",
                    "properties": {
                      "stage": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Stage"
                          },
                          {
                            "description": " Describes the current stage for the autocreated branch. "
                          }
                        ]
                      },
                      "framework": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Framework"
                          },
                          {
                            "description": " The framework for the autocreated branch. "
                          }
                        ]
                      },
                      "enableAutoBuild": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnableAutoBuild"
                          },
                          {
                            "description": " Enables auto building for the autocreated branch. "
                          }
                        ]
                      },
                      "environmentVariables": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnvironmentVariables"
                          },
                          {
                            "description": " The environment variables for the autocreated branch. "
                          }
                        ]
                      },
                      "basicAuthCredentials": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BasicAuthCredentials"
                          },
                          {
                            "description": " The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
                          }
                        ]
                      },
                      "enableBasicAuth": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnableBasicAuth"
                          },
                          {
                            "description": " Enables basic authorization for the autocreated branch. "
                          }
                        ]
                      },
                      "enablePerformanceMode": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnablePerformanceMode"
                          },
                          {
                            "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
                          }
                        ]
                      },
                      "buildSpec": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BuildSpec"
                          },
                          {
                            "description": " The build specification (build spec) for the autocreated branch. "
                          }
                        ]
                      },
                      "enablePullRequestPreview": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnablePullRequestPreview"
                          },
                          {
                            "description": " Enables pull request previews for the autocreated branch. "
                          }
                        ]
                      },
                      "pullRequestEnvironmentName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PullRequestEnvironmentName"
                          },
                          {
                            "description": " The Amplify environment name for the pull request. "
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListApps",
        "description": " Returns a list of the existing Amplify apps. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppsResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. If non-null, the pagination token is returned in a result. Pass its value in another request to retrieve more entries. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      }
    },
    "/apps/{appId}/backendenvironments": {
      "post": {
        "operationId": "CreateBackendEnvironment",
        "description": " Creates a new backend environment for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBackendEnvironmentResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "environmentName"
                ],
                "properties": {
                  "environmentName": {
                    "description": " The name for the backend environment. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "stackName": {
                    "description": " The AWS CloudFormation stack name of a backend environment. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "deploymentArtifacts": {
                    "description": " The name of deployment artifacts. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListBackendEnvironments",
        "description": " Lists the backend environments for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBackendEnvironmentsResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "environmentName",
            "in": "query",
            "required": false,
            "description": " The name of the backend environment ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing backend environments from the start. If a non-null pagination token is returned in a result, pass its value in here to list more backend environments. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      }
    },
    "/apps/{appId}/branches": {
      "post": {
        "operationId": "CreateBranch",
        "description": " Creates a new branch for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateBranchResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          },
          "485": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "branchName"
                ],
                "properties": {
                  "branchName": {
                    "description": " The name for the branch. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "description": " The description for the branch. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "stage": {
                    "description": " Describes the current stage for the branch. ",
                    "type": "string",
                    "enum": [
                      "PRODUCTION",
                      "BETA",
                      "DEVELOPMENT",
                      "EXPERIMENTAL",
                      "PULL_REQUEST"
                    ]
                  },
                  "framework": {
                    "description": " The framework for the branch. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "enableNotification": {
                    "description": " Enables notifications for the branch. ",
                    "type": "boolean"
                  },
                  "enableAutoBuild": {
                    "description": " Enables auto building for the branch. ",
                    "type": "boolean"
                  },
                  "environmentVariables": {
                    "description": " The environment variables for the branch. ",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/EnvValue"
                    }
                  },
                  "basicAuthCredentials": {
                    "description": " The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 2000,
                    "format": "password"
                  },
                  "enableBasicAuth": {
                    "description": " Enables basic authorization for the branch. ",
                    "type": "boolean"
                  },
                  "enablePerformanceMode": {
                    "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>",
                    "type": "boolean"
                  },
                  "tags": {
                    "description": " The tag for the branch. ",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  },
                  "buildSpec": {
                    "description": " The build specification (build spec) file for an Amplify app build. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 25000,
                    "format": "password"
                  },
                  "ttl": {
                    "description": " The content Time to Live (TTL) for the website in seconds. ",
                    "type": "string",
                    "pattern": "\\d*",
                    "minLength": 0,
                    "maxLength": 32
                  },
                  "displayName": {
                    "description": " The display name for a branch. This is used as the default domain prefix. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "enablePullRequestPreview": {
                    "description": " Enables pull request previews for this branch. ",
                    "type": "boolean"
                  },
                  "pullRequestEnvironmentName": {
                    "description": " The Amplify environment name for the pull request. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 20
                  },
                  "backendEnvironmentArn": {
                    "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListBranches",
        "description": " Lists the branches of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBranchesResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing branches from the start. If a non-null pagination token is returned in a result, pass its value in here to list more branches. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      }
    },
    "/apps/{appId}/branches/{branchName}/deployments": {
      "post": {
        "operationId": "CreateDeployment",
        "description": " Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a repository. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDeploymentResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch, for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "fileMap": {
                    "description": " An optional file map that contains the file name as the key and the file content md5 hash as the value. If this argument is provided, the service will generate a unique upload URL per file. Otherwise, the service will only generate a single upload URL for the zipped files. ",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/MD5Hash"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/apps/{appId}/domains": {
      "post": {
        "operationId": "CreateDomainAssociation",
        "description": " Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateDomainAssociationResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          },
          "485": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "domainName",
                  "subDomainSettings"
                ],
                "properties": {
                  "domainName": {
                    "description": " The domain name for the domain association. ",
                    "type": "string",
                    "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
                    "maxLength": 64
                  },
                  "enableAutoSubDomain": {
                    "description": " Enables the automated creation of subdomains for branches. ",
                    "type": "boolean"
                  },
                  "subDomainSettings": {
                    "description": " The setting for the subdomain. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SubDomainSetting"
                    },
                    "maxItems": 500
                  },
                  "autoSubDomainCreationPatterns": {
                    "description": " Sets the branch patterns for automatic subdomain creation. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AutoSubDomainCreationPattern"
                    }
                  },
                  "autoSubDomainIAMRole": {
                    "description": " The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. ",
                    "type": "string",
                    "pattern": "^$|^arn:aws:iam::\\d{12}:role.+",
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListDomainAssociations",
        "description": " Returns the domain associations for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDomainAssociationsResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing apps from the start. If non-null, a pagination token is returned in a result. Pass its value in here to list more projects. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      }
    },
    "/apps/{appId}/webhooks": {
      "post": {
        "operationId": "CreateWebhook",
        "description": " Creates a new webhook on an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateWebhookResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          },
          "485": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "branchName"
                ],
                "properties": {
                  "branchName": {
                    "description": " The name for a branch that is part of an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "description": " The description for a webhook. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "ListWebhooks",
        "description": " Returns a list of webhooks for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListWebhooksResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing webhooks from the start. If non-null,the pagination token is returned in a result. Pass its value in here to list more webhooks. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      }
    },
    "/apps/{appId}": {
      "delete": {
        "operationId": "DeleteApp",
        "description": " Deletes an existing Amplify app specified by an app ID. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteAppResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetApp",
        "description": " Returns an existing Amplify app by appID. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAppResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ]
      },
      "post": {
        "operationId": "UpdateApp",
        "description": " Updates an existing Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateAppResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "description": " The name for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "description": " The description for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "platform": {
                    "description": " The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>.",
                    "type": "string",
                    "enum": [
                      "WEB",
                      "WEB_DYNAMIC",
                      "WEB_COMPUTE"
                    ]
                  },
                  "iamServiceRoleArn": {
                    "description": " The AWS Identity and Access Management (IAM) service role for an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 1000
                  },
                  "environmentVariables": {
                    "description": " The environment variables for an Amplify app. ",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/EnvValue"
                    }
                  },
                  "enableBranchAutoBuild": {
                    "description": " Enables branch auto-building for an Amplify app. ",
                    "type": "boolean"
                  },
                  "enableBranchAutoDeletion": {
                    "description": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository. ",
                    "type": "boolean"
                  },
                  "enableBasicAuth": {
                    "description": " Enables basic authorization for an Amplify app. ",
                    "type": "boolean"
                  },
                  "basicAuthCredentials": {
                    "description": " The basic authorization credentials for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 2000,
                    "format": "password"
                  },
                  "customRules": {
                    "description": " The custom redirect and rewrite rules for an Amplify app. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CustomRule"
                    }
                  },
                  "buildSpec": {
                    "description": " The build specification (build spec) file for an Amplify app build. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 25000,
                    "format": "password"
                  },
                  "customHeaders": {
                    "description": "The custom HTTP headers for an Amplify app.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 25000
                  },
                  "enableAutoBranchCreation": {
                    "description": " Enables automated branch creation for an Amplify app. ",
                    "type": "boolean"
                  },
                  "autoBranchCreationPatterns": {
                    "description": " Describes the automated branch creation glob patterns for an Amplify app. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AutoBranchCreationPattern"
                    }
                  },
                  "autoBranchCreationConfig": {
                    "description": " Describes the automated branch creation configuration. ",
                    "type": "object",
                    "properties": {
                      "stage": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Stage"
                          },
                          {
                            "description": " Describes the current stage for the autocreated branch. "
                          }
                        ]
                      },
                      "framework": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/Framework"
                          },
                          {
                            "description": " The framework for the autocreated branch. "
                          }
                        ]
                      },
                      "enableAutoBuild": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnableAutoBuild"
                          },
                          {
                            "description": " Enables auto building for the autocreated branch. "
                          }
                        ]
                      },
                      "environmentVariables": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnvironmentVariables"
                          },
                          {
                            "description": " The environment variables for the autocreated branch. "
                          }
                        ]
                      },
                      "basicAuthCredentials": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BasicAuthCredentials"
                          },
                          {
                            "description": " The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
                          }
                        ]
                      },
                      "enableBasicAuth": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnableBasicAuth"
                          },
                          {
                            "description": " Enables basic authorization for the autocreated branch. "
                          }
                        ]
                      },
                      "enablePerformanceMode": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnablePerformanceMode"
                          },
                          {
                            "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
                          }
                        ]
                      },
                      "buildSpec": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/BuildSpec"
                          },
                          {
                            "description": " The build specification (build spec) for the autocreated branch. "
                          }
                        ]
                      },
                      "enablePullRequestPreview": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/EnablePullRequestPreview"
                          },
                          {
                            "description": " Enables pull request previews for the autocreated branch. "
                          }
                        ]
                      },
                      "pullRequestEnvironmentName": {
                        "allOf": [
                          {
                            "$ref": "#/components/schemas/PullRequestEnvironmentName"
                          },
                          {
                            "description": " The Amplify environment name for the pull request. "
                          }
                        ]
                      }
                    }
                  },
                  "repository": {
                    "description": " The name of the repository for an Amplify app ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "oauthToken": {
                    "description": "<p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p> <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit.</p> <p>To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p> <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you update an app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000,
                    "format": "password"
                  },
                  "accessToken": {
                    "description": "<p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p> <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p> <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you update an app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255,
                    "format": "password"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps/{appId}/backendenvironments/{environmentName}": {
      "delete": {
        "operationId": "DeleteBackendEnvironment",
        "description": " Deletes a backend environment for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteBackendEnvironmentResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID of an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "environmentName",
            "in": "path",
            "required": true,
            "description": " The name of a backend environment of an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetBackendEnvironment",
        "description": " Returns a backend environment for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBackendEnvironmentResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique id for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "environmentName",
            "in": "path",
            "required": true,
            "description": " The name for the backend environment. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ]
      }
    },
    "/apps/{appId}/branches/{branchName}": {
      "delete": {
        "operationId": "DeleteBranch",
        "description": " Deletes a branch for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteBranchResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetBranch",
        "description": " Returns a branch for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetBranchResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ]
      },
      "post": {
        "operationId": "UpdateBranch",
        "description": " Updates a branch for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateBranchResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "description": " The description for the branch. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  },
                  "framework": {
                    "description": " The framework for the branch. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "stage": {
                    "description": " Describes the current stage for the branch. ",
                    "type": "string",
                    "enum": [
                      "PRODUCTION",
                      "BETA",
                      "DEVELOPMENT",
                      "EXPERIMENTAL",
                      "PULL_REQUEST"
                    ]
                  },
                  "enableNotification": {
                    "description": " Enables notifications for the branch. ",
                    "type": "boolean"
                  },
                  "enableAutoBuild": {
                    "description": " Enables auto building for the branch. ",
                    "type": "boolean"
                  },
                  "environmentVariables": {
                    "description": " The environment variables for the branch. ",
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/EnvValue"
                    }
                  },
                  "basicAuthCredentials": {
                    "description": " The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>.",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 2000,
                    "format": "password"
                  },
                  "enableBasicAuth": {
                    "description": " Enables basic authorization for the branch. ",
                    "type": "boolean"
                  },
                  "enablePerformanceMode": {
                    "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>",
                    "type": "boolean"
                  },
                  "buildSpec": {
                    "description": " The build specification (build spec) file for an Amplify app build. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 25000,
                    "format": "password"
                  },
                  "ttl": {
                    "description": " The content Time to Live (TTL) for the website in seconds. ",
                    "type": "string",
                    "pattern": "\\d*",
                    "minLength": 0,
                    "maxLength": 32
                  },
                  "displayName": {
                    "description": " The display name for a branch. This is used as the default domain prefix. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "enablePullRequestPreview": {
                    "description": " Enables pull request previews for this branch. ",
                    "type": "boolean"
                  },
                  "pullRequestEnvironmentName": {
                    "description": " The Amplify environment name for the pull request. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 20
                  },
                  "backendEnvironmentArn": {
                    "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "minLength": 0,
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps/{appId}/domains/{domainName}": {
      "delete": {
        "operationId": "DeleteDomainAssociation",
        "description": " Deletes a domain association for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteDomainAssociationResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique id for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "domainName",
            "in": "path",
            "required": true,
            "description": " The name of the domain. ",
            "schema": {
              "type": "string",
              "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
              "maxLength": 64
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetDomainAssociation",
        "description": " Returns the domain information for an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetDomainAssociationResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique id for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "domainName",
            "in": "path",
            "required": true,
            "description": " The name of the domain. ",
            "schema": {
              "type": "string",
              "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
              "maxLength": 64
            }
          }
        ]
      },
      "post": {
        "operationId": "UpdateDomainAssociation",
        "description": " Creates a new domain association for an Amplify app.",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateDomainAssociationResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "domainName",
            "in": "path",
            "required": true,
            "description": " The name of the domain. ",
            "schema": {
              "type": "string",
              "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
              "maxLength": 64
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enableAutoSubDomain": {
                    "description": " Enables the automated creation of subdomains for branches. ",
                    "type": "boolean"
                  },
                  "subDomainSettings": {
                    "description": " Describes the settings for the subdomain. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SubDomainSetting"
                    },
                    "maxItems": 500
                  },
                  "autoSubDomainCreationPatterns": {
                    "description": " Sets the branch patterns for automatic subdomain creation. ",
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/AutoSubDomainCreationPattern"
                    }
                  },
                  "autoSubDomainIAMRole": {
                    "description": " The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. ",
                    "type": "string",
                    "pattern": "^$|^arn:aws:iam::\\d{12}:role.+",
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps/{appId}/branches/{branchName}/jobs/{jobId}": {
      "delete": {
        "operationId": "DeleteJob",
        "description": " Deletes a job for a branch of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteJobResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch, for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": " The unique ID for the job. ",
            "schema": {
              "type": "string",
              "pattern": "[0-9]+",
              "maxLength": 255
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetJob",
        "description": " Returns a job for a branch of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetJobResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The branch name for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": " The unique ID for the job. ",
            "schema": {
              "type": "string",
              "pattern": "[0-9]+",
              "maxLength": 255
            }
          }
        ]
      }
    },
    "/webhooks/{webhookId}": {
      "delete": {
        "operationId": "DeleteWebhook",
        "description": " Deletes a webhook. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteWebhookResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "description": " The unique ID for a webhook. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 255
            }
          }
        ]
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ],
      "get": {
        "operationId": "GetWebhook",
        "description": " Returns the webhook information that corresponds to a specified webhook ID. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetWebhookResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "description": " The unique ID for a webhook. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 255
            }
          }
        ]
      },
      "post": {
        "operationId": "UpdateWebhook",
        "description": " Updates a webhook. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateWebhookResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "484": {
            "description": "DependentServiceFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DependentServiceFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "webhookId",
            "in": "path",
            "required": true,
            "description": " The unique ID for a webhook. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 255
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "branchName": {
                    "description": " The name for a branch that is part of an Amplify app. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).\\+",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "description": {
                    "description": " The description for a webhook. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 1000
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps/{appId}/accesslogs": {
      "post": {
        "operationId": "GenerateAccessLogs",
        "description": " Returns the website access logs for a specific time range using a presigned URL. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GenerateAccessLogsResult"
                }
              }
            }
          },
          "480": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "483": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "domainName"
                ],
                "properties": {
                  "startTime": {
                    "description": " The time at which the logs should start. The time range specified is inclusive of the start time. ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "endTime": {
                    "description": " The time at which the logs should end. The time range specified is inclusive of the end time. ",
                    "type": "string",
                    "format": "date-time"
                  },
                  "domainName": {
                    "description": " The name of the domain. ",
                    "type": "string",
                    "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
                    "maxLength": 64
                  }
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/components/parameters/X-Amz-Content-Sha256"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Date"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Algorithm"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Credential"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Security-Token"
        },
        {
          "$ref": "#/components/parameters/X-Amz-Signature"
        },
        {
          "$ref": "#/components/parameters/X-Amz-SignedHeaders"
        }
      ]
    },
    "/artifacts/{artifactId}": {
      "get": {
        "operationId": "GetArtifactUrl",
        "description": " Returns the artifact info that corresponds to an artifact id. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetArtifactUrlResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "artifactId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an artifact. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 255
            }
          }
        ]
      },
      "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"
        }
      ]
    },
    "/apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts": {
      "get": {
        "operationId": "ListArtifacts",
        "description": " Returns a list of artifacts for a specified app, branch, and job. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListArtifactsResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name of a branch that is part of an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": " The unique ID for a job. ",
            "schema": {
              "type": "string",
              "pattern": "[0-9]+",
              "maxLength": 255
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing artifacts from start. If a non-null pagination token is returned in a result, pass its value in here to list more artifacts. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      },
      "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"
        }
      ]
    },
    "/apps/{appId}/branches/{branchName}/jobs": {
      "get": {
        "operationId": "ListJobs",
        "description": " Lists the jobs for a branch of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for a branch. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "nextToken",
            "in": "query",
            "required": false,
            "description": " A pagination token. Set to null to start listing steps from the start. If a non-null pagination token is returned in a result, pass its value in here to list more steps. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).*",
              "maxLength": 2000
            }
          },
          {
            "name": "maxResults",
            "in": "query",
            "required": false,
            "description": " The maximum number of records to list in a single response. ",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 100
            }
          }
        ]
      },
      "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": "StartJob",
        "description": " Starts a new job for a branch of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartJobResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The branch name for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "jobType"
                ],
                "properties": {
                  "jobId": {
                    "description": " The unique ID for an existing job. This is required if the value of <code>jobType</code> is <code>RETRY</code>. ",
                    "type": "string",
                    "pattern": "[0-9]+",
                    "maxLength": 255
                  },
                  "jobType": {
                    "description": " Describes the type for the job. The job type <code>RELEASE</code> starts a new job with the latest change from the specified branch. This value is available only for apps that are connected to a repository. The job type <code>RETRY</code> retries an existing job. If the job type value is <code>RETRY</code>, the <code>jobId</code> is also required. ",
                    "type": "string",
                    "enum": [
                      "RELEASE",
                      "RETRY",
                      "MANUAL",
                      "WEB_HOOK"
                    ],
                    "maxLength": 10
                  },
                  "jobReason": {
                    "description": " A descriptive reason for starting this job. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "commitId": {
                    "description": " The commit ID from a third-party repository provider for the job. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 255
                  },
                  "commitMessage": {
                    "description": " The commit message from a third-party repository provider for the job. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 10000
                  },
                  "commitTime": {
                    "description": " The commit date and time for the job. ",
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/tags/{resourceArn}": {
      "get": {
        "operationId": "ListTagsForResource",
        "description": " Returns a list of tags for a specified Amazon Resource Name (ARN). ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTagsForResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": " The Amazon Resource Name (ARN) to use to list tags. ",
            "schema": {
              "type": "string",
              "pattern": "^arn:aws:amplify:.*",
              "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"
        }
      ],
      "post": {
        "operationId": "TagResource",
        "description": " Tags the resource with a tag key and value. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": " The Amazon Resource Name (ARN) to use to tag a resource. ",
            "schema": {
              "type": "string",
              "pattern": "^arn:aws:amplify:.*",
              "minLength": 0,
              "maxLength": 2048
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tags"
                ],
                "properties": {
                  "tags": {
                    "description": " The tags used to tag the resource. ",
                    "type": "object",
                    "minProperties": 0,
                    "maxProperties": 50,
                    "additionalProperties": {
                      "$ref": "#/components/schemas/TagValue"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/apps/{appId}/branches/{branchName}/deployments/start": {
      "post": {
        "operationId": "StartDeployment",
        "description": " Starts a deployment for a manually deployed app. Manually deployed apps are not connected to a repository. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StartDeploymentResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch, for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jobId": {
                    "description": " The job ID for this deployment, generated by the create deployment request. ",
                    "type": "string",
                    "pattern": "[0-9]+",
                    "maxLength": 255
                  },
                  "sourceUrl": {
                    "description": " The source URL for this deployment, used when calling start deployment without create deployment. The source URL can be any HTTP GET URL that is publicly accessible and downloads a single .zip file. ",
                    "type": "string",
                    "pattern": "\\(\\?s\\).*",
                    "maxLength": 3000
                  }
                }
              }
            }
          }
        }
      },
      "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"
        }
      ]
    },
    "/apps/{appId}/branches/{branchName}/jobs/{jobId}/stop": {
      "delete": {
        "operationId": "StopJob",
        "description": " Stops a job that is in progress for a branch of an Amplify app. ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StopJobResult"
                }
              }
            }
          },
          "480": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "481": {
            "description": "UnauthorizedException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnauthorizedException"
                }
              }
            }
          },
          "482": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "483": {
            "description": "NotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFoundException"
                }
              }
            }
          },
          "484": {
            "description": "LimitExceededException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LimitExceededException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "appId",
            "in": "path",
            "required": true,
            "description": " The unique ID for an Amplify app. ",
            "schema": {
              "type": "string",
              "pattern": "d[a-z0-9]+",
              "minLength": 1,
              "maxLength": 20
            }
          },
          {
            "name": "branchName",
            "in": "path",
            "required": true,
            "description": " The name for the branch, for the job. ",
            "schema": {
              "type": "string",
              "pattern": "\\(\\?s\\).\\+",
              "minLength": 1,
              "maxLength": 255
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "required": true,
            "description": " The unique id for the job. ",
            "schema": {
              "type": "string",
              "pattern": "[0-9]+",
              "maxLength": 255
            }
          }
        ]
      },
      "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": " Untags a resource with a specified Amazon Resource Name (ARN). ",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UntagResourceResponse"
                }
              }
            }
          },
          "480": {
            "description": "InternalFailureException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InternalFailureException"
                }
              }
            }
          },
          "481": {
            "description": "BadRequestException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequestException"
                }
              }
            }
          },
          "482": {
            "description": "ResourceNotFoundException",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResourceNotFoundException"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "resourceArn",
            "in": "path",
            "required": true,
            "description": " The Amazon Resource Name (ARN) to use to untag a resource. ",
            "schema": {
              "type": "string",
              "pattern": "^arn:aws:amplify:.*",
              "minLength": 0,
              "maxLength": 2048
            }
          },
          {
            "name": "tagKeys",
            "in": "query",
            "required": true,
            "description": " The tag keys to use to untag a resource. ",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/TagKey"
              },
              "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"
        }
      ]
    }
  },
  "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": {
      "CreateAppResult": {
        "type": "object",
        "required": [
          "app"
        ],
        "properties": {
          "app": {
            "$ref": "#/components/schemas/App"
          }
        }
      },
      "EnvValue": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 5500
      },
      "CustomRule": {
        "type": "object",
        "required": [
          "source",
          "target"
        ],
        "properties": {
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Source"
              },
              {
                "description": " The source pattern for a URL rewrite or redirect rule. "
              }
            ]
          },
          "target": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Target"
              },
              {
                "description": " The target pattern for a URL rewrite or redirect rule. "
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Status"
              },
              {
                "description": "<p> The status code for a URL rewrite or redirect rule. </p> <dl> <dt>200</dt> <dd> <p>Represents a 200 rewrite rule.</p> </dd> <dt>301</dt> <dd> <p>Represents a 301 (moved pemanently) redirect rule. This and all future requests should be directed to the target URL. </p> </dd> <dt>302</dt> <dd> <p>Represents a 302 temporary redirect rule.</p> </dd> <dt>404</dt> <dd> <p>Represents a 404 redirect rule.</p> </dd> <dt>404-200</dt> <dd> <p>Represents a 404 rewrite rule.</p> </dd> </dl>"
              }
            ]
          },
          "condition": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Condition"
              },
              {
                "description": " The condition for a URL rewrite or redirect rule, such as a country code. "
              }
            ]
          }
        },
        "description": " Describes a custom rewrite or redirect rule. "
      },
      "TagValue": {
        "type": "string",
        "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
        "maxLength": 256
      },
      "AutoBranchCreationPattern": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 2048
      },
      "Stage": {
        "type": "string",
        "enum": [
          "PRODUCTION",
          "BETA",
          "DEVELOPMENT",
          "EXPERIMENTAL",
          "PULL_REQUEST"
        ]
      },
      "Framework": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "EnableAutoBuild": {
        "type": "boolean"
      },
      "EnvironmentVariables": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/EnvValue"
        }
      },
      "BasicAuthCredentials": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 2000,
        "format": "password"
      },
      "EnableBasicAuth": {
        "type": "boolean"
      },
      "EnablePerformanceMode": {
        "type": "boolean"
      },
      "BuildSpec": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "description": " The build specification (build spec) file for an Amplify app build. ",
        "minLength": 1,
        "maxLength": 25000,
        "format": "password"
      },
      "EnablePullRequestPreview": {
        "type": "boolean"
      },
      "PullRequestEnvironmentName": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 20
      },
      "BadRequestException": {},
      "UnauthorizedException": {},
      "InternalFailureException": {},
      "LimitExceededException": {},
      "DependentServiceFailureException": {},
      "CreateBackendEnvironmentResult": {
        "type": "object",
        "required": [
          "backendEnvironment"
        ],
        "properties": {
          "backendEnvironment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironment"
              },
              {
                "description": " Describes the backend environment for an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the create backend environment request. "
      },
      "NotFoundException": {},
      "CreateBranchResult": {
        "type": "object",
        "required": [
          "branch"
        ],
        "properties": {
          "branch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Branch"
              },
              {
                "description": " Describes the branch for an Amplify app, which maps to a third-party repository branch. "
              }
            ]
          }
        },
        "description": " The result structure for create branch request. "
      },
      "CreateDeploymentResult": {
        "type": "object",
        "required": [
          "fileUploadUrls",
          "zipUploadUrl"
        ],
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": " The job ID for this deployment. will supply to start deployment api. "
              }
            ]
          },
          "fileUploadUrls": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FileUploadUrls"
              },
              {
                "description": " When the <code>fileMap</code> argument is provided in the request, <code>fileUploadUrls</code> will contain a map of file names to upload URLs. "
              }
            ]
          },
          "zipUploadUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UploadUrl"
              },
              {
                "description": " When the <code>fileMap</code> argument is not provided in the request, this <code>zipUploadUrl</code> is returned. "
              }
            ]
          }
        },
        "description": " The result structure for the create a new deployment request. "
      },
      "MD5Hash": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 32
      },
      "CreateDomainAssociationResult": {
        "type": "object",
        "required": [
          "domainAssociation"
        ],
        "properties": {
          "domainAssociation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainAssociation"
              },
              {
                "description": " Describes the structure of a domain association, which associates a custom domain with an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the create domain association request. "
      },
      "SubDomainSetting": {
        "type": "object",
        "required": [
          "prefix",
          "branchName"
        ],
        "properties": {
          "prefix": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainPrefix"
              },
              {
                "description": " The prefix setting for the subdomain. "
              }
            ]
          },
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The branch name setting for the subdomain. "
              }
            ]
          }
        },
        "description": " Describes the settings for the subdomain. "
      },
      "AutoSubDomainCreationPattern": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 2048
      },
      "CreateWebhookResult": {
        "type": "object",
        "required": [
          "webhook"
        ],
        "properties": {
          "webhook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Webhook"
              },
              {
                "description": " Describes a webhook that connects repository events to an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the create webhook request. "
      },
      "DeleteAppResult": {
        "type": "object",
        "required": [
          "app"
        ],
        "properties": {
          "app": {
            "$ref": "#/components/schemas/App"
          }
        },
        "description": " The result structure for the delete app request. "
      },
      "DeleteBackendEnvironmentResult": {
        "type": "object",
        "required": [
          "backendEnvironment"
        ],
        "properties": {
          "backendEnvironment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironment"
              },
              {
                "description": " Describes the backend environment for an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure of the delete backend environment result. "
      },
      "DeleteBranchResult": {
        "type": "object",
        "required": [
          "branch"
        ],
        "properties": {
          "branch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Branch"
              },
              {
                "description": " The branch for an Amplify app, which maps to a third-party repository branch. "
              }
            ]
          }
        },
        "description": " The result structure for the delete branch request. "
      },
      "DeleteDomainAssociationResult": {
        "type": "object",
        "required": [
          "domainAssociation"
        ],
        "properties": {
          "domainAssociation": {
            "$ref": "#/components/schemas/DomainAssociation"
          }
        }
      },
      "DeleteJobResult": {
        "type": "object",
        "required": [
          "jobSummary"
        ],
        "properties": {
          "jobSummary": {
            "$ref": "#/components/schemas/JobSummary"
          }
        },
        "description": " The result structure for the delete job request. "
      },
      "DeleteWebhookResult": {
        "type": "object",
        "required": [
          "webhook"
        ],
        "properties": {
          "webhook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Webhook"
              },
              {
                "description": " Describes a webhook that connects repository events to an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the delete webhook request. "
      },
      "GenerateAccessLogsResult": {
        "type": "object",
        "properties": {
          "logUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogUrl"
              },
              {
                "description": " The pre-signed URL for the requested access logs. "
              }
            ]
          }
        },
        "description": " The result structure for the generate access logs request. "
      },
      "GetAppResult": {
        "type": "object",
        "required": [
          "app"
        ],
        "properties": {
          "app": {
            "$ref": "#/components/schemas/App"
          }
        }
      },
      "GetArtifactUrlResult": {
        "type": "object",
        "required": [
          "artifactId",
          "artifactUrl"
        ],
        "properties": {
          "artifactId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              },
              {
                "description": " The unique ID for an artifact. "
              }
            ]
          },
          "artifactUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactUrl"
              },
              {
                "description": " The presigned URL for the artifact. "
              }
            ]
          }
        },
        "description": " Returns the result structure for the get artifact request. "
      },
      "GetBackendEnvironmentResult": {
        "type": "object",
        "required": [
          "backendEnvironment"
        ],
        "properties": {
          "backendEnvironment": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironment"
              },
              {
                "description": " Describes the backend environment for an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the get backend environment result. "
      },
      "GetBranchResult": {
        "type": "object",
        "required": [
          "branch"
        ],
        "properties": {
          "branch": {
            "$ref": "#/components/schemas/Branch"
          }
        }
      },
      "GetDomainAssociationResult": {
        "type": "object",
        "required": [
          "domainAssociation"
        ],
        "properties": {
          "domainAssociation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainAssociation"
              },
              {
                "description": " Describes the structure of a domain association, which associates a custom domain with an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the get domain association request. "
      },
      "GetJobResult": {
        "type": "object",
        "required": [
          "job"
        ],
        "properties": {
          "job": {
            "$ref": "#/components/schemas/Job"
          }
        }
      },
      "GetWebhookResult": {
        "type": "object",
        "required": [
          "webhook"
        ],
        "properties": {
          "webhook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Webhook"
              },
              {
                "description": " Describes the structure of a webhook. "
              }
            ]
          }
        },
        "description": " The result structure for the get webhook request. "
      },
      "ListAppsResult": {
        "type": "object",
        "required": [
          "apps"
        ],
        "properties": {
          "apps": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Apps"
              },
              {
                "description": " A list of Amplify apps. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. Set to null to start listing apps from start. If non-null, the pagination token is returned in a result. Pass its value in here to list more projects. "
              }
            ]
          }
        },
        "description": " The result structure for an Amplify app list request. "
      },
      "ListArtifactsResult": {
        "type": "object",
        "required": [
          "artifacts"
        ],
        "properties": {
          "artifacts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Artifacts"
              },
              {
                "description": " A list of artifacts. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If a non-null pagination token is returned in a result, pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The result structure for the list artifacts request. "
      },
      "ListBackendEnvironmentsResult": {
        "type": "object",
        "required": [
          "backendEnvironments"
        ],
        "properties": {
          "backendEnvironments": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironments"
              },
              {
                "description": " The list of backend environments for an Amplify app. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If a non-null pagination token is returned in a result, pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The result structure for the list backend environments result. "
      },
      "ListBranchesResult": {
        "type": "object",
        "required": [
          "branches"
        ],
        "properties": {
          "branches": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Branches"
              },
              {
                "description": " A list of branches for an Amplify app. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If a non-null pagination token is returned in a result, pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The result structure for the list branches request. "
      },
      "ListDomainAssociationsResult": {
        "type": "object",
        "required": [
          "domainAssociations"
        ],
        "properties": {
          "domainAssociations": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainAssociations"
              },
              {
                "description": " A list of domain associations. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If non-null, a pagination token is returned in a result. Pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The result structure for the list domain association request. "
      },
      "ListJobsResult": {
        "type": "object",
        "required": [
          "jobSummaries"
        ],
        "properties": {
          "jobSummaries": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobSummaries"
              },
              {
                "description": " The result structure for the list job result request. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If non-null the pagination token is returned in a result. Pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The maximum number of records to list in a single response. "
      },
      "ListTagsForResourceResponse": {
        "type": "object",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " A list of tags for the specified The Amazon Resource Name (ARN). "
              }
            ]
          }
        },
        "description": " The response for the list tags for resource request. "
      },
      "ResourceNotFoundException": {},
      "ListWebhooksResult": {
        "type": "object",
        "required": [
          "webhooks"
        ],
        "properties": {
          "webhooks": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Webhooks"
              },
              {
                "description": " A list of webhooks. "
              }
            ]
          },
          "nextToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/NextToken"
              },
              {
                "description": " A pagination token. If non-null, the pagination token is returned in a result. Pass its value in another request to retrieve more entries. "
              }
            ]
          }
        },
        "description": " The result structure for the list webhooks request. "
      },
      "StartDeploymentResult": {
        "type": "object",
        "required": [
          "jobSummary"
        ],
        "properties": {
          "jobSummary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobSummary"
              },
              {
                "description": " The summary for the job. "
              }
            ]
          }
        },
        "description": " The result structure for the start a deployment request. "
      },
      "StartJobResult": {
        "type": "object",
        "required": [
          "jobSummary"
        ],
        "properties": {
          "jobSummary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobSummary"
              },
              {
                "description": " The summary for the job. "
              }
            ]
          }
        },
        "description": " The result structure for the run job request. "
      },
      "StopJobResult": {
        "type": "object",
        "required": [
          "jobSummary"
        ],
        "properties": {
          "jobSummary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobSummary"
              },
              {
                "description": " The summary for the job. "
              }
            ]
          }
        },
        "description": " The result structure for the stop job request. "
      },
      "TagResourceResponse": {
        "type": "object",
        "properties": {},
        "description": " The response for the tag resource request. "
      },
      "UntagResourceResponse": {
        "type": "object",
        "properties": {},
        "description": " The response for the untag resource request. "
      },
      "TagKey": {
        "type": "string",
        "pattern": "^(?!aws:)[a-zA-Z+-=._:/]+$",
        "minLength": 1,
        "maxLength": 128
      },
      "UpdateAppResult": {
        "type": "object",
        "required": [
          "app"
        ],
        "properties": {
          "app": {
            "allOf": [
              {
                "$ref": "#/components/schemas/App"
              },
              {
                "description": " Represents the updated Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for an Amplify app update request. "
      },
      "UpdateBranchResult": {
        "type": "object",
        "required": [
          "branch"
        ],
        "properties": {
          "branch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Branch"
              },
              {
                "description": " The branch for an Amplify app, which maps to a third-party repository branch. "
              }
            ]
          }
        },
        "description": " The result structure for the update branch request. "
      },
      "UpdateDomainAssociationResult": {
        "type": "object",
        "required": [
          "domainAssociation"
        ],
        "properties": {
          "domainAssociation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainAssociation"
              },
              {
                "description": " Describes a domain association, which associates a custom domain with an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the update domain association request. "
      },
      "UpdateWebhookResult": {
        "type": "object",
        "required": [
          "webhook"
        ],
        "properties": {
          "webhook": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Webhook"
              },
              {
                "description": " Describes a webhook that connects repository events to an Amplify app. "
              }
            ]
          }
        },
        "description": " The result structure for the update webhook request. "
      },
      "AccessToken": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 255,
        "format": "password"
      },
      "ActiveJobId": {
        "type": "string",
        "maxLength": 1000
      },
      "AppId": {
        "type": "string",
        "pattern": "d[a-z0-9]+",
        "minLength": 1,
        "maxLength": 20
      },
      "AppArn": {
        "type": "string",
        "maxLength": 1000
      },
      "Name": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 255
      },
      "TagMap": {
        "type": "object",
        "minProperties": 0,
        "maxProperties": 50,
        "additionalProperties": {
          "$ref": "#/components/schemas/TagValue"
        }
      },
      "Description": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 1000
      },
      "Repository": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 1000
      },
      "Platform": {
        "type": "string",
        "enum": [
          "WEB",
          "WEB_DYNAMIC",
          "WEB_COMPUTE"
        ]
      },
      "CreateTime": {
        "type": "string",
        "format": "date-time"
      },
      "UpdateTime": {
        "type": "string",
        "format": "date-time"
      },
      "ServiceRoleArn": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "minLength": 0,
        "maxLength": 1000
      },
      "DefaultDomain": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1000
      },
      "EnableBranchAutoBuild": {
        "type": "boolean"
      },
      "EnableBranchAutoDeletion": {
        "type": "boolean"
      },
      "CustomRules": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CustomRule"
        }
      },
      "ProductionBranch": {
        "type": "object",
        "properties": {
          "lastDeployTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LastDeployTime"
              },
              {
                "description": " The last deploy time of the production branch. "
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Status"
              },
              {
                "description": " The status of the production branch. "
              }
            ]
          },
          "thumbnailUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailUrl"
              },
              {
                "description": " The thumbnail URL for the production branch. "
              }
            ]
          },
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The branch name for the production branch. "
              }
            ]
          }
        },
        "description": " Describes the information about a production branch for an Amplify app. "
      },
      "CustomHeaders": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "minLength": 0,
        "maxLength": 25000
      },
      "EnableAutoBranchCreation": {
        "type": "boolean"
      },
      "AutoBranchCreationPatterns": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AutoBranchCreationPattern"
        }
      },
      "AutoBranchCreationConfig": {
        "type": "object",
        "properties": {
          "stage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Stage"
              },
              {
                "description": " Describes the current stage for the autocreated branch. "
              }
            ]
          },
          "framework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Framework"
              },
              {
                "description": " The framework for the autocreated branch. "
              }
            ]
          },
          "enableAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBuild"
              },
              {
                "description": " Enables auto building for the autocreated branch. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables for the autocreated branch. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for the autocreated branch. "
              }
            ]
          },
          "enablePerformanceMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePerformanceMode"
              },
              {
                "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) for the autocreated branch. "
              }
            ]
          },
          "enablePullRequestPreview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePullRequestPreview"
              },
              {
                "description": " Enables pull request previews for the autocreated branch. "
              }
            ]
          },
          "pullRequestEnvironmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullRequestEnvironmentName"
              },
              {
                "description": " The Amplify environment name for the pull request. "
              }
            ]
          }
        },
        "description": " Describes the automated branch creation configuration. "
      },
      "RepositoryCloneMethod": {
        "type": "string",
        "enum": [
          "SSH",
          "TOKEN",
          "SIGV4"
        ]
      },
      "App": {
        "type": "object",
        "required": [
          "appId",
          "appArn",
          "name",
          "description",
          "repository",
          "platform",
          "createTime",
          "updateTime",
          "environmentVariables",
          "defaultDomain",
          "enableBranchAutoBuild",
          "enableBasicAuth"
        ],
        "properties": {
          "appId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppId"
              },
              {
                "description": " The unique ID of the Amplify app. "
              }
            ]
          },
          "appArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AppArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) of the Amplify app. "
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Name"
              },
              {
                "description": " The name for the Amplify app. "
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " The tag for the Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for the Amplify app. "
              }
            ]
          },
          "repository": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Repository"
              },
              {
                "description": " The Git repository for the Amplify app. "
              }
            ]
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Platform"
              },
              {
                "description": " The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>."
              }
            ]
          },
          "createTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateTime"
              },
              {
                "description": " Creates a date and time for the Amplify app. "
              }
            ]
          },
          "updateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateTime"
              },
              {
                "description": " Updates the date and time for the Amplify app. "
              }
            ]
          },
          "iamServiceRoleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceRoleArn"
              },
              {
                "description": " The AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) of the Amplify app. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables for the Amplify app. "
              }
            ]
          },
          "defaultDomain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DefaultDomain"
              },
              {
                "description": " The default domain for the Amplify app. "
              }
            ]
          },
          "enableBranchAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBranchAutoBuild"
              },
              {
                "description": " Enables the auto-building of branches for the Amplify app. "
              }
            ]
          },
          "enableBranchAutoDeletion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBranchAutoDeletion"
              },
              {
                "description": " Automatically disconnect a branch in the Amplify Console when you delete a branch from your Git repository. "
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for the Amplify app's branches. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for branches for the Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "customRules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomRules"
              },
              {
                "description": " Describes the custom redirect and rewrite rules for the Amplify app. "
              }
            ]
          },
          "productionBranch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ProductionBranch"
              },
              {
                "description": " Describes the information about a production branch of the Amplify app. "
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " Describes the content of the build specification (build spec) for the Amplify app. "
              }
            ]
          },
          "customHeaders": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomHeaders"
              },
              {
                "description": "Describes the custom HTTP headers for the Amplify app."
              }
            ]
          },
          "enableAutoBranchCreation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBranchCreation"
              },
              {
                "description": " Enables automated branch creation for the Amplify app. "
              }
            ]
          },
          "autoBranchCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationPatterns"
              },
              {
                "description": " Describes the automated branch creation glob patterns for the Amplify app. "
              }
            ]
          },
          "autoBranchCreationConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationConfig"
              },
              {
                "description": " Describes the automated branch creation configuration for the Amplify app. "
              }
            ]
          },
          "repositoryCloneMethod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RepositoryCloneMethod"
              },
              {
                "description": "<note> <p>This is for internal use.</p> </note> <p>The Amplify service uses this parameter to specify the authentication protocol to use to access the Git repository for an Amplify app. Amplify specifies <code>TOKEN</code> for a GitHub repository, <code>SIGV4</code> for an Amazon Web Services CodeCommit repository, and <code>SSH</code> for GitLab and Bitbucket repositories.</p>"
              }
            ]
          }
        },
        "description": " Represents the different branches of a repository for building, deploying, and hosting an Amplify app. "
      },
      "Apps": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/App"
        }
      },
      "ArtifactFileName": {
        "type": "string",
        "maxLength": 1000
      },
      "ArtifactId": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "Artifact": {
        "type": "object",
        "required": [
          "artifactFileName",
          "artifactId"
        ],
        "properties": {
          "artifactFileName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactFileName"
              },
              {
                "description": " The file name for the artifact. "
              }
            ]
          },
          "artifactId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactId"
              },
              {
                "description": " The unique ID for the artifact. "
              }
            ]
          }
        },
        "description": " Describes an artifact. "
      },
      "ArtifactUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "Artifacts": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Artifact"
        }
      },
      "ArtifactsUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "AssociatedResource": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2048
      },
      "AssociatedResources": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AssociatedResource"
        }
      },
      "AutoSubDomainCreationPatterns": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/AutoSubDomainCreationPattern"
        }
      },
      "AutoSubDomainIAMRole": {
        "type": "string",
        "pattern": "^$|^arn:aws:iam::\\d{12}:role.+",
        "maxLength": 1000
      },
      "BackendEnvironmentArn": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "minLength": 0,
        "maxLength": 1000
      },
      "EnvironmentName": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 255
      },
      "StackName": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 255
      },
      "DeploymentArtifacts": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 1000
      },
      "BackendEnvironment": {
        "type": "object",
        "required": [
          "backendEnvironmentArn",
          "environmentName",
          "createTime",
          "updateTime"
        ],
        "properties": {
          "backendEnvironmentArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironmentArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. "
              }
            ]
          },
          "environmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentName"
              },
              {
                "description": " The name for a backend environment that is part of an Amplify app. "
              }
            ]
          },
          "stackName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StackName"
              },
              {
                "description": " The AWS CloudFormation stack name of a backend environment. "
              }
            ]
          },
          "deploymentArtifacts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentArtifacts"
              },
              {
                "description": " The name of deployment artifacts. "
              }
            ]
          },
          "createTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateTime"
              },
              {
                "description": " The creation date and time for a backend environment that is part of an Amplify app. "
              }
            ]
          },
          "updateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateTime"
              },
              {
                "description": " The last updated date and time for a backend environment that is part of an Amplify app. "
              }
            ]
          }
        },
        "description": " Describes the backend environment for an Amplify app. "
      },
      "BackendEnvironments": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/BackendEnvironment"
        }
      },
      "BranchArn": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 1000
      },
      "BranchName": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 255
      },
      "DisplayName": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "EnableNotification": {
        "type": "boolean"
      },
      "CustomDomains": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CustomDomain"
        },
        "maxItems": 255
      },
      "TotalNumberOfJobs": {
        "type": "string",
        "maxLength": 1000
      },
      "ThumbnailUrl": {
        "type": "string",
        "minLength": 1,
        "maxLength": 2000
      },
      "TTL": {
        "type": "string",
        "pattern": "\\d*",
        "description": " The content Time to Live (TTL) for the website in seconds. ",
        "minLength": 0,
        "maxLength": 32
      },
      "Branch": {
        "type": "object",
        "required": [
          "branchArn",
          "branchName",
          "description",
          "stage",
          "displayName",
          "enableNotification",
          "createTime",
          "updateTime",
          "environmentVariables",
          "enableAutoBuild",
          "customDomains",
          "framework",
          "activeJobId",
          "totalNumberOfJobs",
          "enableBasicAuth",
          "ttl",
          "enablePullRequestPreview"
        ],
        "properties": {
          "branchArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for a branch that is part of an Amplify app. "
              }
            ]
          },
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The name for the branch that is part of an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for the branch that is part of an Amplify app. "
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " The tag for the branch of an Amplify app. "
              }
            ]
          },
          "stage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Stage"
              },
              {
                "description": " The current stage for the branch that is part of an Amplify app. "
              }
            ]
          },
          "displayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": " The display name for the branch. This is used as the default domain prefix. "
              }
            ]
          },
          "enableNotification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableNotification"
              },
              {
                "description": " Enables notifications for a branch that is part of an Amplify app. "
              }
            ]
          },
          "createTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateTime"
              },
              {
                "description": " The creation date and time for a branch that is part of an Amplify app. "
              }
            ]
          },
          "updateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateTime"
              },
              {
                "description": " The last updated date and time for a branch that is part of an Amplify app. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables specific to a branch of an Amplify app. "
              }
            ]
          },
          "enableAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBuild"
              },
              {
                "description": " Enables auto-building on push for a branch of an Amplify app. "
              }
            ]
          },
          "customDomains": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomDomains"
              },
              {
                "description": " The custom domains for a branch of an Amplify app. "
              }
            ]
          },
          "framework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Framework"
              },
              {
                "description": " The framework for a branch of an Amplify app. "
              }
            ]
          },
          "activeJobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActiveJobId"
              },
              {
                "description": " The ID of the active job for a branch of an Amplify app. "
              }
            ]
          },
          "totalNumberOfJobs": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TotalNumberOfJobs"
              },
              {
                "description": " The total number of jobs that are part of an Amplify app. "
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for a branch of an Amplify app. "
              }
            ]
          },
          "enablePerformanceMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePerformanceMode"
              },
              {
                "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
              }
            ]
          },
          "thumbnailUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ThumbnailUrl"
              },
              {
                "description": " The thumbnail URL for the branch of an Amplify app. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) content for the branch of an Amplify app. "
              }
            ]
          },
          "ttl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TTL"
              },
              {
                "description": " The content Time to Live (TTL) for the website in seconds. "
              }
            ]
          },
          "associatedResources": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AssociatedResources"
              },
              {
                "description": " A list of custom resources that are linked to this branch. "
              }
            ]
          },
          "enablePullRequestPreview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePullRequestPreview"
              },
              {
                "description": " Enables pull request previews for the branch. "
              }
            ]
          },
          "pullRequestEnvironmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullRequestEnvironmentName"
              },
              {
                "description": " The Amplify environment name for the pull request. "
              }
            ]
          },
          "destinationBranch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The destination branch if the branch is a pull request branch. "
              }
            ]
          },
          "sourceBranch": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The source branch if the branch is a pull request branch. "
              }
            ]
          },
          "backendEnvironmentArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironmentArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. "
              }
            ]
          }
        },
        "description": " The branch for an Amplify app, which maps to a third-party repository branch. "
      },
      "Branches": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Branch"
        },
        "maxItems": 255
      },
      "CertificateVerificationDNSRecord": {
        "type": "string",
        "maxLength": 1000
      },
      "CommitId": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "CommitMessage": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 10000
      },
      "CommitTime": {
        "type": "string",
        "format": "date-time"
      },
      "Condition": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "minLength": 0,
        "maxLength": 2048
      },
      "Context": {
        "type": "string"
      },
      "OauthToken": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 1000,
        "format": "password"
      },
      "CreateAppRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "title": "CreateAppRequest",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Name"
              },
              {
                "description": " The name for an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for an Amplify app. "
              }
            ]
          },
          "repository": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Repository"
              },
              {
                "description": " The repository for an Amplify app. "
              }
            ]
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Platform"
              },
              {
                "description": " The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>."
              }
            ]
          },
          "iamServiceRoleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceRoleArn"
              },
              {
                "description": " The AWS Identity and Access Management (IAM) service role for an Amplify app. "
              }
            ]
          },
          "oauthToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OauthToken"
              },
              {
                "description": "<p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p> <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit. To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p> <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you create a new app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>"
              }
            ]
          },
          "accessToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccessToken"
              },
              {
                "description": "<p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p> <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p> <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you create a new app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>"
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables map for an Amplify app. "
              }
            ]
          },
          "enableBranchAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBranchAutoBuild"
              },
              {
                "description": " Enables the auto building of branches for an Amplify app. "
              }
            ]
          },
          "enableBranchAutoDeletion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBranchAutoDeletion"
              },
              {
                "description": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository. "
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "customRules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomRules"
              },
              {
                "description": " The custom rewrite and redirect rules for an Amplify app. "
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " The tag for an Amplify app. "
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) for an Amplify app. "
              }
            ]
          },
          "customHeaders": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomHeaders"
              },
              {
                "description": "The custom HTTP headers for an Amplify app."
              }
            ]
          },
          "enableAutoBranchCreation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBranchCreation"
              },
              {
                "description": " Enables automated branch creation for an Amplify app. "
              }
            ]
          },
          "autoBranchCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationPatterns"
              },
              {
                "description": " The automated branch creation glob patterns for an Amplify app. "
              }
            ]
          },
          "autoBranchCreationConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationConfig"
              },
              {
                "description": " The automated branch creation configuration for an Amplify app. "
              }
            ]
          }
        },
        "description": " The request structure used to create apps in Amplify. "
      },
      "CreateBackendEnvironmentRequest": {
        "type": "object",
        "required": [
          "environmentName"
        ],
        "title": "CreateBackendEnvironmentRequest",
        "properties": {
          "environmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentName"
              },
              {
                "description": " The name for the backend environment. "
              }
            ]
          },
          "stackName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StackName"
              },
              {
                "description": " The AWS CloudFormation stack name of a backend environment. "
              }
            ]
          },
          "deploymentArtifacts": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DeploymentArtifacts"
              },
              {
                "description": " The name of deployment artifacts. "
              }
            ]
          }
        },
        "description": " The request structure for the backend environment create request. "
      },
      "CreateBranchRequest": {
        "type": "object",
        "required": [
          "branchName"
        ],
        "title": "CreateBranchRequest",
        "properties": {
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The name for the branch. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for the branch. "
              }
            ]
          },
          "stage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Stage"
              },
              {
                "description": " Describes the current stage for the branch. "
              }
            ]
          },
          "framework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Framework"
              },
              {
                "description": " The framework for the branch. "
              }
            ]
          },
          "enableNotification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableNotification"
              },
              {
                "description": " Enables notifications for the branch. "
              }
            ]
          },
          "enableAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBuild"
              },
              {
                "description": " Enables auto building for the branch. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables for the branch. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for the branch. "
              }
            ]
          },
          "enablePerformanceMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePerformanceMode"
              },
              {
                "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
              }
            ]
          },
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " The tag for the branch. "
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) for the branch. "
              }
            ]
          },
          "ttl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TTL"
              },
              {
                "description": " The content Time To Live (TTL) for the website in seconds. "
              }
            ]
          },
          "displayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": " The display name for a branch. This is used as the default domain prefix. "
              }
            ]
          },
          "enablePullRequestPreview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePullRequestPreview"
              },
              {
                "description": " Enables pull request previews for this branch. "
              }
            ]
          },
          "pullRequestEnvironmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullRequestEnvironmentName"
              },
              {
                "description": " The Amplify environment name for the pull request. "
              }
            ]
          },
          "backendEnvironmentArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironmentArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. "
              }
            ]
          }
        },
        "description": " The request structure for the create branch request. "
      },
      "FileMap": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/MD5Hash"
        }
      },
      "CreateDeploymentRequest": {
        "type": "object",
        "title": "CreateDeploymentRequest",
        "properties": {
          "fileMap": {
            "allOf": [
              {
                "$ref": "#/components/schemas/FileMap"
              },
              {
                "description": " An optional file map that contains the file name as the key and the file content md5 hash as the value. If this argument is provided, the service will generate a unique upload URL per file. Otherwise, the service will only generate a single upload URL for the zipped files. "
              }
            ]
          }
        },
        "description": " The request structure for the create a new deployment request. "
      },
      "JobId": {
        "type": "string",
        "pattern": "[0-9]+",
        "maxLength": 255
      },
      "FileUploadUrls": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/UploadUrl"
        }
      },
      "UploadUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "DomainName": {
        "type": "string",
        "pattern": "^(((?!-)[A-Za-z0-9-]{0,62}[A-Za-z0-9])\\.)+((?!-)[A-Za-z0-9-]{1,62}[A-Za-z0-9])(\\.)?$",
        "maxLength": 64
      },
      "EnableAutoSubDomain": {
        "type": "boolean"
      },
      "SubDomainSettings": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SubDomainSetting"
        },
        "maxItems": 500
      },
      "CreateDomainAssociationRequest": {
        "type": "object",
        "required": [
          "domainName",
          "subDomainSettings"
        ],
        "title": "CreateDomainAssociationRequest",
        "properties": {
          "domainName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainName"
              },
              {
                "description": " The domain name for the domain association. "
              }
            ]
          },
          "enableAutoSubDomain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoSubDomain"
              },
              {
                "description": " Enables the automated creation of subdomains for branches. "
              }
            ]
          },
          "subDomainSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubDomainSettings"
              },
              {
                "description": " The setting for the subdomain. "
              }
            ]
          },
          "autoSubDomainCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainCreationPatterns"
              },
              {
                "description": " Sets the branch patterns for automatic subdomain creation. "
              }
            ]
          },
          "autoSubDomainIAMRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainIAMRole"
              },
              {
                "description": " The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. "
              }
            ]
          }
        },
        "description": " The request structure for the create domain association request. "
      },
      "DomainAssociation": {
        "type": "object",
        "required": [
          "domainAssociationArn",
          "domainName",
          "enableAutoSubDomain",
          "domainStatus",
          "statusReason",
          "subDomains"
        ],
        "properties": {
          "domainAssociationArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainAssociationArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for the domain association. "
              }
            ]
          },
          "domainName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainName"
              },
              {
                "description": " The name of the domain. "
              }
            ]
          },
          "enableAutoSubDomain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoSubDomain"
              },
              {
                "description": " Enables the automated creation of subdomains for branches. "
              }
            ]
          },
          "autoSubDomainCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainCreationPatterns"
              },
              {
                "description": " Sets branch patterns for automatic subdomain creation. "
              }
            ]
          },
          "autoSubDomainIAMRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainIAMRole"
              },
              {
                "description": " The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. "
              }
            ]
          },
          "domainStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainStatus"
              },
              {
                "description": " The current status of the domain association. "
              }
            ]
          },
          "statusReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusReason"
              },
              {
                "description": " The reason for the current status of the domain association. "
              }
            ]
          },
          "certificateVerificationDNSRecord": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateVerificationDNSRecord"
              },
              {
                "description": " The DNS record for certificate verification. "
              }
            ]
          },
          "subDomains": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubDomains"
              },
              {
                "description": " The subdomains for the domain association. "
              }
            ]
          }
        },
        "description": " Describes a domain association that associates a custom domain with an Amplify app. "
      },
      "CreateWebhookRequest": {
        "type": "object",
        "required": [
          "branchName"
        ],
        "title": "CreateWebhookRequest",
        "properties": {
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The name for a branch that is part of an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for a webhook. "
              }
            ]
          }
        },
        "description": " The request structure for the create webhook request. "
      },
      "Webhook": {
        "type": "object",
        "required": [
          "webhookArn",
          "webhookId",
          "webhookUrl",
          "branchName",
          "description",
          "createTime",
          "updateTime"
        ],
        "properties": {
          "webhookArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for the webhook. "
              }
            ]
          },
          "webhookId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookId"
              },
              {
                "description": " The ID of the webhook. "
              }
            ]
          },
          "webhookUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookUrl"
              },
              {
                "description": " The URL of the webhook. "
              }
            ]
          },
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The name for a branch that is part of an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for a webhook. "
              }
            ]
          },
          "createTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateTime"
              },
              {
                "description": " The create date and time for a webhook. "
              }
            ]
          },
          "updateTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateTime"
              },
              {
                "description": " Updates the date and time for a webhook. "
              }
            ]
          }
        },
        "description": " Describes a webhook that connects repository events to an Amplify app. "
      },
      "CustomDomain": {
        "type": "string",
        "maxLength": 255
      },
      "Source": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 2048
      },
      "Target": {
        "type": "string",
        "pattern": "\\(\\?s\\).\\+",
        "minLength": 1,
        "maxLength": 2048
      },
      "Status": {
        "type": "string",
        "pattern": ".{3,7}",
        "minLength": 3,
        "maxLength": 7
      },
      "DNSRecord": {
        "type": "string",
        "maxLength": 1000
      },
      "DeleteAppRequest": {
        "type": "object",
        "title": "DeleteAppRequest",
        "properties": {},
        "description": " Describes the request structure for the delete app request. "
      },
      "DeleteBackendEnvironmentRequest": {
        "type": "object",
        "title": "DeleteBackendEnvironmentRequest",
        "properties": {},
        "description": " The request structure for the delete backend environment request. "
      },
      "DeleteBranchRequest": {
        "type": "object",
        "title": "DeleteBranchRequest",
        "properties": {},
        "description": " The request structure for the delete branch request. "
      },
      "DeleteDomainAssociationRequest": {
        "type": "object",
        "title": "DeleteDomainAssociationRequest",
        "properties": {},
        "description": " The request structure for the delete domain association request. "
      },
      "DeleteJobRequest": {
        "type": "object",
        "title": "DeleteJobRequest",
        "properties": {},
        "description": " The request structure for the delete job request. "
      },
      "JobSummary": {
        "type": "object",
        "required": [
          "jobArn",
          "jobId",
          "commitId",
          "commitMessage",
          "commitTime",
          "startTime",
          "status",
          "jobType"
        ],
        "properties": {
          "jobArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for the job. "
              }
            ]
          },
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": " The unique ID for the job. "
              }
            ]
          },
          "commitId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitId"
              },
              {
                "description": " The commit ID from a third-party repository provider for the job. "
              }
            ]
          },
          "commitMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitMessage"
              },
              {
                "description": " The commit message from a third-party repository provider for the job. "
              }
            ]
          },
          "commitTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitTime"
              },
              {
                "description": " The commit date and time for the job. "
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTime"
              },
              {
                "description": " The start date and time for the job. "
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobStatus"
              },
              {
                "description": " The current status for the job. "
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndTime"
              },
              {
                "description": " The end date and time for the job. "
              }
            ]
          },
          "jobType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobType"
              },
              {
                "description": " The type for the job. If the value is <code>RELEASE</code>, the job was manually released from its source by using the <code>StartJob</code> API. If the value is <code>RETRY</code>, the job was manually retried using the <code>StartJob</code> API. If the value is <code>WEB_HOOK</code>, the job was automatically triggered by webhooks. "
              }
            ]
          }
        },
        "description": " Describes the summary for an execution job for an Amplify app. "
      },
      "WebhookId": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "DeleteWebhookRequest": {
        "type": "object",
        "title": "DeleteWebhookRequest",
        "properties": {},
        "description": " The request structure for the delete webhook request. "
      },
      "DomainAssociationArn": {
        "type": "string",
        "maxLength": 1000
      },
      "DomainStatus": {
        "type": "string",
        "enum": [
          "PENDING_VERIFICATION",
          "IN_PROGRESS",
          "AVAILABLE",
          "PENDING_DEPLOYMENT",
          "FAILED",
          "CREATING",
          "REQUESTING_CERTIFICATE",
          "UPDATING"
        ]
      },
      "StatusReason": {
        "type": "string",
        "maxLength": 1000
      },
      "SubDomains": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/SubDomain"
        },
        "maxItems": 500
      },
      "DomainAssociations": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/DomainAssociation"
        },
        "maxItems": 255
      },
      "DomainPrefix": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "EndTime": {
        "type": "string",
        "format": "date-time"
      },
      "EnvKey": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "FileName": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "StartTime": {
        "type": "string",
        "format": "date-time"
      },
      "GenerateAccessLogsRequest": {
        "type": "object",
        "required": [
          "domainName"
        ],
        "title": "GenerateAccessLogsRequest",
        "properties": {
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTime"
              },
              {
                "description": " The time at which the logs should start. The time range specified is inclusive of the start time. "
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndTime"
              },
              {
                "description": " The time at which the logs should end. The time range specified is inclusive of the end time. "
              }
            ]
          },
          "domainName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DomainName"
              },
              {
                "description": " The name of the domain. "
              }
            ]
          }
        },
        "description": " The request structure for the generate access logs request. "
      },
      "LogUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "GetAppRequest": {
        "type": "object",
        "title": "GetAppRequest",
        "properties": {},
        "description": " The request structure for the get app request. "
      },
      "GetArtifactUrlRequest": {
        "type": "object",
        "title": "GetArtifactUrlRequest",
        "properties": {},
        "description": " Returns the request structure for the get artifact request. "
      },
      "GetBackendEnvironmentRequest": {
        "type": "object",
        "title": "GetBackendEnvironmentRequest",
        "properties": {},
        "description": " The request structure for the get backend environment request. "
      },
      "GetBranchRequest": {
        "type": "object",
        "title": "GetBranchRequest",
        "properties": {},
        "description": " The request structure for the get branch request. "
      },
      "GetDomainAssociationRequest": {
        "type": "object",
        "title": "GetDomainAssociationRequest",
        "properties": {},
        "description": " The request structure for the get domain association request. "
      },
      "GetJobRequest": {
        "type": "object",
        "title": "GetJobRequest",
        "properties": {},
        "description": " The request structure for the get job request. "
      },
      "Job": {
        "type": "object",
        "required": [
          "summary",
          "steps"
        ],
        "properties": {
          "summary": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobSummary"
              },
              {
                "description": " Describes the summary for an execution job for an Amplify app. "
              }
            ]
          },
          "steps": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Steps"
              },
              {
                "description": " The execution steps for an execution job, for an Amplify app. "
              }
            ]
          }
        },
        "description": " Describes an execution job for an Amplify app. "
      },
      "GetWebhookRequest": {
        "type": "object",
        "title": "GetWebhookRequest",
        "properties": {},
        "description": " The request structure for the get webhook request. "
      },
      "Steps": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Step"
        }
      },
      "JobArn": {
        "type": "string",
        "maxLength": 1000
      },
      "JobReason": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 255
      },
      "JobStatus": {
        "type": "string",
        "enum": [
          "PENDING",
          "PROVISIONING",
          "RUNNING",
          "FAILED",
          "SUCCEED",
          "CANCELLING",
          "CANCELLED"
        ]
      },
      "JobSummaries": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/JobSummary"
        }
      },
      "JobType": {
        "type": "string",
        "enum": [
          "RELEASE",
          "RETRY",
          "MANUAL",
          "WEB_HOOK"
        ],
        "maxLength": 10
      },
      "LastDeployTime": {
        "type": "string",
        "format": "date-time"
      },
      "NextToken": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 2000
      },
      "MaxResults": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "ListAppsRequest": {
        "type": "object",
        "title": "ListAppsRequest",
        "properties": {},
        "description": " The request structure for the list apps request. "
      },
      "ListArtifactsRequest": {
        "type": "object",
        "title": "ListArtifactsRequest",
        "properties": {},
        "description": " Describes the request structure for the list artifacts request. "
      },
      "ListBackendEnvironmentsRequest": {
        "type": "object",
        "title": "ListBackendEnvironmentsRequest",
        "properties": {},
        "description": " The request structure for the list backend environments request. "
      },
      "ListBranchesRequest": {
        "type": "object",
        "title": "ListBranchesRequest",
        "properties": {},
        "description": " The request structure for the list branches request. "
      },
      "ListDomainAssociationsRequest": {
        "type": "object",
        "title": "ListDomainAssociationsRequest",
        "properties": {},
        "description": " The request structure for the list domain associations request. "
      },
      "ListJobsRequest": {
        "type": "object",
        "title": "ListJobsRequest",
        "properties": {},
        "description": " The request structure for the list jobs request. "
      },
      "ResourceArn": {
        "type": "string",
        "pattern": "^arn:aws:amplify:.*",
        "minLength": 0,
        "maxLength": 2048
      },
      "ListTagsForResourceRequest": {
        "type": "object",
        "title": "ListTagsForResourceRequest",
        "properties": {},
        "description": " The request structure to use to list tags for a resource. "
      },
      "ListWebhooksRequest": {
        "type": "object",
        "title": "ListWebhooksRequest",
        "properties": {},
        "description": " The request structure for the list webhooks request. "
      },
      "Webhooks": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Webhook"
        }
      },
      "Screenshots": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/ThumbnailUrl"
        }
      },
      "SourceUrl": {
        "type": "string",
        "pattern": "\\(\\?s\\).*",
        "maxLength": 3000
      },
      "StartDeploymentRequest": {
        "type": "object",
        "title": "StartDeploymentRequest",
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": " The job ID for this deployment, generated by the create deployment request. "
              }
            ]
          },
          "sourceUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SourceUrl"
              },
              {
                "description": " The source URL for this deployment, used when calling start deployment without create deployment. The source URL can be any HTTP GET URL that is publicly accessible and downloads a single .zip file. "
              }
            ]
          }
        },
        "description": " The request structure for the start a deployment request. "
      },
      "StartJobRequest": {
        "type": "object",
        "required": [
          "jobType"
        ],
        "title": "StartJobRequest",
        "properties": {
          "jobId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobId"
              },
              {
                "description": " The unique ID for an existing job. This is required if the value of <code>jobType</code> is <code>RETRY</code>. "
              }
            ]
          },
          "jobType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobType"
              },
              {
                "description": " Describes the type for the job. The job type <code>RELEASE</code> starts a new job with the latest change from the specified branch. This value is available only for apps that are connected to a repository. The job type <code>RETRY</code> retries an existing job. If the job type value is <code>RETRY</code>, the <code>jobId</code> is also required. "
              }
            ]
          },
          "jobReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobReason"
              },
              {
                "description": " A descriptive reason for starting this job. "
              }
            ]
          },
          "commitId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitId"
              },
              {
                "description": " The commit ID from a third-party repository provider for the job. "
              }
            ]
          },
          "commitMessage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitMessage"
              },
              {
                "description": " The commit message from a third-party repository provider for the job. "
              }
            ]
          },
          "commitTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CommitTime"
              },
              {
                "description": " The commit date and time for the job. "
              }
            ]
          }
        },
        "description": " The request structure for the start job request. "
      },
      "StepName": {
        "type": "string",
        "maxLength": 255
      },
      "TestArtifactsUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "TestConfigUrl": {
        "type": "string",
        "maxLength": 1000
      },
      "Step": {
        "type": "object",
        "required": [
          "stepName",
          "startTime",
          "status",
          "endTime"
        ],
        "properties": {
          "stepName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StepName"
              },
              {
                "description": " The name of the execution step. "
              }
            ]
          },
          "startTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StartTime"
              },
              {
                "description": " The start date and time of the execution step. "
              }
            ]
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobStatus"
              },
              {
                "description": " The status of the execution step. "
              }
            ]
          },
          "endTime": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EndTime"
              },
              {
                "description": " The end date and time of the execution step. "
              }
            ]
          },
          "logUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LogUrl"
              },
              {
                "description": " The URL to the logs for the execution step. "
              }
            ]
          },
          "artifactsUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArtifactsUrl"
              },
              {
                "description": " The URL to the artifact for the execution step. "
              }
            ]
          },
          "testArtifactsUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TestArtifactsUrl"
              },
              {
                "description": " The URL to the test artifact for the execution step. "
              }
            ]
          },
          "testConfigUrl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TestConfigUrl"
              },
              {
                "description": " The URL to the test configuration for the execution step. "
              }
            ]
          },
          "screenshots": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Screenshots"
              },
              {
                "description": " The list of screenshot URLs for the execution step, if relevant. "
              }
            ]
          },
          "statusReason": {
            "allOf": [
              {
                "$ref": "#/components/schemas/StatusReason"
              },
              {
                "description": " The reason for the current step status. "
              }
            ]
          },
          "context": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Context"
              },
              {
                "description": " The context for the current step. Includes a build image if the step is build. "
              }
            ]
          }
        },
        "description": " Describes an execution step, for an execution job, for an Amplify app. "
      },
      "StopJobRequest": {
        "type": "object",
        "title": "StopJobRequest",
        "properties": {},
        "description": " The request structure for the stop job request. "
      },
      "Verified": {
        "type": "boolean"
      },
      "SubDomain": {
        "type": "object",
        "required": [
          "subDomainSetting",
          "verified",
          "dnsRecord"
        ],
        "properties": {
          "subDomainSetting": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubDomainSetting"
              },
              {
                "description": " Describes the settings for the subdomain. "
              }
            ]
          },
          "verified": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Verified"
              },
              {
                "description": " The verified status of the subdomain "
              }
            ]
          },
          "dnsRecord": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DNSRecord"
              },
              {
                "description": " The DNS record for the subdomain. "
              }
            ]
          }
        },
        "description": " The subdomain for the domain association. "
      },
      "TagKeyList": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/TagKey"
        },
        "minItems": 1,
        "maxItems": 50
      },
      "TagResourceRequest": {
        "type": "object",
        "required": [
          "tags"
        ],
        "title": "TagResourceRequest",
        "properties": {
          "tags": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TagMap"
              },
              {
                "description": " The tags used to tag the resource. "
              }
            ]
          }
        },
        "description": " The request structure to tag a resource with a tag key and value. "
      },
      "ThumbnailName": {
        "type": "string",
        "maxLength": 256
      },
      "UntagResourceRequest": {
        "type": "object",
        "title": "UntagResourceRequest",
        "properties": {},
        "description": " The request structure for the untag resource request. "
      },
      "UpdateAppRequest": {
        "type": "object",
        "title": "UpdateAppRequest",
        "properties": {
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Name"
              },
              {
                "description": " The name for an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for an Amplify app. "
              }
            ]
          },
          "platform": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Platform"
              },
              {
                "description": " The platform for the Amplify app. For a static app, set the platform type to <code>WEB</code>. For a dynamic server-side rendered (SSR) app, set the platform type to <code>WEB_COMPUTE</code>. For an app requiring Amplify Hosting's original SSR support only, set the platform type to <code>WEB_DYNAMIC</code>."
              }
            ]
          },
          "iamServiceRoleArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ServiceRoleArn"
              },
              {
                "description": " The AWS Identity and Access Management (IAM) service role for an Amplify app. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables for an Amplify app. "
              }
            ]
          },
          "enableBranchAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBuild"
              },
              {
                "description": " Enables branch auto-building for an Amplify app. "
              }
            ]
          },
          "enableBranchAutoDeletion": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBranchAutoDeletion"
              },
              {
                "description": " Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository. "
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for an Amplify app. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for an Amplify app. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "customRules": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomRules"
              },
              {
                "description": " The custom redirect and rewrite rules for an Amplify app. "
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) for an Amplify app. "
              }
            ]
          },
          "customHeaders": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomHeaders"
              },
              {
                "description": "The custom HTTP headers for an Amplify app."
              }
            ]
          },
          "enableAutoBranchCreation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBranchCreation"
              },
              {
                "description": " Enables automated branch creation for an Amplify app. "
              }
            ]
          },
          "autoBranchCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationPatterns"
              },
              {
                "description": " Describes the automated branch creation glob patterns for an Amplify app. "
              }
            ]
          },
          "autoBranchCreationConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoBranchCreationConfig"
              },
              {
                "description": " The automated branch creation configuration for an Amplify app. "
              }
            ]
          },
          "repository": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Repository"
              },
              {
                "description": " The name of the repository for an Amplify app "
              }
            ]
          },
          "oauthToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OauthToken"
              },
              {
                "description": "<p>The OAuth token for a third-party source control system for an Amplify app. The OAuth token is used to create a webhook and a read-only deploy key using SSH cloning. The OAuth token is not stored.</p> <p>Use <code>oauthToken</code> for repository providers other than GitHub, such as Bitbucket or CodeCommit.</p> <p>To authorize access to GitHub as your repository provider, use <code>accessToken</code>.</p> <p>You must specify either <code>oauthToken</code> or <code>accessToken</code> when you update an app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>"
              }
            ]
          },
          "accessToken": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccessToken"
              },
              {
                "description": "<p>The personal access token for a GitHub repository for an Amplify app. The personal access token is used to authorize access to a GitHub repository using the Amplify GitHub App. The token is not stored.</p> <p>Use <code>accessToken</code> for GitHub repositories only. To authorize access to a repository provider such as Bitbucket or CodeCommit, use <code>oauthToken</code>.</p> <p>You must specify either <code>accessToken</code> or <code>oauthToken</code> when you update an app.</p> <p>Existing Amplify apps deployed from a GitHub repository using OAuth continue to work with CI/CD. However, we strongly recommend that you migrate these apps to use the GitHub App. For more information, see <a href=\"https://docs.aws.amazon.com/amplify/latest/UserGuide/setting-up-GitHub-access.html#migrating-to-github-app-auth\">Migrating an existing OAuth app to the Amplify GitHub App</a> in the <i>Amplify User Guide</i> .</p>"
              }
            ]
          }
        },
        "description": " The request structure for the update app request. "
      },
      "UpdateBranchRequest": {
        "type": "object",
        "title": "UpdateBranchRequest",
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for the branch. "
              }
            ]
          },
          "framework": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Framework"
              },
              {
                "description": " The framework for the branch. "
              }
            ]
          },
          "stage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Stage"
              },
              {
                "description": " Describes the current stage for the branch. "
              }
            ]
          },
          "enableNotification": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableNotification"
              },
              {
                "description": " Enables notifications for the branch. "
              }
            ]
          },
          "enableAutoBuild": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoBuild"
              },
              {
                "description": " Enables auto building for the branch. "
              }
            ]
          },
          "environmentVariables": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnvironmentVariables"
              },
              {
                "description": " The environment variables for the branch. "
              }
            ]
          },
          "basicAuthCredentials": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasicAuthCredentials"
              },
              {
                "description": " The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format <code>user:password</code>."
              }
            ]
          },
          "enableBasicAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableBasicAuth"
              },
              {
                "description": " Enables basic authorization for the branch. "
              }
            ]
          },
          "enablePerformanceMode": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePerformanceMode"
              },
              {
                "description": "<p>Enables performance mode for the branch.</p> <p>Performance mode optimizes for faster hosting performance by keeping content cached at the edge for a longer interval. When performance mode is enabled, hosting configuration or code changes can take up to 10 minutes to roll out. </p>"
              }
            ]
          },
          "buildSpec": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildSpec"
              },
              {
                "description": " The build specification (build spec) for the branch. "
              }
            ]
          },
          "ttl": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TTL"
              },
              {
                "description": " The content Time to Live (TTL) for the website in seconds. "
              }
            ]
          },
          "displayName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DisplayName"
              },
              {
                "description": " The display name for a branch. This is used as the default domain prefix. "
              }
            ]
          },
          "enablePullRequestPreview": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnablePullRequestPreview"
              },
              {
                "description": " Enables pull request previews for this branch. "
              }
            ]
          },
          "pullRequestEnvironmentName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PullRequestEnvironmentName"
              },
              {
                "description": " The Amplify environment name for the pull request. "
              }
            ]
          },
          "backendEnvironmentArn": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BackendEnvironmentArn"
              },
              {
                "description": " The Amazon Resource Name (ARN) for a backend environment that is part of an Amplify app. "
              }
            ]
          }
        },
        "description": " The request structure for the update branch request. "
      },
      "UpdateDomainAssociationRequest": {
        "type": "object",
        "title": "UpdateDomainAssociationRequest",
        "properties": {
          "enableAutoSubDomain": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EnableAutoSubDomain"
              },
              {
                "description": " Enables the automated creation of subdomains for branches. "
              }
            ]
          },
          "subDomainSettings": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubDomainSettings"
              },
              {
                "description": " Describes the settings for the subdomain. "
              }
            ]
          },
          "autoSubDomainCreationPatterns": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainCreationPatterns"
              },
              {
                "description": " Sets the branch patterns for automatic subdomain creation. "
              }
            ]
          },
          "autoSubDomainIAMRole": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutoSubDomainIAMRole"
              },
              {
                "description": " The required AWS Identity and Access Management (IAM) service role for the Amazon Resource Name (ARN) for automatically creating subdomains. "
              }
            ]
          }
        },
        "description": " The request structure for the update domain association request. "
      },
      "UpdateWebhookRequest": {
        "type": "object",
        "title": "UpdateWebhookRequest",
        "properties": {
          "branchName": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BranchName"
              },
              {
                "description": " The name for a branch that is part of an Amplify app. "
              }
            ]
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Description"
              },
              {
                "description": " The description for a webhook. "
              }
            ]
          }
        },
        "description": " The request structure for the update webhook request. "
      },
      "WebhookArn": {
        "type": "string",
        "maxLength": 1000
      },
      "WebhookUrl": {
        "type": "string",
        "maxLength": 1000
      }
    }
  },
  "security": [
    {
      "hmac": []
    }
  ]
}