aws_sdk_serverlessapplicationrepository/client/create_application.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 [`CreateApplication`](crate::operation::create_application::builders::CreateApplicationFluentBuilder) operation.
4 ///
5 /// - The fluent builder is configurable:
6 /// - [`author(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::author) / [`set_author(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_author):<br>required: **true**<br><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><br>
7 /// - [`description(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_description):<br>required: **true**<br><p>The description of the application.</p> <p>Minimum length=1. Maximum length=256</p><br>
8 /// - [`home_page_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::home_page_url) / [`set_home_page_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_home_page_url):<br>required: **false**<br><p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p><br>
9 /// - [`labels(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::labels) / [`set_labels(Option<Vec::<String>>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_labels):<br>required: **false**<br><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><br>
10 /// - [`license_body(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::license_body) / [`set_license_body(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_license_body):<br>required: **false**<br><p>A local text file that contains the license of the app that matches the spdxLicenseID value of your application. The file has the format file://<path>/<filename>.</p> <p>Maximum size 5 MB</p> <p>You can specify only one of licenseBody and licenseUrl; otherwise, an error results.</p><br>
11 /// - [`license_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::license_url) / [`set_license_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_license_url):<br>required: **false**<br><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><br>
12 /// - [`name(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_name):<br>required: **true**<br><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><br>
13 /// - [`readme_body(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::readme_body) / [`set_readme_body(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_readme_body):<br>required: **false**<br><p>A local text readme file in Markdown language that contains a more detailed description of the application and how it works. The file has the format file://<path>/<filename>.</p> <p>Maximum size 5 MB</p> <p>You can specify only one of readmeBody and readmeUrl; otherwise, an error results.</p><br>
14 /// - [`readme_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::readme_url) / [`set_readme_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_readme_url):<br>required: **false**<br><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><br>
15 /// - [`semantic_version(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::semantic_version) / [`set_semantic_version(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_semantic_version):<br>required: **false**<br><p>The semantic version of the application:</p> <p><a href="https://semver.org/">https://semver.org/</a></p><br>
16 /// - [`source_code_archive_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::source_code_archive_url) / [`set_source_code_archive_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::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>
17 /// - [`source_code_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::source_code_url) / [`set_source_code_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::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>
18 /// - [`spdx_license_id(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::spdx_license_id) / [`set_spdx_license_id(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_spdx_license_id):<br>required: **false**<br><p>A valid identifier from <a href="https://spdx.org/licenses/">https://spdx.org/licenses/</a>.</p><br>
19 /// - [`template_body(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::template_body) / [`set_template_body(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_template_body):<br>required: **false**<br><p>The local raw packaged AWS SAM template file of your application. The file has the format file://<path>/<filename>.</p> <p>You can specify only one of templateBody and templateUrl; otherwise an error results.</p><br>
20 /// - [`template_url(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::template_url) / [`set_template_url(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_template_url):<br>required: **false**<br><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><br>
21 /// - On success, responds with [`CreateApplicationOutput`](crate::operation::create_application::CreateApplicationOutput) with field(s):
22 /// - [`application_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::application_id): <p>The application Amazon Resource Name (ARN).</p>
23 /// - [`author(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::author): <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>
24 /// - [`creation_time(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::creation_time): <p>The date and time this resource was created.</p>
25 /// - [`description(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::description): <p>The description of the application.</p> <p>Minimum length=1. Maximum length=256</p>
26 /// - [`home_page_url(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::home_page_url): <p>A URL with more information about the application, for example the location of your GitHub repository for the application.</p>
27 /// - [`is_verified_author(Option<bool>)`](crate::operation::create_application::CreateApplicationOutput::is_verified_author): <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>
28 /// - [`labels(Option<Vec::<String>>)`](crate::operation::create_application::CreateApplicationOutput::labels): <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>
29 /// - [`license_url(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::license_url): <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>
30 /// - [`name(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::name): <p>The name of the application.</p> <p>Minimum length=1. Maximum length=140</p> <p>Pattern: "\[a-zA-Z0-9\\-\]+";</p>
31 /// - [`readme_url(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::readme_url): <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>
32 /// - [`spdx_license_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::spdx_license_id): <p>A valid identifier from https://spdx.org/licenses/.</p>
33 /// - [`verified_author_url(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::verified_author_url): <p>The URL to the public profile of a verified author. This URL is submitted by the author.</p>
34 /// - [`version(Option<Version>)`](crate::operation::create_application::CreateApplicationOutput::version): <p>Version information about the application.</p>
35 /// - On failure, responds with [`SdkError<CreateApplicationError>`](crate::operation::create_application::CreateApplicationError)
36 pub fn create_application(&self) -> crate::operation::create_application::builders::CreateApplicationFluentBuilder {
37 crate::operation::create_application::builders::CreateApplicationFluentBuilder::new(self.handle.clone())
38 }
39}