Applications applicationId Versions semanticVersion - AWS Serverless Application Repository

Applications applicationId Versions semanticVersion

URI

/applications/applicationId/versions/semanticVersion

HTTP methods

PUT

Operation ID: CreateApplicationVersion

Creates an application version.

Path parameters
NameTypeRequiredDescription
applicationIdStringTrue

The Amazon Resource Name (ARN) of the application.

semanticVersionStringTrue

The semantic version of the new version.

Responses
Status codeResponse modelDescription
201Version

Success

400BadRequestException

One of the parameters in the request is invalid.

403ForbiddenException

The client is not authenticated.

409ConflictException

The resource already exists.

429TooManyRequestsException

The client is sending more than the allowed number of requests per unit of time.

500InternalServerErrorException

The AWS Serverless Application Repository service encountered an internal error.

OPTIONS

Path parameters
NameTypeRequiredDescription
applicationIdStringTrue

The Amazon Resource Name (ARN) of the application.

semanticVersionStringTrue

The semantic version of the new version.

Responses
Status codeResponse modelDescription
200None

200 response

Schemas

Request bodies

{ "templateBody": "string", "templateUrl": "string", "sourceCodeUrl": "string", "sourceCodeArchiveUrl": "string" }

Response bodies

{ "applicationId": "string", "semanticVersion": "string", "sourceCodeUrl": "string", "sourceCodeArchiveUrl": "string", "templateUrl": "string", "creationTime": "string", "parameterDefinitions": [ { "name": "string", "defaultValue": "string", "description": "string", "type": "string", "noEcho": boolean, "allowedPattern": "string", "constraintDescription": "string", "minValue": integer, "maxValue": integer, "minLength": integer, "maxLength": integer, "allowedValues": [ "string" ], "referencedByResources": [ "string" ] } ], "requiredCapabilities": [ enum ], "resourcesSupported": boolean }
{ "message": "string", "errorCode": "string" }
{ "message": "string", "errorCode": "string" }
{ "message": "string", "errorCode": "string" }
{ "message": "string", "errorCode": "string" }
{ "message": "string", "errorCode": "string" }

Properties

BadRequestException

One of the parameters in the request is invalid.

PropertyTypeRequiredDescription
errorCode

string

False

400

message

string

False

One of the parameters in the request is invalid.

Capability

Values that must be specified in order to deploy some applications.

  • CAPABILITY_IAM

  • CAPABILITY_NAMED_IAM

  • CAPABILITY_AUTO_EXPAND

  • CAPABILITY_RESOURCE_POLICY

ConflictException

The resource already exists.

PropertyTypeRequiredDescription
errorCode

string

False

409

message

string

False

The resource already exists.

CreateApplicationVersionInput

Create a version request.

PropertyTypeRequiredDescription
sourceCodeArchiveUrl

string

False

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

sourceCodeUrl

string

False

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

templateBody

string

False

The raw packaged AWS SAM template of your application.

templateUrl

string

False

A link to the packaged AWS SAM template of your application.

ForbiddenException

The client is not authenticated.

PropertyTypeRequiredDescription
errorCode

string

False

403

message

string

False

The client is not authenticated.

InternalServerErrorException

The AWS Serverless Application Repository service encountered an internal error.

PropertyTypeRequiredDescription
errorCode

string

False

500

message

string

False

The AWS Serverless Application Repository service encountered an internal error.

ParameterDefinition

Parameters supported by the application.

PropertyTypeRequiredDescription
allowedPattern

string

False

A regular expression that represents the patterns to allow for String types.

allowedValues

Array of type string

False

An array containing the list of values allowed for the parameter.

constraintDescription

string

False

A string that explains a constraint when the constraint is violated. For example, without a constraint description, a parameter that has an allowed pattern of [A-Za-z0-9]+ displays the following error message when the user specifies an invalid value:

Malformed input-Parameter MyParameter must match pattern [A-Za-z0-9]+

By adding a constraint description, such as "must contain only uppercase and lowercase letters and numbers," you can display the following customized error message:

Malformed input-Parameter MyParameter must contain only uppercase and lowercase letters and numbers.

defaultValue

string

False

A value of the appropriate type for the template to use if no value is specified when a stack is created. If you define constraints for the parameter, you must specify a value that adheres to those constraints.

description

string

False

A string of up to 4,000 characters that describes the parameter.

maxLength

integer

False

An integer value that determines the largest number of characters that you want to allow for String types.

maxValue

integer

False

A numeric value that determines the largest numeric value that you want to allow for Number types.

minLength

integer

False

An integer value that determines the smallest number of characters that you want to allow for String types.

minValue

integer

False

A numeric value that determines the smallest numeric value that you want to allow for Number types.

name

string

True

The name of the parameter.

noEcho

boolean

False

Whether to mask the parameter value whenever anyone makes a call that describes the stack. If you set the value to true, the parameter value is masked with asterisks (*****).

referencedByResources

Array of type string

True

A list of AWS SAM resources that use this parameter.

type

string

False

The type of the parameter.

Valid values: String | Number | List<Number> | CommaDelimitedList

String: A literal string.

For example, users can specify "MyUserName".

Number: An integer or float. AWS CloudFormation validates the parameter value as a number. However, when you use the parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a string.

For example, users might specify "8888".

List<Number>: An array of integers or floats that are separated by commas. AWS CloudFormation validates the parameter value as numbers. However, when you use the parameter elsewhere in your template (for example, by using the Ref intrinsic function), the parameter value becomes a list of strings.

For example, users might specify "80,20", and then Ref results in ["80","20"].

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. Also, each member string is space-trimmed.

For example, users might specify "test,dev,prod", and then Ref results in ["test","dev","prod"].

TooManyRequestsException

The client is sending more than the allowed number of requests per unit of time.

PropertyTypeRequiredDescription
errorCode

string

False

429

message

string

False

The client is sending more than the allowed number of requests per unit of time.

Version

Application version details.

PropertyTypeRequiredDescription
applicationId

string

True

The application Amazon Resource Name (ARN).

creationTime

string

True

The date and time this resource was created.

parameterDefinitions

Array of type ParameterDefinition

True

An array of parameter types supported by the application.

requiredCapabilities

Array of type Capability

True

A list of values that you must specify before you can deploy certain applications. Some applications might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those applications, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.

The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, and AWS::IAM::Role. If the application contains IAM resources, you can specify either CAPABILITY_IAM or CAPABILITY_NAMED_IAM. If the application contains IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM.

The following resources require you to specify CAPABILITY_RESOURCE_POLICY: AWS::Lambda::Permission, AWS::IAM:Policy, AWS::ApplicationAutoScaling::ScalingPolicy, AWS::S3::BucketPolicy, AWS::SQS::QueuePolicy, and AWS::SNS::TopicPolicy.

Applications that contain one or more nested applications require you to specify CAPABILITY_AUTO_EXPAND.

If your application template contains any of the above resources, we recommend that you review all permissions associated with the application before deploying. If you don't specify this parameter for an application that requires capabilities, the call will fail.

resourcesSupported

boolean

True

Whether all of the AWS resources contained in this application are supported in the region in which it is being retrieved.

semanticVersion

string

True

The semantic version of the application:

https://semver.org/

sourceCodeArchiveUrl

string

False

A link to the S3 object that contains the ZIP archive of the source code for this version of your application.

Maximum size 50 MB

sourceCodeUrl

string

False

A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.

templateUrl

string

True

A link to the packaged AWS SAM template of your application.

See also

For more information about using this API in one of the language-specific AWS SDKs and references, see the following:

CreateApplicationVersion