/** * 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 CodeArtifact { namespace Model { /** *

Information about how a package version was added to a * repository.

See Also:

AWS * API Reference

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

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline const DomainEntryPoint& GetDomainEntryPoint() const{ return m_domainEntryPoint; } /** *

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline bool DomainEntryPointHasBeenSet() const { return m_domainEntryPointHasBeenSet; } /** *

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline void SetDomainEntryPoint(const DomainEntryPoint& value) { m_domainEntryPointHasBeenSet = true; m_domainEntryPoint = value; } /** *

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline void SetDomainEntryPoint(DomainEntryPoint&& value) { m_domainEntryPointHasBeenSet = true; m_domainEntryPoint = std::move(value); } /** *

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline PackageVersionOrigin& WithDomainEntryPoint(const DomainEntryPoint& value) { SetDomainEntryPoint(value); return *this;} /** *

A DomainEntryPoint * object that contains information about from which repository or external * connection the package version was added to the domain.

*/ inline PackageVersionOrigin& WithDomainEntryPoint(DomainEntryPoint&& value) { SetDomainEntryPoint(std::move(value)); return *this;} /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline const PackageVersionOriginType& GetOriginType() const{ return m_originType; } /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline bool OriginTypeHasBeenSet() const { return m_originTypeHasBeenSet; } /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline void SetOriginType(const PackageVersionOriginType& value) { m_originTypeHasBeenSet = true; m_originType = value; } /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline void SetOriginType(PackageVersionOriginType&& value) { m_originTypeHasBeenSet = true; m_originType = std::move(value); } /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline PackageVersionOrigin& WithOriginType(const PackageVersionOriginType& value) { SetOriginType(value); return *this;} /** *

Describes how the package version was originally added to the domain. An * INTERNAL origin type means the package version was published * directly to a repository in the domain. An EXTERNAL origin type * means the package version was ingested from an external connection.

*/ inline PackageVersionOrigin& WithOriginType(PackageVersionOriginType&& value) { SetOriginType(std::move(value)); return *this;} private: DomainEntryPoint m_domainEntryPoint; bool m_domainEntryPointHasBeenSet = false; PackageVersionOriginType m_originType; bool m_originTypeHasBeenSet = false; }; } // namespace Model } // namespace CodeArtifact } // namespace Aws