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

Returns information about a specific Git blob object.

See * Also:

AWS * API Reference

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

The full ID of the blob.

*/ inline const Aws::String& GetBlobId() const{ return m_blobId; } /** *

The full ID of the blob.

*/ inline bool BlobIdHasBeenSet() const { return m_blobIdHasBeenSet; } /** *

The full ID of the blob.

*/ inline void SetBlobId(const Aws::String& value) { m_blobIdHasBeenSet = true; m_blobId = value; } /** *

The full ID of the blob.

*/ inline void SetBlobId(Aws::String&& value) { m_blobIdHasBeenSet = true; m_blobId = std::move(value); } /** *

The full ID of the blob.

*/ inline void SetBlobId(const char* value) { m_blobIdHasBeenSet = true; m_blobId.assign(value); } /** *

The full ID of the blob.

*/ inline BlobMetadata& WithBlobId(const Aws::String& value) { SetBlobId(value); return *this;} /** *

The full ID of the blob.

*/ inline BlobMetadata& WithBlobId(Aws::String&& value) { SetBlobId(std::move(value)); return *this;} /** *

The full ID of the blob.

*/ inline BlobMetadata& WithBlobId(const char* value) { SetBlobId(value); return *this;} /** *

The path to the blob and associated file name, if any.

*/ inline const Aws::String& GetPath() const{ return m_path; } /** *

The path to the blob and associated file name, if any.

*/ inline bool PathHasBeenSet() const { return m_pathHasBeenSet; } /** *

The path to the blob and associated file name, if any.

*/ inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; } /** *

The path to the blob and associated file name, if any.

*/ inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); } /** *

The path to the blob and associated file name, if any.

*/ inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); } /** *

The path to the blob and associated file name, if any.

*/ inline BlobMetadata& WithPath(const Aws::String& value) { SetPath(value); return *this;} /** *

The path to the blob and associated file name, if any.

*/ inline BlobMetadata& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;} /** *

The path to the blob and associated file name, if any.

*/ inline BlobMetadata& WithPath(const char* value) { SetPath(value); return *this;} /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline const Aws::String& GetMode() const{ return m_mode; } /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline void SetMode(const Aws::String& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline void SetMode(Aws::String&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline void SetMode(const char* value) { m_modeHasBeenSet = true; m_mode.assign(value); } /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline BlobMetadata& WithMode(const Aws::String& value) { SetMode(value); return *this;} /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline BlobMetadata& WithMode(Aws::String&& value) { SetMode(std::move(value)); return *this;} /** *

The file mode permissions of the blob. File mode permission codes * include:

  • 100644 indicates read/write

  • *
  • 100755 indicates read/write/execute

  • * 160000 indicates a submodule

  • 120000 * indicates a symlink

*/ inline BlobMetadata& WithMode(const char* value) { SetMode(value); return *this;} private: Aws::String m_blobId; bool m_blobIdHasBeenSet = false; Aws::String m_path; bool m_pathHasBeenSet = false; Aws::String m_mode; bool m_modeHasBeenSet = false; }; } // namespace Model } // namespace CodeCommit } // namespace Aws