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

Location of the source code for an application version.

See * Also:

AWS * API Reference

*/ class SourceBuildInformation { public: AWS_ELASTICBEANSTALK_API SourceBuildInformation(); AWS_ELASTICBEANSTALK_API SourceBuildInformation(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API SourceBuildInformation& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_ELASTICBEANSTALK_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline const SourceType& GetSourceType() const{ return m_sourceType; } /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline bool SourceTypeHasBeenSet() const { return m_sourceTypeHasBeenSet; } /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline void SetSourceType(const SourceType& value) { m_sourceTypeHasBeenSet = true; m_sourceType = value; } /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline void SetSourceType(SourceType&& value) { m_sourceTypeHasBeenSet = true; m_sourceType = std::move(value); } /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline SourceBuildInformation& WithSourceType(const SourceType& value) { SetSourceType(value); return *this;} /** *

The type of repository.

  • Git

  • *

    Zip

*/ inline SourceBuildInformation& WithSourceType(SourceType&& value) { SetSourceType(std::move(value)); return *this;} /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline const SourceRepository& GetSourceRepository() const{ return m_sourceRepository; } /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline bool SourceRepositoryHasBeenSet() const { return m_sourceRepositoryHasBeenSet; } /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline void SetSourceRepository(const SourceRepository& value) { m_sourceRepositoryHasBeenSet = true; m_sourceRepository = value; } /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline void SetSourceRepository(SourceRepository&& value) { m_sourceRepositoryHasBeenSet = true; m_sourceRepository = std::move(value); } /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline SourceBuildInformation& WithSourceRepository(const SourceRepository& value) { SetSourceRepository(value); return *this;} /** *

Location where the repository is stored.

  • * CodeCommit

  • S3

*/ inline SourceBuildInformation& WithSourceRepository(SourceRepository&& value) { SetSourceRepository(std::move(value)); return *this;} /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline const Aws::String& GetSourceLocation() const{ return m_sourceLocation; } /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline bool SourceLocationHasBeenSet() const { return m_sourceLocationHasBeenSet; } /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline void SetSourceLocation(const Aws::String& value) { m_sourceLocationHasBeenSet = true; m_sourceLocation = value; } /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline void SetSourceLocation(Aws::String&& value) { m_sourceLocationHasBeenSet = true; m_sourceLocation = std::move(value); } /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline void SetSourceLocation(const char* value) { m_sourceLocationHasBeenSet = true; m_sourceLocation.assign(value); } /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline SourceBuildInformation& WithSourceLocation(const Aws::String& value) { SetSourceLocation(value); return *this;} /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline SourceBuildInformation& WithSourceLocation(Aws::String&& value) { SetSourceLocation(std::move(value)); return *this;} /** *

The location of the source code, as a formatted string, depending on the * value of SourceRepository

  • For * CodeCommit, the format is the repository name and commit ID, * separated by a forward slash. For example, * my-git-repo/265cfa0cf6af46153527f55d6503ec030551f57a.

  • *
  • For S3, the format is the S3 bucket name and object key, * separated by a forward slash. For example, * my-s3-bucket/Folders/my-source-file.

*/ inline SourceBuildInformation& WithSourceLocation(const char* value) { SetSourceLocation(value); return *this;} private: SourceType m_sourceType; bool m_sourceTypeHasBeenSet = false; SourceRepository m_sourceRepository; bool m_sourceRepositoryHasBeenSet = false; Aws::String m_sourceLocation; bool m_sourceLocationHasBeenSet = false; }; } // namespace Model } // namespace ElasticBeanstalk } // namespace Aws