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

Details about a package version.

See Also:

AWS * API Reference

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

The format of the package version.

*/ inline const PackageFormat& GetFormat() const{ return m_format; } /** *

The format of the package version.

*/ inline bool FormatHasBeenSet() const { return m_formatHasBeenSet; } /** *

The format of the package version.

*/ inline void SetFormat(const PackageFormat& value) { m_formatHasBeenSet = true; m_format = value; } /** *

The format of the package version.

*/ inline void SetFormat(PackageFormat&& value) { m_formatHasBeenSet = true; m_format = std::move(value); } /** *

The format of the package version.

*/ inline PackageVersionDescription& WithFormat(const PackageFormat& value) { SetFormat(value); return *this;} /** *

The format of the package version.

*/ inline PackageVersionDescription& WithFormat(PackageFormat&& value) { SetFormat(std::move(value)); return *this;} /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline const Aws::String& GetNamespace() const{ return m_namespace; } /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline bool NamespaceHasBeenSet() const { return m_namespaceHasBeenSet; } /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline void SetNamespace(const Aws::String& value) { m_namespaceHasBeenSet = true; m_namespace = value; } /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline void SetNamespace(Aws::String&& value) { m_namespaceHasBeenSet = true; m_namespace = std::move(value); } /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline void SetNamespace(const char* value) { m_namespaceHasBeenSet = true; m_namespace.assign(value); } /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline PackageVersionDescription& WithNamespace(const Aws::String& value) { SetNamespace(value); return *this;} /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline PackageVersionDescription& WithNamespace(Aws::String&& value) { SetNamespace(std::move(value)); return *this;} /** *

The namespace of the package version. The package version component that * specifies its namespace depends on its type. For example:

  • The * namespace of a Maven package version is its groupId.

  • *
  • The namespace of an npm package version is its scope.

    *
  • Python and NuGet package versions do not contain a corresponding * component, package versions of those formats do not have a namespace.

  • *
  • The namespace of a generic package is its namespace.

    *
*/ inline PackageVersionDescription& WithNamespace(const char* value) { SetNamespace(value); return *this;} /** *

The name of the requested package.

*/ inline const Aws::String& GetPackageName() const{ return m_packageName; } /** *

The name of the requested package.

*/ inline bool PackageNameHasBeenSet() const { return m_packageNameHasBeenSet; } /** *

The name of the requested package.

*/ inline void SetPackageName(const Aws::String& value) { m_packageNameHasBeenSet = true; m_packageName = value; } /** *

The name of the requested package.

*/ inline void SetPackageName(Aws::String&& value) { m_packageNameHasBeenSet = true; m_packageName = std::move(value); } /** *

The name of the requested package.

*/ inline void SetPackageName(const char* value) { m_packageNameHasBeenSet = true; m_packageName.assign(value); } /** *

The name of the requested package.

*/ inline PackageVersionDescription& WithPackageName(const Aws::String& value) { SetPackageName(value); return *this;} /** *

The name of the requested package.

*/ inline PackageVersionDescription& WithPackageName(Aws::String&& value) { SetPackageName(std::move(value)); return *this;} /** *

The name of the requested package.

*/ inline PackageVersionDescription& WithPackageName(const char* value) { SetPackageName(value); return *this;} /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline const Aws::String& GetDisplayName() const{ return m_displayName; } /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline PackageVersionDescription& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline PackageVersionDescription& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} /** *

The name of the package that is displayed. The displayName * varies depending on the package version's format. For example, if an npm package * is named ui, is in the namespace vue, and has the * format npm, then the displayName is * @vue/ui.

*/ inline PackageVersionDescription& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} /** *

The version of the package.

*/ inline const Aws::String& GetVersion() const{ return m_version; } /** *

The version of the package.

*/ inline bool VersionHasBeenSet() const { return m_versionHasBeenSet; } /** *

The version of the package.

*/ inline void SetVersion(const Aws::String& value) { m_versionHasBeenSet = true; m_version = value; } /** *

The version of the package.

*/ inline void SetVersion(Aws::String&& value) { m_versionHasBeenSet = true; m_version = std::move(value); } /** *

The version of the package.

*/ inline void SetVersion(const char* value) { m_versionHasBeenSet = true; m_version.assign(value); } /** *

The version of the package.

*/ inline PackageVersionDescription& WithVersion(const Aws::String& value) { SetVersion(value); return *this;} /** *

The version of the package.

*/ inline PackageVersionDescription& WithVersion(Aws::String&& value) { SetVersion(std::move(value)); return *this;} /** *

The version of the package.

*/ inline PackageVersionDescription& WithVersion(const char* value) { SetVersion(value); return *this;} /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline const Aws::String& GetSummary() const{ return m_summary; } /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline bool SummaryHasBeenSet() const { return m_summaryHasBeenSet; } /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline void SetSummary(const Aws::String& value) { m_summaryHasBeenSet = true; m_summary = value; } /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline void SetSummary(Aws::String&& value) { m_summaryHasBeenSet = true; m_summary = std::move(value); } /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline void SetSummary(const char* value) { m_summaryHasBeenSet = true; m_summary.assign(value); } /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline PackageVersionDescription& WithSummary(const Aws::String& value) { SetSummary(value); return *this;} /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline PackageVersionDescription& WithSummary(Aws::String&& value) { SetSummary(std::move(value)); return *this;} /** *

A summary of the package version. The summary is extracted from the package. * The information in and detail level of the summary depends on the package * version's format.

*/ inline PackageVersionDescription& WithSummary(const char* value) { SetSummary(value); return *this;} /** *

The homepage associated with the package.

*/ inline const Aws::String& GetHomePage() const{ return m_homePage; } /** *

The homepage associated with the package.

*/ inline bool HomePageHasBeenSet() const { return m_homePageHasBeenSet; } /** *

The homepage associated with the package.

*/ inline void SetHomePage(const Aws::String& value) { m_homePageHasBeenSet = true; m_homePage = value; } /** *

The homepage associated with the package.

*/ inline void SetHomePage(Aws::String&& value) { m_homePageHasBeenSet = true; m_homePage = std::move(value); } /** *

The homepage associated with the package.

*/ inline void SetHomePage(const char* value) { m_homePageHasBeenSet = true; m_homePage.assign(value); } /** *

The homepage associated with the package.

*/ inline PackageVersionDescription& WithHomePage(const Aws::String& value) { SetHomePage(value); return *this;} /** *

The homepage associated with the package.

*/ inline PackageVersionDescription& WithHomePage(Aws::String&& value) { SetHomePage(std::move(value)); return *this;} /** *

The homepage associated with the package.

*/ inline PackageVersionDescription& WithHomePage(const char* value) { SetHomePage(value); return *this;} /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline const Aws::String& GetSourceCodeRepository() const{ return m_sourceCodeRepository; } /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline bool SourceCodeRepositoryHasBeenSet() const { return m_sourceCodeRepositoryHasBeenSet; } /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline void SetSourceCodeRepository(const Aws::String& value) { m_sourceCodeRepositoryHasBeenSet = true; m_sourceCodeRepository = value; } /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline void SetSourceCodeRepository(Aws::String&& value) { m_sourceCodeRepositoryHasBeenSet = true; m_sourceCodeRepository = std::move(value); } /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline void SetSourceCodeRepository(const char* value) { m_sourceCodeRepositoryHasBeenSet = true; m_sourceCodeRepository.assign(value); } /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline PackageVersionDescription& WithSourceCodeRepository(const Aws::String& value) { SetSourceCodeRepository(value); return *this;} /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline PackageVersionDescription& WithSourceCodeRepository(Aws::String&& value) { SetSourceCodeRepository(std::move(value)); return *this;} /** *

The repository for the source code in the package version, or the source * code used to build it.

*/ inline PackageVersionDescription& WithSourceCodeRepository(const char* value) { SetSourceCodeRepository(value); return *this;} /** *

A timestamp that contains the date and time the package version was * published.

*/ inline const Aws::Utils::DateTime& GetPublishedTime() const{ return m_publishedTime; } /** *

A timestamp that contains the date and time the package version was * published.

*/ inline bool PublishedTimeHasBeenSet() const { return m_publishedTimeHasBeenSet; } /** *

A timestamp that contains the date and time the package version was * published.

*/ inline void SetPublishedTime(const Aws::Utils::DateTime& value) { m_publishedTimeHasBeenSet = true; m_publishedTime = value; } /** *

A timestamp that contains the date and time the package version was * published.

*/ inline void SetPublishedTime(Aws::Utils::DateTime&& value) { m_publishedTimeHasBeenSet = true; m_publishedTime = std::move(value); } /** *

A timestamp that contains the date and time the package version was * published.

*/ inline PackageVersionDescription& WithPublishedTime(const Aws::Utils::DateTime& value) { SetPublishedTime(value); return *this;} /** *

A timestamp that contains the date and time the package version was * published.

*/ inline PackageVersionDescription& WithPublishedTime(Aws::Utils::DateTime&& value) { SetPublishedTime(std::move(value)); return *this;} /** *

Information about licenses associated with the package version.

*/ inline const Aws::Vector& GetLicenses() const{ return m_licenses; } /** *

Information about licenses associated with the package version.

*/ inline bool LicensesHasBeenSet() const { return m_licensesHasBeenSet; } /** *

Information about licenses associated with the package version.

*/ inline void SetLicenses(const Aws::Vector& value) { m_licensesHasBeenSet = true; m_licenses = value; } /** *

Information about licenses associated with the package version.

*/ inline void SetLicenses(Aws::Vector&& value) { m_licensesHasBeenSet = true; m_licenses = std::move(value); } /** *

Information about licenses associated with the package version.

*/ inline PackageVersionDescription& WithLicenses(const Aws::Vector& value) { SetLicenses(value); return *this;} /** *

Information about licenses associated with the package version.

*/ inline PackageVersionDescription& WithLicenses(Aws::Vector&& value) { SetLicenses(std::move(value)); return *this;} /** *

Information about licenses associated with the package version.

*/ inline PackageVersionDescription& AddLicenses(const LicenseInfo& value) { m_licensesHasBeenSet = true; m_licenses.push_back(value); return *this; } /** *

Information about licenses associated with the package version.

*/ inline PackageVersionDescription& AddLicenses(LicenseInfo&& value) { m_licensesHasBeenSet = true; m_licenses.push_back(std::move(value)); return *this; } /** *

The revision of the package version.

*/ inline const Aws::String& GetRevision() const{ return m_revision; } /** *

The revision of the package version.

*/ inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; } /** *

The revision of the package version.

*/ inline void SetRevision(const Aws::String& value) { m_revisionHasBeenSet = true; m_revision = value; } /** *

The revision of the package version.

*/ inline void SetRevision(Aws::String&& value) { m_revisionHasBeenSet = true; m_revision = std::move(value); } /** *

The revision of the package version.

*/ inline void SetRevision(const char* value) { m_revisionHasBeenSet = true; m_revision.assign(value); } /** *

The revision of the package version.

*/ inline PackageVersionDescription& WithRevision(const Aws::String& value) { SetRevision(value); return *this;} /** *

The revision of the package version.

*/ inline PackageVersionDescription& WithRevision(Aws::String&& value) { SetRevision(std::move(value)); return *this;} /** *

The revision of the package version.

*/ inline PackageVersionDescription& WithRevision(const char* value) { SetRevision(value); return *this;} /** *

A string that contains the status of the package version.

*/ inline const PackageVersionStatus& GetStatus() const{ return m_status; } /** *

A string that contains the status of the package version.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

A string that contains the status of the package version.

*/ inline void SetStatus(const PackageVersionStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

A string that contains the status of the package version.

*/ inline void SetStatus(PackageVersionStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

A string that contains the status of the package version.

*/ inline PackageVersionDescription& WithStatus(const PackageVersionStatus& value) { SetStatus(value); return *this;} /** *

A string that contains the status of the package version.

*/ inline PackageVersionDescription& WithStatus(PackageVersionStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline const PackageVersionOrigin& GetOrigin() const{ return m_origin; } /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline bool OriginHasBeenSet() const { return m_originHasBeenSet; } /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline void SetOrigin(const PackageVersionOrigin& value) { m_originHasBeenSet = true; m_origin = value; } /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline void SetOrigin(PackageVersionOrigin&& value) { m_originHasBeenSet = true; m_origin = std::move(value); } /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline PackageVersionDescription& WithOrigin(const PackageVersionOrigin& value) { SetOrigin(value); return *this;} /** *

A PackageVersionOrigin * object that contains information about how the package version was added to the * repository.

*/ inline PackageVersionDescription& WithOrigin(PackageVersionOrigin&& value) { SetOrigin(std::move(value)); return *this;} private: PackageFormat m_format; bool m_formatHasBeenSet = false; Aws::String m_namespace; bool m_namespaceHasBeenSet = false; Aws::String m_packageName; bool m_packageNameHasBeenSet = false; Aws::String m_displayName; bool m_displayNameHasBeenSet = false; Aws::String m_version; bool m_versionHasBeenSet = false; Aws::String m_summary; bool m_summaryHasBeenSet = false; Aws::String m_homePage; bool m_homePageHasBeenSet = false; Aws::String m_sourceCodeRepository; bool m_sourceCodeRepositoryHasBeenSet = false; Aws::Utils::DateTime m_publishedTime; bool m_publishedTimeHasBeenSet = false; Aws::Vector m_licenses; bool m_licensesHasBeenSet = false; Aws::String m_revision; bool m_revisionHasBeenSet = false; PackageVersionStatus m_status; bool m_statusHasBeenSet = false; PackageVersionOrigin m_origin; bool m_originHasBeenSet = false; }; } // namespace Model } // namespace CodeArtifact } // namespace Aws