/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace ServerlessApplicationRepository { namespace Model { /** */ class CreateApplicationRequest : public ServerlessApplicationRepositoryRequest { public: AWS_SERVERLESSAPPLICATIONREPOSITORY_API CreateApplicationRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateApplication"; } AWS_SERVERLESSAPPLICATIONREPOSITORY_API Aws::String SerializePayload() const override; /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline const Aws::String& GetAuthor() const{ return m_author; } /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline bool AuthorHasBeenSet() const { return m_authorHasBeenSet; } /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline void SetAuthor(const Aws::String& value) { m_authorHasBeenSet = true; m_author = value; } /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline void SetAuthor(Aws::String&& value) { m_authorHasBeenSet = true; m_author = std::move(value); } /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline void SetAuthor(const char* value) { m_authorHasBeenSet = true; m_author.assign(value); } /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline CreateApplicationRequest& WithAuthor(const Aws::String& value) { SetAuthor(value); return *this;} /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline CreateApplicationRequest& WithAuthor(Aws::String&& value) { SetAuthor(std::move(value)); return *this;} /** *

The name of the author publishing the app.

Minimum length=1. Maximum * length=127.

Pattern "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

*/ inline CreateApplicationRequest& WithAuthor(const char* value) { SetAuthor(value); return *this;} /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline CreateApplicationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline CreateApplicationRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline CreateApplicationRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline const Aws::String& GetHomePageUrl() const{ return m_homePageUrl; } /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline bool HomePageUrlHasBeenSet() const { return m_homePageUrlHasBeenSet; } /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline void SetHomePageUrl(const Aws::String& value) { m_homePageUrlHasBeenSet = true; m_homePageUrl = value; } /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline void SetHomePageUrl(Aws::String&& value) { m_homePageUrlHasBeenSet = true; m_homePageUrl = std::move(value); } /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline void SetHomePageUrl(const char* value) { m_homePageUrlHasBeenSet = true; m_homePageUrl.assign(value); } /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline CreateApplicationRequest& WithHomePageUrl(const Aws::String& value) { SetHomePageUrl(value); return *this;} /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline CreateApplicationRequest& WithHomePageUrl(Aws::String&& value) { SetHomePageUrl(std::move(value)); return *this;} /** *

A URL with more information about the application, for example the location * of your GitHub repository for the application.

*/ inline CreateApplicationRequest& WithHomePageUrl(const char* value) { SetHomePageUrl(value); return *this;} /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline const Aws::Vector& GetLabels() const{ return m_labels; } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline bool LabelsHasBeenSet() const { return m_labelsHasBeenSet; } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline void SetLabels(const Aws::Vector& value) { m_labelsHasBeenSet = true; m_labels = value; } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline void SetLabels(Aws::Vector&& value) { m_labelsHasBeenSet = true; m_labels = std::move(value); } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline CreateApplicationRequest& WithLabels(const Aws::Vector& value) { SetLabels(value); return *this;} /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline CreateApplicationRequest& WithLabels(Aws::Vector&& value) { SetLabels(std::move(value)); return *this;} /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline CreateApplicationRequest& AddLabels(const Aws::String& value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline CreateApplicationRequest& AddLabels(Aws::String&& value) { m_labelsHasBeenSet = true; m_labels.push_back(std::move(value)); return *this; } /** *

Labels to improve discovery of apps in search results.

Minimum * length=1. Maximum length=127. Maximum number of labels: 10

Pattern: * "^[a-zA-Z0-9+\\-_:\\/@]+$";

*/ inline CreateApplicationRequest& AddLabels(const char* value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline const Aws::String& GetLicenseBody() const{ return m_licenseBody; } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline bool LicenseBodyHasBeenSet() const { return m_licenseBodyHasBeenSet; } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseBody(const Aws::String& value) { m_licenseBodyHasBeenSet = true; m_licenseBody = value; } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseBody(Aws::String&& value) { m_licenseBodyHasBeenSet = true; m_licenseBody = std::move(value); } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseBody(const char* value) { m_licenseBodyHasBeenSet = true; m_licenseBody.assign(value); } /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseBody(const Aws::String& value) { SetLicenseBody(value); return *this;} /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseBody(Aws::String&& value) { SetLicenseBody(std::move(value)); return *this;} /** *

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>.

Maximum size 5 MB

You can specify * only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseBody(const char* value) { SetLicenseBody(value); return *this;} /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline const Aws::String& GetLicenseUrl() const{ return m_licenseUrl; } /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline bool LicenseUrlHasBeenSet() const { return m_licenseUrlHasBeenSet; } /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseUrl(const Aws::String& value) { m_licenseUrlHasBeenSet = true; m_licenseUrl = value; } /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseUrl(Aws::String&& value) { m_licenseUrlHasBeenSet = true; m_licenseUrl = std::move(value); } /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline void SetLicenseUrl(const char* value) { m_licenseUrlHasBeenSet = true; m_licenseUrl.assign(value); } /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseUrl(const Aws::String& value) { SetLicenseUrl(value); return *this;} /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseUrl(Aws::String&& value) { SetLicenseUrl(std::move(value)); return *this;} /** *

A link to the S3 object that contains the license of the app that matches the * spdxLicenseID value of your application.

Maximum size 5 MB

You can * specify only one of licenseBody and licenseUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithLicenseUrl(const char* value) { SetLicenseUrl(value); return *this;} /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline CreateApplicationRequest& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline CreateApplicationRequest& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the application that you want to publish.

Minimum length=1. * Maximum length=140

Pattern: "[a-zA-Z0-9\\-]+";

*/ inline CreateApplicationRequest& WithName(const char* value) { SetName(value); return *this;} /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline const Aws::String& GetReadmeBody() const{ return m_readmeBody; } /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline bool ReadmeBodyHasBeenSet() const { return m_readmeBodyHasBeenSet; } /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline void SetReadmeBody(const Aws::String& value) { m_readmeBodyHasBeenSet = true; m_readmeBody = value; } /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline void SetReadmeBody(Aws::String&& value) { m_readmeBodyHasBeenSet = true; m_readmeBody = std::move(value); } /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline void SetReadmeBody(const char* value) { m_readmeBodyHasBeenSet = true; m_readmeBody.assign(value); } /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithReadmeBody(const Aws::String& value) { SetReadmeBody(value); return *this;} /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithReadmeBody(Aws::String&& value) { SetReadmeBody(std::move(value)); return *this;} /** *

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>.

Maximum size 5 MB

You can specify * only one of readmeBody and readmeUrl; otherwise, an error results.

*/ inline CreateApplicationRequest& WithReadmeBody(const char* value) { SetReadmeBody(value); return *this;} /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline const Aws::String& GetReadmeUrl() const{ return m_readmeUrl; } /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline bool ReadmeUrlHasBeenSet() const { return m_readmeUrlHasBeenSet; } /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline void SetReadmeUrl(const Aws::String& value) { m_readmeUrlHasBeenSet = true; m_readmeUrl = value; } /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline void SetReadmeUrl(Aws::String&& value) { m_readmeUrlHasBeenSet = true; m_readmeUrl = std::move(value); } /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline void SetReadmeUrl(const char* value) { m_readmeUrlHasBeenSet = true; m_readmeUrl.assign(value); } /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline CreateApplicationRequest& WithReadmeUrl(const Aws::String& value) { SetReadmeUrl(value); return *this;} /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline CreateApplicationRequest& WithReadmeUrl(Aws::String&& value) { SetReadmeUrl(std::move(value)); return *this;} /** *

A link to the S3 object in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 * MB

You can specify only one of readmeBody and readmeUrl; otherwise, an * error results.

*/ inline CreateApplicationRequest& WithReadmeUrl(const char* value) { SetReadmeUrl(value); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline const Aws::String& GetSemanticVersion() const{ return m_semanticVersion; } /** *

The semantic version of the application:

https://semver.org/

*/ inline bool SemanticVersionHasBeenSet() const { return m_semanticVersionHasBeenSet; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const Aws::String& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = value; } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(Aws::String&& value) { m_semanticVersionHasBeenSet = true; m_semanticVersion = std::move(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline void SetSemanticVersion(const char* value) { m_semanticVersionHasBeenSet = true; m_semanticVersion.assign(value); } /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateApplicationRequest& WithSemanticVersion(const Aws::String& value) { SetSemanticVersion(value); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateApplicationRequest& WithSemanticVersion(Aws::String&& value) { SetSemanticVersion(std::move(value)); return *this;} /** *

The semantic version of the application:

https://semver.org/

*/ inline CreateApplicationRequest& WithSemanticVersion(const char* value) { SetSemanticVersion(value); return *this;} /** *

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

*/ inline const Aws::String& GetSourceCodeArchiveUrl() const{ return m_sourceCodeArchiveUrl; } /** *

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

*/ inline bool SourceCodeArchiveUrlHasBeenSet() const { return m_sourceCodeArchiveUrlHasBeenSet; } /** *

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

*/ inline void SetSourceCodeArchiveUrl(const Aws::String& value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl = value; } /** *

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

*/ inline void SetSourceCodeArchiveUrl(Aws::String&& value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl = std::move(value); } /** *

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

*/ inline void SetSourceCodeArchiveUrl(const char* value) { m_sourceCodeArchiveUrlHasBeenSet = true; m_sourceCodeArchiveUrl.assign(value); } /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeArchiveUrl(const Aws::String& value) { SetSourceCodeArchiveUrl(value); return *this;} /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeArchiveUrl(Aws::String&& value) { SetSourceCodeArchiveUrl(std::move(value)); return *this;} /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeArchiveUrl(const char* value) { SetSourceCodeArchiveUrl(value); return *this;} /** *

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

*/ inline const Aws::String& GetSourceCodeUrl() const{ return m_sourceCodeUrl; } /** *

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

*/ inline bool SourceCodeUrlHasBeenSet() const { return m_sourceCodeUrlHasBeenSet; } /** *

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

*/ inline void SetSourceCodeUrl(const Aws::String& value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl = value; } /** *

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

*/ inline void SetSourceCodeUrl(Aws::String&& value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl = std::move(value); } /** *

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

*/ inline void SetSourceCodeUrl(const char* value) { m_sourceCodeUrlHasBeenSet = true; m_sourceCodeUrl.assign(value); } /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeUrl(const Aws::String& value) { SetSourceCodeUrl(value); return *this;} /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeUrl(Aws::String&& value) { SetSourceCodeUrl(std::move(value)); return *this;} /** *

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

*/ inline CreateApplicationRequest& WithSourceCodeUrl(const char* value) { SetSourceCodeUrl(value); return *this;} /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline const Aws::String& GetSpdxLicenseId() const{ return m_spdxLicenseId; } /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline bool SpdxLicenseIdHasBeenSet() const { return m_spdxLicenseIdHasBeenSet; } /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline void SetSpdxLicenseId(const Aws::String& value) { m_spdxLicenseIdHasBeenSet = true; m_spdxLicenseId = value; } /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline void SetSpdxLicenseId(Aws::String&& value) { m_spdxLicenseIdHasBeenSet = true; m_spdxLicenseId = std::move(value); } /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline void SetSpdxLicenseId(const char* value) { m_spdxLicenseIdHasBeenSet = true; m_spdxLicenseId.assign(value); } /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline CreateApplicationRequest& WithSpdxLicenseId(const Aws::String& value) { SetSpdxLicenseId(value); return *this;} /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline CreateApplicationRequest& WithSpdxLicenseId(Aws::String&& value) { SetSpdxLicenseId(std::move(value)); return *this;} /** *

A valid identifier from https://spdx.org/licenses/.

*/ inline CreateApplicationRequest& WithSpdxLicenseId(const char* value) { SetSpdxLicenseId(value); return *this;} /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline const Aws::String& GetTemplateBody() const{ return m_templateBody; } /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline bool TemplateBodyHasBeenSet() const { return m_templateBodyHasBeenSet; } /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline void SetTemplateBody(const Aws::String& value) { m_templateBodyHasBeenSet = true; m_templateBody = value; } /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline void SetTemplateBody(Aws::String&& value) { m_templateBodyHasBeenSet = true; m_templateBody = std::move(value); } /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline void SetTemplateBody(const char* value) { m_templateBodyHasBeenSet = true; m_templateBody.assign(value); } /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateBody(const Aws::String& value) { SetTemplateBody(value); return *this;} /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateBody(Aws::String&& value) { SetTemplateBody(std::move(value)); return *this;} /** *

The local raw packaged AWS SAM template file of your application. The file * has the format file://<path>/<filename>.

You can specify only one of * templateBody and templateUrl; otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateBody(const char* value) { SetTemplateBody(value); return *this;} /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline const Aws::String& GetTemplateUrl() const{ return m_templateUrl; } /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline bool TemplateUrlHasBeenSet() const { return m_templateUrlHasBeenSet; } /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline void SetTemplateUrl(const Aws::String& value) { m_templateUrlHasBeenSet = true; m_templateUrl = value; } /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline void SetTemplateUrl(Aws::String&& value) { m_templateUrlHasBeenSet = true; m_templateUrl = std::move(value); } /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline void SetTemplateUrl(const char* value) { m_templateUrlHasBeenSet = true; m_templateUrl.assign(value); } /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateUrl(const Aws::String& value) { SetTemplateUrl(value); return *this;} /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateUrl(Aws::String&& value) { SetTemplateUrl(std::move(value)); return *this;} /** *

A link to the S3 object containing the packaged AWS SAM template of your * application.

You can specify only one of templateBody and templateUrl; * otherwise an error results.

*/ inline CreateApplicationRequest& WithTemplateUrl(const char* value) { SetTemplateUrl(value); return *this;} private: Aws::String m_author; bool m_authorHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_homePageUrl; bool m_homePageUrlHasBeenSet = false; Aws::Vector m_labels; bool m_labelsHasBeenSet = false; Aws::String m_licenseBody; bool m_licenseBodyHasBeenSet = false; Aws::String m_licenseUrl; bool m_licenseUrlHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_readmeBody; bool m_readmeBodyHasBeenSet = false; Aws::String m_readmeUrl; bool m_readmeUrlHasBeenSet = false; Aws::String m_semanticVersion; bool m_semanticVersionHasBeenSet = false; Aws::String m_sourceCodeArchiveUrl; bool m_sourceCodeArchiveUrlHasBeenSet = false; Aws::String m_sourceCodeUrl; bool m_sourceCodeUrlHasBeenSet = false; Aws::String m_spdxLicenseId; bool m_spdxLicenseIdHasBeenSet = false; Aws::String m_templateBody; bool m_templateBodyHasBeenSet = false; Aws::String m_templateUrl; bool m_templateUrlHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws