1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/codecommit/CodeCommit_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/codecommit/model/MergeOptionTypeEnum.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace CodeCommit
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Returns information about a merge or potential merge between a source
29    * reference and a destination reference in a pull request.</p><p><h3>See
30    * Also:</h3>   <a
31    * href="http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/MergeMetadata">AWS
32    * API Reference</a></p>
33    */
34   class AWS_CODECOMMIT_API MergeMetadata
35   {
36   public:
37     MergeMetadata();
38     MergeMetadata(Aws::Utils::Json::JsonView jsonValue);
39     MergeMetadata& operator=(Aws::Utils::Json::JsonView jsonValue);
40     Aws::Utils::Json::JsonValue Jsonize() const;
41 
42 
43     /**
44      * <p>A Boolean value indicating whether the merge has been made.</p>
45      */
GetIsMerged()46     inline bool GetIsMerged() const{ return m_isMerged; }
47 
48     /**
49      * <p>A Boolean value indicating whether the merge has been made.</p>
50      */
IsMergedHasBeenSet()51     inline bool IsMergedHasBeenSet() const { return m_isMergedHasBeenSet; }
52 
53     /**
54      * <p>A Boolean value indicating whether the merge has been made.</p>
55      */
SetIsMerged(bool value)56     inline void SetIsMerged(bool value) { m_isMergedHasBeenSet = true; m_isMerged = value; }
57 
58     /**
59      * <p>A Boolean value indicating whether the merge has been made.</p>
60      */
WithIsMerged(bool value)61     inline MergeMetadata& WithIsMerged(bool value) { SetIsMerged(value); return *this;}
62 
63 
64     /**
65      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
66      */
GetMergedBy()67     inline const Aws::String& GetMergedBy() const{ return m_mergedBy; }
68 
69     /**
70      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
71      */
MergedByHasBeenSet()72     inline bool MergedByHasBeenSet() const { return m_mergedByHasBeenSet; }
73 
74     /**
75      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
76      */
SetMergedBy(const Aws::String & value)77     inline void SetMergedBy(const Aws::String& value) { m_mergedByHasBeenSet = true; m_mergedBy = value; }
78 
79     /**
80      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
81      */
SetMergedBy(Aws::String && value)82     inline void SetMergedBy(Aws::String&& value) { m_mergedByHasBeenSet = true; m_mergedBy = std::move(value); }
83 
84     /**
85      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
86      */
SetMergedBy(const char * value)87     inline void SetMergedBy(const char* value) { m_mergedByHasBeenSet = true; m_mergedBy.assign(value); }
88 
89     /**
90      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
91      */
WithMergedBy(const Aws::String & value)92     inline MergeMetadata& WithMergedBy(const Aws::String& value) { SetMergedBy(value); return *this;}
93 
94     /**
95      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
96      */
WithMergedBy(Aws::String && value)97     inline MergeMetadata& WithMergedBy(Aws::String&& value) { SetMergedBy(std::move(value)); return *this;}
98 
99     /**
100      * <p>The Amazon Resource Name (ARN) of the user who merged the branches.</p>
101      */
WithMergedBy(const char * value)102     inline MergeMetadata& WithMergedBy(const char* value) { SetMergedBy(value); return *this;}
103 
104 
105     /**
106      * <p>The commit ID for the merge commit, if any.</p>
107      */
GetMergeCommitId()108     inline const Aws::String& GetMergeCommitId() const{ return m_mergeCommitId; }
109 
110     /**
111      * <p>The commit ID for the merge commit, if any.</p>
112      */
MergeCommitIdHasBeenSet()113     inline bool MergeCommitIdHasBeenSet() const { return m_mergeCommitIdHasBeenSet; }
114 
115     /**
116      * <p>The commit ID for the merge commit, if any.</p>
117      */
SetMergeCommitId(const Aws::String & value)118     inline void SetMergeCommitId(const Aws::String& value) { m_mergeCommitIdHasBeenSet = true; m_mergeCommitId = value; }
119 
120     /**
121      * <p>The commit ID for the merge commit, if any.</p>
122      */
SetMergeCommitId(Aws::String && value)123     inline void SetMergeCommitId(Aws::String&& value) { m_mergeCommitIdHasBeenSet = true; m_mergeCommitId = std::move(value); }
124 
125     /**
126      * <p>The commit ID for the merge commit, if any.</p>
127      */
SetMergeCommitId(const char * value)128     inline void SetMergeCommitId(const char* value) { m_mergeCommitIdHasBeenSet = true; m_mergeCommitId.assign(value); }
129 
130     /**
131      * <p>The commit ID for the merge commit, if any.</p>
132      */
WithMergeCommitId(const Aws::String & value)133     inline MergeMetadata& WithMergeCommitId(const Aws::String& value) { SetMergeCommitId(value); return *this;}
134 
135     /**
136      * <p>The commit ID for the merge commit, if any.</p>
137      */
WithMergeCommitId(Aws::String && value)138     inline MergeMetadata& WithMergeCommitId(Aws::String&& value) { SetMergeCommitId(std::move(value)); return *this;}
139 
140     /**
141      * <p>The commit ID for the merge commit, if any.</p>
142      */
WithMergeCommitId(const char * value)143     inline MergeMetadata& WithMergeCommitId(const char* value) { SetMergeCommitId(value); return *this;}
144 
145 
146     /**
147      * <p>The merge strategy used in the merge.</p>
148      */
GetMergeOption()149     inline const MergeOptionTypeEnum& GetMergeOption() const{ return m_mergeOption; }
150 
151     /**
152      * <p>The merge strategy used in the merge.</p>
153      */
MergeOptionHasBeenSet()154     inline bool MergeOptionHasBeenSet() const { return m_mergeOptionHasBeenSet; }
155 
156     /**
157      * <p>The merge strategy used in the merge.</p>
158      */
SetMergeOption(const MergeOptionTypeEnum & value)159     inline void SetMergeOption(const MergeOptionTypeEnum& value) { m_mergeOptionHasBeenSet = true; m_mergeOption = value; }
160 
161     /**
162      * <p>The merge strategy used in the merge.</p>
163      */
SetMergeOption(MergeOptionTypeEnum && value)164     inline void SetMergeOption(MergeOptionTypeEnum&& value) { m_mergeOptionHasBeenSet = true; m_mergeOption = std::move(value); }
165 
166     /**
167      * <p>The merge strategy used in the merge.</p>
168      */
WithMergeOption(const MergeOptionTypeEnum & value)169     inline MergeMetadata& WithMergeOption(const MergeOptionTypeEnum& value) { SetMergeOption(value); return *this;}
170 
171     /**
172      * <p>The merge strategy used in the merge.</p>
173      */
WithMergeOption(MergeOptionTypeEnum && value)174     inline MergeMetadata& WithMergeOption(MergeOptionTypeEnum&& value) { SetMergeOption(std::move(value)); return *this;}
175 
176   private:
177 
178     bool m_isMerged;
179     bool m_isMergedHasBeenSet;
180 
181     Aws::String m_mergedBy;
182     bool m_mergedByHasBeenSet;
183 
184     Aws::String m_mergeCommitId;
185     bool m_mergeCommitIdHasBeenSet;
186 
187     MergeOptionTypeEnum m_mergeOption;
188     bool m_mergeOptionHasBeenSet;
189   };
190 
191 } // namespace Model
192 } // namespace CodeCommit
193 } // namespace Aws
194