/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ServerlessApplicationRepository { namespace Model { /** *

Summary of details about the application.

See Also:

AWS * API Reference

*/ class ApplicationSummary { public: AWS_SERVERLESSAPPLICATIONREPOSITORY_API ApplicationSummary(); AWS_SERVERLESSAPPLICATIONREPOSITORY_API ApplicationSummary(Aws::Utils::Json::JsonView jsonValue); AWS_SERVERLESSAPPLICATIONREPOSITORY_API ApplicationSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SERVERLESSAPPLICATIONREPOSITORY_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

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

The application Amazon Resource Name (ARN).

*/ inline ApplicationSummary& 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 ApplicationSummary& 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 ApplicationSummary& 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 ApplicationSummary& WithAuthor(const char* value) { SetAuthor(value); return *this;} /** *

The date and time this resource was created.

*/ inline const Aws::String& GetCreationTime() const{ return m_creationTime; } /** *

The date and time this resource was created.

*/ inline bool CreationTimeHasBeenSet() const { return m_creationTimeHasBeenSet; } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(const Aws::String& value) { m_creationTimeHasBeenSet = true; m_creationTime = value; } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(Aws::String&& value) { m_creationTimeHasBeenSet = true; m_creationTime = std::move(value); } /** *

The date and time this resource was created.

*/ inline void SetCreationTime(const char* value) { m_creationTimeHasBeenSet = true; m_creationTime.assign(value); } /** *

The date and time this resource was created.

*/ inline ApplicationSummary& WithCreationTime(const Aws::String& value) { SetCreationTime(value); return *this;} /** *

The date and time this resource was created.

*/ inline ApplicationSummary& WithCreationTime(Aws::String&& value) { SetCreationTime(std::move(value)); return *this;} /** *

The date and time this resource was created.

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

The description of the application.

Minimum length=1. Maximum * length=256

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

The description of the application.

Minimum length=1. Maximum * length=256

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

The name of the application.

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.

Minimum length=1. Maximum * length=140

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

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

The name of the application.

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.

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.

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.

Minimum length=1. Maximum * length=140

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

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

The name of the application.

Minimum length=1. Maximum * length=140

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

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

The name of the application.

Minimum length=1. Maximum * length=140

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

*/ inline ApplicationSummary& WithName(const char* value) { SetName(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 ApplicationSummary& WithSpdxLicenseId(const Aws::String& value) { SetSpdxLicenseId(value); return *this;} /** *

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

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

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

*/ inline ApplicationSummary& WithSpdxLicenseId(const char* value) { SetSpdxLicenseId(value); return *this;} private: Aws::String m_applicationId; bool m_applicationIdHasBeenSet = false; Aws::String m_author; bool m_authorHasBeenSet = false; Aws::String m_creationTime; bool m_creationTimeHasBeenSet = 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_name; bool m_nameHasBeenSet = false; Aws::String m_spdxLicenseId; bool m_spdxLicenseIdHasBeenSet = false; }; } // namespace Model } // namespace ServerlessApplicationRepository } // namespace Aws