/** * 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 UpdateApplicationRequest : public ServerlessApplicationRepositoryRequest { public: AWS_SERVERLESSAPPLICATIONREPOSITORY_API UpdateApplicationRequest(); // 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 "UpdateApplication"; } AWS_SERVERLESSAPPLICATIONREPOSITORY_API Aws::String SerializePayload() const override; /** *

The Amazon Resource Name (ARN) of the application.

*/ inline const Aws::String& GetApplicationId() const{ return m_applicationId; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); } /** *

The Amazon Resource Name (ARN) of the application.

*/ inline UpdateApplicationRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the application.

*/ inline UpdateApplicationRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the application.

*/ inline UpdateApplicationRequest& WithApplicationId(const char* value) { SetApplicationId(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 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description of the application.

Minimum length=1. Maximum * length=256

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

The description of the application.

Minimum length=1. Maximum * length=256

*/ inline UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& 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 UpdateApplicationRequest& AddLabels(const char* value) { m_labelsHasBeenSet = true; m_labels.push_back(value); return *this; } /** *

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

A text readme file in Markdown language that contains a more detailed * description of the application and how it works.

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

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

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

Maximum size 5 MB

*/ inline UpdateApplicationRequest& WithReadmeUrl(const char* value) { SetReadmeUrl(value); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; 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_readmeBody; bool m_readmeBodyHasBeenSet = false; Aws::String m_readmeUrl; bool m_readmeUrlHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws