{
    "smithy": "1.0",
    "metadata": {
        "suppressions": [
            {
                "id": "HttpMethodSemantics",
                "namespace": "*"
            },
            {
                "id": "HttpResponseCodeSemantics",
                "namespace": "*"
            },
            {
                "id": "PaginatedTrait",
                "namespace": "*"
            },
            {
                "id": "HttpHeaderTrait",
                "namespace": "*"
            },
            {
                "id": "HttpUriConflict",
                "namespace": "*"
            },
            {
                "id": "Service",
                "namespace": "*"
            }
        ]
    },
    "shapes": {
        "com.amazonaws.serverlessapplicationrepository#ApplicationDependencySummary": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the nested application.</p>",
                        "smithy.api#jsonName": "applicationId",
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the nested application.</p>",
                        "smithy.api#jsonName": "semanticVersion",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>A nested application summary.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ApplicationPolicyStatement": {
            "type": "structure",
            "members": {
                "Actions": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>For the list of actions supported for this operation, see <a href=\"https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions\">Application \n Permissions</a>.</p>",
                        "smithy.api#jsonName": "actions",
                        "smithy.api#required": {}
                    }
                },
                "PrincipalOrgIDs": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of PrinciplalOrgIDs, which corresponds to AWS IAM <a href=\"https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#principal-org-id\">aws:PrincipalOrgID</a> global condition key.</p>",
                        "smithy.api#jsonName": "principalOrgIDs"
                    }
                },
                "Principals": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of AWS account IDs, or * to make the application public.</p>",
                        "smithy.api#jsonName": "principals",
                        "smithy.api#required": {}
                    }
                },
                "StatementId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A unique ID for the statement.</p>",
                        "smithy.api#jsonName": "statementId"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Policy statement applied to the application.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ApplicationSummary": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId",
                        "smithy.api#required": {}
                    }
                },
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author",
                        "smithy.api#required": {}
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description",
                        "smithy.api#required": {}
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the application.</p><p>Minimum length=1. Maximum length=140</p><p>Pattern: \"[a-zA-Z0-9\\\\-]+\";</p>",
                        "smithy.api#jsonName": "name",
                        "smithy.api#required": {}
                    }
                },
                "SpdxLicenseId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A valid identifier from <a href=\"https://spdx.org/licenses/\">https://spdx.org/licenses/</a>.</p>",
                        "smithy.api#jsonName": "spdxLicenseId"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Summary of details about the application.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#BadRequestException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>400</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>One of the parameters in the request is invalid.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>One of the parameters in the request is invalid.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 400
            }
        },
        "com.amazonaws.serverlessapplicationrepository#Capability": {
            "type": "string",
            "traits": {
                "smithy.api#documentation": "<p>Values that must be specified in order to deploy some applications.</p>",
                "smithy.api#enum": [
                    {
                        "value": "CAPABILITY_IAM",
                        "name": "CAPABILITY_IAM"
                    },
                    {
                        "value": "CAPABILITY_NAMED_IAM",
                        "name": "CAPABILITY_NAMED_IAM"
                    },
                    {
                        "value": "CAPABILITY_AUTO_EXPAND",
                        "name": "CAPABILITY_AUTO_EXPAND"
                    },
                    {
                        "value": "CAPABILITY_RESOURCE_POLICY",
                        "name": "CAPABILITY_RESOURCE_POLICY"
                    }
                ]
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ConflictException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>409</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The resource already exists.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The resource already exists.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 409
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplication": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateApplicationRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateApplicationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ConflictException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates an application, optionally including an AWS SAM file to create the first application version in the same call.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/applications",
                    "code": 201
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplicationRequest": {
            "type": "structure",
            "members": {
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author",
                        "smithy.api#required": {}
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description",
                        "smithy.api#required": {}
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "LicenseBody": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A local text file that contains the license of the app that matches the spdxLicenseID value of your application.\n The file has the format file://&lt;path>/&lt;filename>.</p><p>Maximum size 5 MB</p><p>You can specify only one of licenseBody and licenseUrl; otherwise, an error results.</p>",
                        "smithy.api#jsonName": "licenseBody"
                    }
                },
                "LicenseUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object that contains the license of the app that matches the spdxLicenseID value of your application.</p><p>Maximum size 5 MB</p><p>You can specify only one of licenseBody and licenseUrl; otherwise, an error results.</p>",
                        "smithy.api#jsonName": "licenseUrl"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the application that you want to publish.</p><p>Minimum length=1. Maximum length=140</p><p>Pattern: \"[a-zA-Z0-9\\\\-]+\";</p>",
                        "smithy.api#jsonName": "name",
                        "smithy.api#required": {}
                    }
                },
                "ReadmeBody": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A local text readme file in Markdown language that contains a more detailed description of the application and how it works.\n The file has the format file://&lt;path>/&lt;filename>.</p><p>Maximum size 5 MB</p><p>You can specify only one of readmeBody and readmeUrl; otherwise, an error results.</p>",
                        "smithy.api#jsonName": "readmeBody"
                    }
                },
                "ReadmeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p><p>You can specify only one of readmeBody and readmeUrl; otherwise, an error results.</p>",
                        "smithy.api#jsonName": "readmeUrl"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "SourceCodeArchiveUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object that contains the ZIP archive of the source code for this version of your application.</p><p>Maximum size 50 MB</p>",
                        "smithy.api#jsonName": "sourceCodeArchiveUrl"
                    }
                },
                "SourceCodeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>",
                        "smithy.api#jsonName": "sourceCodeUrl"
                    }
                },
                "SpdxLicenseId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A valid identifier from <a href=\"https://spdx.org/licenses/\">https://spdx.org/licenses/</a>.</p>",
                        "smithy.api#jsonName": "spdxLicenseId"
                    }
                },
                "TemplateBody": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The local raw packaged AWS SAM template file of your application.\n The file has the format file://&lt;path>/&lt;filename>.</p><p>You can specify only one of templateBody and templateUrl; otherwise an error results.</p>",
                        "smithy.api#jsonName": "templateBody"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object containing the packaged AWS SAM template of your application.</p><p>You can specify only one of templateBody and templateUrl; otherwise an error results.</p>",
                        "smithy.api#jsonName": "templateUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplicationResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "IsVerifiedAuthor": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.</p>",
                        "smithy.api#jsonName": "isVerifiedAuthor"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "LicenseUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a license file of the app that matches the spdxLicenseID value of your application.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "licenseUrl"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the application.</p><p>Minimum length=1. Maximum length=140</p><p>Pattern: \"[a-zA-Z0-9\\\\-]+\";</p>",
                        "smithy.api#jsonName": "name"
                    }
                },
                "ReadmeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "readmeUrl"
                    }
                },
                "SpdxLicenseId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A valid identifier from https://spdx.org/licenses/.</p>",
                        "smithy.api#jsonName": "spdxLicenseId"
                    }
                },
                "VerifiedAuthorUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The URL to the public profile of a verified author. This URL is submitted by the author.</p>",
                        "smithy.api#jsonName": "verifiedAuthorUrl"
                    }
                },
                "Version": {
                    "target": "com.amazonaws.serverlessapplicationrepository#Version",
                    "traits": {
                        "smithy.api#documentation": "<p>Version information about the application.</p>",
                        "smithy.api#jsonName": "version"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersion": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersionRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersionResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ConflictException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates an application version.</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/applications/{ApplicationId}/versions/{SemanticVersion}",
                    "code": 201
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersionRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the new version.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SourceCodeArchiveUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object that contains the ZIP archive of the source code for this version of your application.</p><p>Maximum size 50 MB</p>",
                        "smithy.api#jsonName": "sourceCodeArchiveUrl"
                    }
                },
                "SourceCodeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>",
                        "smithy.api#jsonName": "sourceCodeUrl"
                    }
                },
                "TemplateBody": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The raw packaged AWS SAM template of your application.</p>",
                        "smithy.api#jsonName": "templateBody"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the packaged AWS SAM template of your application.</p>",
                        "smithy.api#jsonName": "templateUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersionResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "ParameterDefinitions": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfParameterDefinition",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of parameter types supported by the application.</p>",
                        "smithy.api#jsonName": "parameterDefinitions"
                    }
                },
                "RequiredCapabilities": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfCapability",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.</p><p>The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.</p><p>The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html\">AWS::IAM::Group</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html\">AWS::IAM::InstanceProfile</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM::Policy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html\">AWS::IAM::Role</a>.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.</p><p>The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html\">AWS::Lambda::Permission</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM:Policy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html\">AWS::ApplicationAutoScaling::ScalingPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html\">AWS::S3::BucketPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html\">AWS::SQS::QueuePolicy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html\">AWS::SNS::TopicPolicy</a>.</p><p>Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.</p><p>If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.</p>",
                        "smithy.api#jsonName": "requiredCapabilities"
                    }
                },
                "ResourcesSupported": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether all of the AWS resources contained in this application are supported in the region\n in which it is being retrieved.</p>",
                        "smithy.api#jsonName": "resourcesSupported"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "SourceCodeArchiveUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object that contains the ZIP archive of the source code for this version of your application.</p><p>Maximum size 50 MB</p>",
                        "smithy.api#jsonName": "sourceCodeArchiveUrl"
                    }
                },
                "SourceCodeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>",
                        "smithy.api#jsonName": "sourceCodeUrl"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the packaged AWS SAM template of your application.</p>",
                        "smithy.api#jsonName": "templateUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSet": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSetRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSetResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates an AWS CloudFormation change set for the given application.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/applications/{ApplicationId}/changesets",
                    "code": 201
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSetRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Capabilities": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.</p><p>The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.</p><p>The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html\">AWS::IAM::Group</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html\">AWS::IAM::InstanceProfile</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM::Policy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html\">AWS::IAM::Role</a>.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.</p><p>The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html\">AWS::Lambda::Permission</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM:Policy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html\">AWS::ApplicationAutoScaling::ScalingPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html\">AWS::S3::BucketPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html\">AWS::SQS::QueuePolicy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html\">AWS::SNS:TopicPolicy</a>.</p><p>Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.</p><p>If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.</p>",
                        "smithy.api#jsonName": "capabilities"
                    }
                },
                "ChangeSetName": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "changeSetName"
                    }
                },
                "ClientToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "clientToken"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "NotificationArns": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "notificationArns"
                    }
                },
                "ParameterOverrides": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfParameterValue",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of parameter values for the parameters of the application.</p>",
                        "smithy.api#jsonName": "parameterOverrides"
                    }
                },
                "ResourceTypes": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "resourceTypes"
                    }
                },
                "RollbackConfiguration": {
                    "target": "com.amazonaws.serverlessapplicationrepository#RollbackConfiguration",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "rollbackConfiguration"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "StackName": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "stackName",
                        "smithy.api#required": {}
                    }
                },
                "Tags": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfTag",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the parameter of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/CreateChangeSet\">CreateChangeSet</a>\n </i> API.</p>",
                        "smithy.api#jsonName": "tags"
                    }
                },
                "TemplateId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The UUID returned by CreateCloudFormationTemplate.</p><p>Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}</p>",
                        "smithy.api#jsonName": "templateId"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSetResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "ChangeSetId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the change set.</p><p>Length constraints: Minimum length of 1.</p><p>Pattern: ARN:[-a-zA-Z0-9:/]*</p>",
                        "smithy.api#jsonName": "changeSetId"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "StackId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The unique ID of the stack.</p>",
                        "smithy.api#jsonName": "stackId"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplateRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplateResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Creates an AWS CloudFormation template.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/applications/{ApplicationId}/templates",
                    "code": 201
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplateRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplateResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "ExpirationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this template expires. Templates\n expire 1 hour after creation.</p>",
                        "smithy.api#jsonName": "expirationTime"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.serverlessapplicationrepository#Status",
                    "traits": {
                        "smithy.api#documentation": "<p>Status of the template creation workflow.</p><p>Possible values: PREPARING | ACTIVE | EXPIRED\n </p>",
                        "smithy.api#jsonName": "status"
                    }
                },
                "TemplateId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The UUID returned by CreateCloudFormationTemplate.</p><p>Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}</p>",
                        "smithy.api#jsonName": "templateId"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the template that can be used to deploy the application using\n AWS CloudFormation.</p>",
                        "smithy.api#jsonName": "templateUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#DeleteApplication": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#DeleteApplicationRequest"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ConflictException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Deletes the specified application.</p>",
                "smithy.api#http": {
                    "method": "DELETE",
                    "uri": "/applications/{ApplicationId}",
                    "code": 204
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#DeleteApplicationRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ForbiddenException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>403</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The client is not authenticated.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The client is not authenticated.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 403
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplication": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetApplicationRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetApplicationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the specified application.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications/{ApplicationId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicy": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicyRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicyResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves the policy for the application.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications/{ApplicationId}/policy",
                    "code": 200
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicyRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicyResponse": {
            "type": "structure",
            "members": {
                "Statements": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfApplicationPolicyStatement",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of policy statements applied to the application.</p>",
                        "smithy.api#jsonName": "statements"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplicationRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application to get.</p>",
                        "smithy.api#httpQuery": "semanticVersion"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetApplicationResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "IsVerifiedAuthor": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.</p>",
                        "smithy.api#jsonName": "isVerifiedAuthor"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "LicenseUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a license file of the app that matches the spdxLicenseID value of your application.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "licenseUrl"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the application.</p><p>Minimum length=1. Maximum length=140</p><p>Pattern: \"[a-zA-Z0-9\\\\-]+\";</p>",
                        "smithy.api#jsonName": "name"
                    }
                },
                "ReadmeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "readmeUrl"
                    }
                },
                "SpdxLicenseId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A valid identifier from https://spdx.org/licenses/.</p>",
                        "smithy.api#jsonName": "spdxLicenseId"
                    }
                },
                "VerifiedAuthorUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The URL to the public profile of a verified author. This URL is submitted by the author.</p>",
                        "smithy.api#jsonName": "verifiedAuthorUrl"
                    }
                },
                "Version": {
                    "target": "com.amazonaws.serverlessapplicationrepository#Version",
                    "traits": {
                        "smithy.api#documentation": "<p>Version information about the application.</p>",
                        "smithy.api#jsonName": "version"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplate": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplateRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplateResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Gets the specified AWS CloudFormation template.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications/{ApplicationId}/templates/{TemplateId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplateRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "TemplateId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The UUID returned by CreateCloudFormationTemplate.</p><p>Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplateResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "ExpirationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this template expires. Templates\n expire 1 hour after creation.</p>",
                        "smithy.api#jsonName": "expirationTime"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion"
                    }
                },
                "Status": {
                    "target": "com.amazonaws.serverlessapplicationrepository#Status",
                    "traits": {
                        "smithy.api#documentation": "<p>Status of the template creation workflow.</p><p>Possible values: PREPARING | ACTIVE | EXPIRED\n </p>",
                        "smithy.api#jsonName": "status"
                    }
                },
                "TemplateId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The UUID returned by CreateCloudFormationTemplate.</p><p>Pattern: [0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}</p>",
                        "smithy.api#jsonName": "templateId"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the template that can be used to deploy the application using\n AWS CloudFormation.</p>",
                        "smithy.api#jsonName": "templateUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>500</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The AWS Serverless Application Repository service encountered an internal error.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The AWS Serverless Application Repository service encountered an internal error.</p>",
                "smithy.api#error": "server",
                "smithy.api#httpError": 500
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationDependencies": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationDependenciesRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationDependenciesResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Retrieves the list of applications nested in the containing application.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications/{ApplicationId}/dependencies",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxItems"
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationDependenciesRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxItems": {
                    "target": "com.amazonaws.serverlessapplicationrepository#MaxItems",
                    "traits": {
                        "smithy.api#documentation": "<p>The total number of items to return.</p>",
                        "smithy.api#httpQuery": "maxItems"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application to get.</p>",
                        "smithy.api#httpQuery": "semanticVersion"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationDependenciesResponse": {
            "type": "structure",
            "members": {
                "Dependencies": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfApplicationDependencySummary",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of application summaries nested in the application.</p>",
                        "smithy.api#jsonName": "dependencies"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The token to request the next page of results.</p>",
                        "smithy.api#jsonName": "nextToken"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationVersions": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationVersionsRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationVersionsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists versions for the specified application.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications/{ApplicationId}/versions",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxItems"
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationVersionsRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "MaxItems": {
                    "target": "com.amazonaws.serverlessapplicationrepository#MaxItems",
                    "traits": {
                        "smithy.api#documentation": "<p>The total number of items to return.</p>",
                        "smithy.api#httpQuery": "maxItems"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationVersionsResponse": {
            "type": "structure",
            "members": {
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The token to request the next page of results.</p>",
                        "smithy.api#jsonName": "nextToken"
                    }
                },
                "Versions": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfVersionSummary",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of version summaries for the application.</p>",
                        "smithy.api#jsonName": "versions"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplications": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationsRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationsResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Lists applications owned by the requester.</p>",
                "smithy.api#http": {
                    "method": "GET",
                    "uri": "/applications",
                    "code": 200
                },
                "smithy.api#paginated": {
                    "inputToken": "NextToken",
                    "outputToken": "NextToken",
                    "pageSize": "MaxItems"
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationsRequest": {
            "type": "structure",
            "members": {
                "MaxItems": {
                    "target": "com.amazonaws.serverlessapplicationrepository#MaxItems",
                    "traits": {
                        "smithy.api#documentation": "<p>The total number of items to return.</p>",
                        "smithy.api#httpQuery": "maxItems"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A token to specify where to start paginating.</p>",
                        "smithy.api#httpQuery": "nextToken"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ListApplicationsResponse": {
            "type": "structure",
            "members": {
                "Applications": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfApplicationSummary",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of application summaries.</p>",
                        "smithy.api#jsonName": "applications"
                    }
                },
                "NextToken": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The token to request the next page of results.</p>",
                        "smithy.api#jsonName": "nextToken"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#MaxItems": {
            "type": "integer",
            "traits": {
                "smithy.api#range": {
                    "min": 1,
                    "max": 100
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#NotFoundException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>404</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The resource (for example, an access policy statement) specified in the request doesn't exist.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The resource (for example, an access policy statement) specified in the request doesn't exist.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 404
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ParameterDefinition": {
            "type": "structure",
            "members": {
                "AllowedPattern": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A regular expression that represents the patterns to allow for String types.</p>",
                        "smithy.api#jsonName": "allowedPattern"
                    }
                },
                "AllowedValues": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>An array containing the list of values allowed for the parameter.</p>",
                        "smithy.api#jsonName": "allowedValues"
                    }
                },
                "ConstraintDescription": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A string that explains a constraint when the constraint is violated. For example, without a constraint description,\n a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user\n specifies an invalid value:</p><p>\n Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+\n </p><p>By adding a constraint description, such as \"must contain only uppercase and lowercase letters and numbers,\" you can display\n the following customized error message:</p><p>\n Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers.\n </p>",
                        "smithy.api#jsonName": "constraintDescription"
                    }
                },
                "DefaultValue": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A value of the appropriate type for the template to use if no value is specified when a stack is created.\n If you define constraints for the parameter, you must specify a value that adheres to those constraints.</p>",
                        "smithy.api#jsonName": "defaultValue"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A string of up to 4,000 characters that describes the parameter.</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "MaxLength": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__integer",
                    "traits": {
                        "smithy.api#documentation": "<p>An integer value that determines the largest number of characters that you want to allow for String types.</p>",
                        "smithy.api#jsonName": "maxLength"
                    }
                },
                "MaxValue": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__integer",
                    "traits": {
                        "smithy.api#documentation": "<p>A numeric value that determines the largest numeric value that you want to allow for Number types.</p>",
                        "smithy.api#jsonName": "maxValue"
                    }
                },
                "MinLength": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__integer",
                    "traits": {
                        "smithy.api#documentation": "<p>An integer value that determines the smallest number of characters that you want to allow for String types.</p>",
                        "smithy.api#jsonName": "minLength"
                    }
                },
                "MinValue": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__integer",
                    "traits": {
                        "smithy.api#documentation": "<p>A numeric value that determines the smallest numeric value that you want to allow for Number types.</p>",
                        "smithy.api#jsonName": "minValue"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the parameter.</p>",
                        "smithy.api#jsonName": "name",
                        "smithy.api#required": {}
                    }
                },
                "NoEcho": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the\n value to true, the parameter value is masked with asterisks (*****).</p>",
                        "smithy.api#jsonName": "noEcho"
                    }
                },
                "ReferencedByResources": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of AWS SAM resources that use this parameter.</p>",
                        "smithy.api#jsonName": "referencedByResources",
                        "smithy.api#required": {}
                    }
                },
                "Type": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The type of the parameter.</p><p>Valid values: String | Number | List&lt;Number> | CommaDelimitedList\n </p><p>\n String: A literal string.</p><p>For example, users can specify \"MyUserName\".</p><p>\n Number: An integer or float. AWS CloudFormation validates the parameter value as a number. However, when you use the\n parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a string.</p><p>For example, users might specify \"8888\".</p><p>\n List&lt;Number>: An array of integers or floats that are separated by commas. AWS CloudFormation validates the parameter value as numbers. However, when\n you use the parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a list of strings.</p><p>For example, users might specify \"80,20\", and then Ref results in [\"80\",\"20\"].</p><p>\n CommaDelimitedList: An array of literal strings that are separated by commas. The total number of strings should be one more than the total number of commas.\n Also, each member string is space-trimmed.</p><p>For example, users might specify \"test,dev,prod\", and then Ref results in [\"test\",\"dev\",\"prod\"].</p>",
                        "smithy.api#jsonName": "type"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Parameters supported by the application.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ParameterValue": {
            "type": "structure",
            "members": {
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation\n uses the default value that is specified in your template.</p>",
                        "smithy.api#jsonName": "name",
                        "smithy.api#required": {}
                    }
                },
                "Value": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The input value associated with the parameter.</p>",
                        "smithy.api#jsonName": "value",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Parameter value of the application.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicy": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicyRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicyResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Sets the permission policy for an application. For the list of actions supported for this operation, see\n <a href=\"https://docs.aws.amazon.com/serverlessrepo/latest/devguide/access-control-resource-based.html#application-permissions\">Application \n Permissions</a>\n .</p>",
                "smithy.api#http": {
                    "method": "PUT",
                    "uri": "/applications/{ApplicationId}/policy",
                    "code": 200
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicyRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Statements": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfApplicationPolicyStatement",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of policy statements applied to the application.</p>",
                        "smithy.api#jsonName": "statements",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicyResponse": {
            "type": "structure",
            "members": {
                "Statements": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfApplicationPolicyStatement",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of policy statements applied to the application.</p>",
                        "smithy.api#jsonName": "statements"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#RollbackConfiguration": {
            "type": "structure",
            "members": {
                "MonitoringTimeInMinutes": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__integer",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration\">RollbackConfiguration</a>\n </i> Data Type.</p>",
                        "smithy.api#jsonName": "monitoringTimeInMinutes"
                    }
                },
                "RollbackTriggers": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfRollbackTrigger",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration\">RollbackConfiguration</a>\n </i> Data Type.</p>",
                        "smithy.api#jsonName": "rollbackTriggers"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>This property corresponds to the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackConfiguration\">RollbackConfiguration</a>\n </i> Data Type.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#RollbackTrigger": {
            "type": "structure",
            "members": {
                "Arn": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger\">RollbackTrigger</a>\n </i> Data Type.</p>",
                        "smithy.api#jsonName": "arn",
                        "smithy.api#required": {}
                    }
                },
                "Type": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger\">RollbackTrigger</a>\n </i> Data Type.</p>",
                        "smithy.api#jsonName": "type",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>This property corresponds to the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/RollbackTrigger\">RollbackTrigger</a>\n </i> Data Type.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#ServerlessApplicationRepository": {
            "type": "service",
            "version": "2017-09-08",
            "operations": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#CreateApplication"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#CreateApplicationVersion"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationChangeSet"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#CreateCloudFormationTemplate"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#DeleteApplication"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#GetApplication"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#GetApplicationPolicy"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#GetCloudFormationTemplate"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationDependencies"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ListApplications"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ListApplicationVersions"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#PutApplicationPolicy"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#UnshareApplication"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#UpdateApplication"
                }
            ],
            "traits": {
                "aws.api#service": {
                    "sdkId": "ServerlessApplicationRepository",
                    "arnNamespace": "serverlessrepo",
                    "cloudFormationName": "ServerlessApplicationRepository",
                    "cloudTrailEventSource": "serverlessapplicationrepository.amazonaws.com",
                    "endpointPrefix": "serverlessrepo"
                },
                "aws.auth#sigv4": {
                    "name": "serverlessrepo"
                },
                "aws.protocols#restJson1": {},
                "smithy.api#documentation": "<p>The AWS Serverless Application Repository makes it easy for developers and enterprises to quickly find\n and deploy serverless applications in the AWS Cloud. For more information about serverless applications,\n see Serverless Computing and Applications on the AWS website.</p><p>The AWS Serverless Application Repository is deeply integrated with the AWS Lambda console, so that developers of \n all levels can get started with serverless computing without needing to learn anything new. You can use category \n keywords to browse for applications such as web and mobile backends, data processing applications, or chatbots. \n You can also search for applications by name, publisher, or event source. To use an application, you simply choose it, \n configure any required fields, and deploy it with a few clicks. </p><p>You can also easily publish applications, sharing them publicly with the community at large, or privately\n within your team or across your organization. To publish a serverless application (or app), you can use the\n AWS Management Console, AWS Command Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the\n code, you upload a simple manifest file, also known as the AWS Serverless Application Model (AWS SAM) template.\n For more information about AWS SAM, see AWS Serverless Application Model (AWS SAM) on the AWS Labs\n GitHub repository.</p><p>The AWS Serverless Application Repository Developer Guide contains more information about the two developer\n experiences available:</p><ul>\n <li>\n <p>Consuming Applications – Browse for applications and view information about them, including\n source code and readme files. Also install, configure, and deploy applications of your choosing. </p>\n <p>Publishing Applications – Configure and upload applications to make them available to other\n developers, and publish new versions of applications. </p>\n </li>\n </ul>",
                "smithy.api#title": "AWSServerlessApplicationRepository"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#Status": {
            "type": "string",
            "traits": {
                "smithy.api#enum": [
                    {
                        "value": "PREPARING",
                        "name": "PREPARING"
                    },
                    {
                        "value": "ACTIVE",
                        "name": "ACTIVE"
                    },
                    {
                        "value": "EXPIRED",
                        "name": "EXPIRED"
                    }
                ]
            }
        },
        "com.amazonaws.serverlessapplicationrepository#Tag": {
            "type": "structure",
            "members": {
                "Key": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag\">Tag</a>\n </i> Data Type.</p>",
                        "smithy.api#jsonName": "key",
                        "smithy.api#required": {}
                    }
                },
                "Value": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>This property corresponds to the content of the same name for the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag\">\n Tag</a>\n </i>\n Data Type.</p>",
                        "smithy.api#jsonName": "value",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>This property corresponds to the <i>AWS CloudFormation <a href=\"https://docs.aws.amazon.com/goto/WebAPI/cloudformation-2010-05-15/Tag\">Tag</a>\n </i> Data Type.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException": {
            "type": "structure",
            "members": {
                "ErrorCode": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>429</p>",
                        "smithy.api#jsonName": "errorCode"
                    }
                },
                "Message": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The client is sending more than the allowed number of requests per unit of time.</p>",
                        "smithy.api#jsonName": "message"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>The client is sending more than the allowed number of requests per unit of time.</p>",
                "smithy.api#error": "client",
                "smithy.api#httpError": 429
            }
        },
        "com.amazonaws.serverlessapplicationrepository#UnshareApplication": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#UnshareApplicationRequest"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Unshares an application from an AWS Organization.</p><p>This operation can be called only from the organization's master account.</p>",
                "smithy.api#http": {
                    "method": "POST",
                    "uri": "/applications/{ApplicationId}/unshare",
                    "code": 204
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#UnshareApplicationRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "OrganizationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The AWS Organization ID to unshare the application from.</p>",
                        "smithy.api#jsonName": "organizationId",
                        "smithy.api#required": {}
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#UpdateApplication": {
            "type": "operation",
            "input": {
                "target": "com.amazonaws.serverlessapplicationrepository#UpdateApplicationRequest"
            },
            "output": {
                "target": "com.amazonaws.serverlessapplicationrepository#UpdateApplicationResponse"
            },
            "errors": [
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#BadRequestException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ConflictException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#ForbiddenException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#InternalServerErrorException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#NotFoundException"
                },
                {
                    "target": "com.amazonaws.serverlessapplicationrepository#TooManyRequestsException"
                }
            ],
            "traits": {
                "smithy.api#documentation": "<p>Updates the specified application.</p>",
                "smithy.api#http": {
                    "method": "PATCH",
                    "uri": "/applications/{ApplicationId}",
                    "code": 200
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#UpdateApplicationRequest": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The Amazon Resource Name (ARN) of the application.</p>",
                        "smithy.api#httpLabel": {},
                        "smithy.api#required": {}
                    }
                },
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "ReadmeBody": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A text readme file in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "readmeBody"
                    }
                },
                "ReadmeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "readmeUrl"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#UpdateApplicationResponse": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId"
                    }
                },
                "Author": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the author publishing the app.</p><p>Minimum length=1. Maximum length=127.</p><p>Pattern \"^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$\";</p>",
                        "smithy.api#jsonName": "author"
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime"
                    }
                },
                "Description": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The description of the application.</p><p>Minimum length=1. Maximum length=256</p>",
                        "smithy.api#jsonName": "description"
                    }
                },
                "HomePageUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>",
                        "smithy.api#jsonName": "homePageUrl"
                    }
                },
                "IsVerifiedAuthor": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether the author of this application has been verified. This means means that AWS has made a good faith review, as a reasonable and prudent service provider, of the information provided by the requester and has confirmed that the requester's identity is as claimed.</p>",
                        "smithy.api#jsonName": "isVerifiedAuthor"
                    }
                },
                "Labels": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOf__string",
                    "traits": {
                        "smithy.api#documentation": "<p>Labels to improve discovery of apps in search results.</p><p>Minimum length=1. Maximum length=127. Maximum number of labels: 10</p><p>Pattern: \"^[a-zA-Z0-9+\\\\-_:\\\\/@]+$\";</p>",
                        "smithy.api#jsonName": "labels"
                    }
                },
                "LicenseUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a license file of the app that matches the spdxLicenseID value of your application.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "licenseUrl"
                    }
                },
                "Name": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The name of the application.</p><p>Minimum length=1. Maximum length=140</p><p>Pattern: \"[a-zA-Z0-9\\\\-]+\";</p>",
                        "smithy.api#jsonName": "name"
                    }
                },
                "ReadmeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the readme file in Markdown language that contains a more detailed description of the application and how it works.</p><p>Maximum size 5 MB</p>",
                        "smithy.api#jsonName": "readmeUrl"
                    }
                },
                "SpdxLicenseId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A valid identifier from https://spdx.org/licenses/.</p>",
                        "smithy.api#jsonName": "spdxLicenseId"
                    }
                },
                "VerifiedAuthorUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The URL to the public profile of a verified author. This URL is submitted by the author.</p>",
                        "smithy.api#jsonName": "verifiedAuthorUrl"
                    }
                },
                "Version": {
                    "target": "com.amazonaws.serverlessapplicationrepository#Version",
                    "traits": {
                        "smithy.api#documentation": "<p>Version information about the application.</p>",
                        "smithy.api#jsonName": "version"
                    }
                }
            }
        },
        "com.amazonaws.serverlessapplicationrepository#Version": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId",
                        "smithy.api#required": {}
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime",
                        "smithy.api#required": {}
                    }
                },
                "ParameterDefinitions": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfParameterDefinition",
                    "traits": {
                        "smithy.api#documentation": "<p>An array of parameter types supported by the application.</p>",
                        "smithy.api#jsonName": "parameterDefinitions",
                        "smithy.api#required": {}
                    }
                },
                "RequiredCapabilities": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__listOfCapability",
                    "traits": {
                        "smithy.api#documentation": "<p>A list of values that you must specify before you can deploy certain applications.\n Some applications might include resources that can affect permissions in your AWS\n account, for example, by creating new AWS Identity and Access Management (IAM) users.\n For those applications, you must explicitly acknowledge their capabilities by\n specifying this parameter.</p><p>The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM,\n CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.</p><p>The following resources require you to specify CAPABILITY_IAM or\n CAPABILITY_NAMED_IAM:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html\">AWS::IAM::Group</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html\">AWS::IAM::InstanceProfile</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM::Policy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html\">AWS::IAM::Role</a>.\n If the application contains IAM resources, you can specify either CAPABILITY_IAM\n or CAPABILITY_NAMED_IAM. If the application contains IAM resources\n with custom names, you must specify CAPABILITY_NAMED_IAM.</p><p>The following resources require you to specify CAPABILITY_RESOURCE_POLICY:\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html\">AWS::Lambda::Permission</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html\">AWS::IAM:Policy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html\">AWS::ApplicationAutoScaling::ScalingPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html\">AWS::S3::BucketPolicy</a>,\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html\">AWS::SQS::QueuePolicy</a>, and\n <a href=\"https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sns-policy.html\">AWS::SNS::TopicPolicy</a>.</p><p>Applications that contain one or more nested applications require you to specify\n CAPABILITY_AUTO_EXPAND.</p><p>If your application template contains any of the above resources, we recommend that you review\n all permissions associated with the application before deploying. If you don't specify\n this parameter for an application that requires capabilities, the call will fail.</p>",
                        "smithy.api#jsonName": "requiredCapabilities",
                        "smithy.api#required": {}
                    }
                },
                "ResourcesSupported": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__boolean",
                    "traits": {
                        "smithy.api#documentation": "<p>Whether all of the AWS resources contained in this application are supported in the region\n in which it is being retrieved.</p>",
                        "smithy.api#jsonName": "resourcesSupported",
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion",
                        "smithy.api#required": {}
                    }
                },
                "SourceCodeArchiveUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the S3 object that contains the ZIP archive of the source code for this version of your application.</p><p>Maximum size 50 MB</p>",
                        "smithy.api#jsonName": "sourceCodeArchiveUrl"
                    }
                },
                "SourceCodeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>",
                        "smithy.api#jsonName": "sourceCodeUrl"
                    }
                },
                "TemplateUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to the packaged AWS SAM template of your application.</p>",
                        "smithy.api#jsonName": "templateUrl",
                        "smithy.api#required": {}
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>Application version details.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#VersionSummary": {
            "type": "structure",
            "members": {
                "ApplicationId": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The application Amazon Resource Name (ARN).</p>",
                        "smithy.api#jsonName": "applicationId",
                        "smithy.api#required": {}
                    }
                },
                "CreationTime": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The date and time this resource was created.</p>",
                        "smithy.api#jsonName": "creationTime",
                        "smithy.api#required": {}
                    }
                },
                "SemanticVersion": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>The semantic version of the application:</p><p>\n <a href=\"https://semver.org/\">https://semver.org/</a>\n </p>",
                        "smithy.api#jsonName": "semanticVersion",
                        "smithy.api#required": {}
                    }
                },
                "SourceCodeUrl": {
                    "target": "com.amazonaws.serverlessapplicationrepository#__string",
                    "traits": {
                        "smithy.api#documentation": "<p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>",
                        "smithy.api#jsonName": "sourceCodeUrl"
                    }
                }
            },
            "traits": {
                "smithy.api#documentation": "<p>An application version summary.</p>"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__boolean": {
            "type": "boolean"
        },
        "com.amazonaws.serverlessapplicationrepository#__integer": {
            "type": "integer"
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfApplicationDependencySummary": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#ApplicationDependencySummary"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfApplicationPolicyStatement": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#ApplicationPolicyStatement"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfApplicationSummary": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#ApplicationSummary"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfCapability": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#Capability"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfParameterDefinition": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#ParameterDefinition"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfParameterValue": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#ParameterValue"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfRollbackTrigger": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#RollbackTrigger"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfTag": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#Tag"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOfVersionSummary": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#VersionSummary"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__listOf__string": {
            "type": "list",
            "member": {
                "target": "com.amazonaws.serverlessapplicationrepository#__string"
            }
        },
        "com.amazonaws.serverlessapplicationrepository#__string": {
            "type": "string"
        }
    }
}
