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

Returns information about a set of differences for a commit * specifier.

See Also:

AWS * API Reference

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

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline const BlobMetadata& GetBeforeBlob() const{ return m_beforeBlob; } /** *

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline bool BeforeBlobHasBeenSet() const { return m_beforeBlobHasBeenSet; } /** *

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline void SetBeforeBlob(const BlobMetadata& value) { m_beforeBlobHasBeenSet = true; m_beforeBlob = value; } /** *

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline void SetBeforeBlob(BlobMetadata&& value) { m_beforeBlobHasBeenSet = true; m_beforeBlob = std::move(value); } /** *

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline Difference& WithBeforeBlob(const BlobMetadata& value) { SetBeforeBlob(value); return *this;} /** *

Information about a beforeBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline Difference& WithBeforeBlob(BlobMetadata&& value) { SetBeforeBlob(std::move(value)); return *this;} /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline const BlobMetadata& GetAfterBlob() const{ return m_afterBlob; } /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline bool AfterBlobHasBeenSet() const { return m_afterBlobHasBeenSet; } /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline void SetAfterBlob(const BlobMetadata& value) { m_afterBlobHasBeenSet = true; m_afterBlob = value; } /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline void SetAfterBlob(BlobMetadata&& value) { m_afterBlobHasBeenSet = true; m_afterBlob = std::move(value); } /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline Difference& WithAfterBlob(const BlobMetadata& value) { SetAfterBlob(value); return *this;} /** *

Information about an afterBlob data type object, including the * ID, the file mode permission code, and the path.

*/ inline Difference& WithAfterBlob(BlobMetadata&& value) { SetAfterBlob(std::move(value)); return *this;} /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline const ChangeTypeEnum& GetChangeType() const{ return m_changeType; } /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline bool ChangeTypeHasBeenSet() const { return m_changeTypeHasBeenSet; } /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline void SetChangeType(const ChangeTypeEnum& value) { m_changeTypeHasBeenSet = true; m_changeType = value; } /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline void SetChangeType(ChangeTypeEnum&& value) { m_changeTypeHasBeenSet = true; m_changeType = std::move(value); } /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline Difference& WithChangeType(const ChangeTypeEnum& value) { SetChangeType(value); return *this;} /** *

Whether the change type of the difference is an addition (A), deletion (D), * or modification (M).

*/ inline Difference& WithChangeType(ChangeTypeEnum&& value) { SetChangeType(std::move(value)); return *this;} private: BlobMetadata m_beforeBlob; bool m_beforeBlobHasBeenSet; BlobMetadata m_afterBlob; bool m_afterBlobHasBeenSet; ChangeTypeEnum m_changeType; bool m_changeTypeHasBeenSet; }; } // namespace Model } // namespace CodeCommit } // namespace Aws