aws_sdk_serverlessapplicationrepository/client/
create_application_version.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateApplicationVersion`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`application_id(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::application_id) / [`set_application_id(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_application_id):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the application.</p><br>
7    ///   - [`semantic_version(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::semantic_version) / [`set_semantic_version(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_semantic_version):<br>required: **true**<br><p>The semantic version of the new version.</p><br>
8    ///   - [`source_code_archive_url(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::source_code_archive_url) / [`set_source_code_archive_url(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_source_code_archive_url):<br>required: **false**<br><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><br>
9    ///   - [`source_code_url(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::source_code_url) / [`set_source_code_url(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_source_code_url):<br>required: **false**<br><p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p><br>
10    ///   - [`template_body(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::template_body) / [`set_template_body(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_template_body):<br>required: **false**<br><p>The raw packaged AWS SAM template of your application.</p><br>
11    ///   - [`template_url(impl Into<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::template_url) / [`set_template_url(Option<String>)`](crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::set_template_url):<br>required: **false**<br><p>A link to the packaged AWS SAM template of your application.</p><br>
12    /// - On success, responds with [`CreateApplicationVersionOutput`](crate::operation::create_application_version::CreateApplicationVersionOutput) with field(s):
13    ///   - [`application_id(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::application_id): <p>The application Amazon Resource Name (ARN).</p>
14    ///   - [`creation_time(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::creation_time): <p>The date and time this resource was created.</p>
15    ///   - [`parameter_definitions(Option<Vec::<ParameterDefinition>>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::parameter_definitions): <p>An array of parameter types supported by the application.</p>
16    ///   - [`required_capabilities(Option<Vec::<Capability>>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::required_capabilities): <p>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.</p> <p>The only valid values are CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_RESOURCE_POLICY, and CAPABILITY_AUTO_EXPAND.</p> <p>The following resources require you to specify CAPABILITY_IAM or CAPABILITY_NAMED_IAM: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-group.html">AWS::IAM::Group</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-instanceprofile.html">AWS::IAM::InstanceProfile</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html">AWS::IAM::Policy</a>, and <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html">AWS::IAM::Role</a>. 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.</p> <p>The following resources require you to specify CAPABILITY_RESOURCE_POLICY: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html">AWS::Lambda::Permission</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-policy.html">AWS::IAM:Policy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html">AWS::ApplicationAutoScaling::ScalingPolicy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-policy.html">AWS::S3::BucketPolicy</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html">AWS::SQS::QueuePolicy</a>, and <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 CAPABILITY_AUTO_EXPAND.</p> <p>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.</p>
17    ///   - [`resources_supported(Option<bool>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::resources_supported): <p>Whether all of the AWS resources contained in this application are supported in the region in which it is being retrieved.</p>
18    ///   - [`semantic_version(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::semantic_version): <p>The semantic version of the application:</p> <p><a href="https://semver.org/">https://semver.org/</a></p>
19    ///   - [`source_code_archive_url(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::source_code_archive_url): <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>
20    ///   - [`source_code_url(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::source_code_url): <p>A link to a public repository for the source code of your application, for example the URL of a specific GitHub commit.</p>
21    ///   - [`template_url(Option<String>)`](crate::operation::create_application_version::CreateApplicationVersionOutput::template_url): <p>A link to the packaged AWS SAM template of your application.</p>
22    /// - On failure, responds with [`SdkError<CreateApplicationVersionError>`](crate::operation::create_application_version::CreateApplicationVersionError)
23    pub fn create_application_version(&self) -> crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder {
24        crate::operation::create_application_version::builders::CreateApplicationVersionFluentBuilder::new(self.handle.clone())
25    }
26}