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/core/utils/DateTime.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 an approval rule template.</p><p><h3>See Also:</h3>
29    * <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/ApprovalRuleTemplate">AWS
31    * API Reference</a></p>
32    */
33   class AWS_CODECOMMIT_API ApprovalRuleTemplate
34   {
35   public:
36     ApprovalRuleTemplate();
37     ApprovalRuleTemplate(Aws::Utils::Json::JsonView jsonValue);
38     ApprovalRuleTemplate& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The system-generated ID of the approval rule template.</p>
44      */
GetApprovalRuleTemplateId()45     inline const Aws::String& GetApprovalRuleTemplateId() const{ return m_approvalRuleTemplateId; }
46 
47     /**
48      * <p>The system-generated ID of the approval rule template.</p>
49      */
ApprovalRuleTemplateIdHasBeenSet()50     inline bool ApprovalRuleTemplateIdHasBeenSet() const { return m_approvalRuleTemplateIdHasBeenSet; }
51 
52     /**
53      * <p>The system-generated ID of the approval rule template.</p>
54      */
SetApprovalRuleTemplateId(const Aws::String & value)55     inline void SetApprovalRuleTemplateId(const Aws::String& value) { m_approvalRuleTemplateIdHasBeenSet = true; m_approvalRuleTemplateId = value; }
56 
57     /**
58      * <p>The system-generated ID of the approval rule template.</p>
59      */
SetApprovalRuleTemplateId(Aws::String && value)60     inline void SetApprovalRuleTemplateId(Aws::String&& value) { m_approvalRuleTemplateIdHasBeenSet = true; m_approvalRuleTemplateId = std::move(value); }
61 
62     /**
63      * <p>The system-generated ID of the approval rule template.</p>
64      */
SetApprovalRuleTemplateId(const char * value)65     inline void SetApprovalRuleTemplateId(const char* value) { m_approvalRuleTemplateIdHasBeenSet = true; m_approvalRuleTemplateId.assign(value); }
66 
67     /**
68      * <p>The system-generated ID of the approval rule template.</p>
69      */
WithApprovalRuleTemplateId(const Aws::String & value)70     inline ApprovalRuleTemplate& WithApprovalRuleTemplateId(const Aws::String& value) { SetApprovalRuleTemplateId(value); return *this;}
71 
72     /**
73      * <p>The system-generated ID of the approval rule template.</p>
74      */
WithApprovalRuleTemplateId(Aws::String && value)75     inline ApprovalRuleTemplate& WithApprovalRuleTemplateId(Aws::String&& value) { SetApprovalRuleTemplateId(std::move(value)); return *this;}
76 
77     /**
78      * <p>The system-generated ID of the approval rule template.</p>
79      */
WithApprovalRuleTemplateId(const char * value)80     inline ApprovalRuleTemplate& WithApprovalRuleTemplateId(const char* value) { SetApprovalRuleTemplateId(value); return *this;}
81 
82 
83     /**
84      * <p>The name of the approval rule template.</p>
85      */
GetApprovalRuleTemplateName()86     inline const Aws::String& GetApprovalRuleTemplateName() const{ return m_approvalRuleTemplateName; }
87 
88     /**
89      * <p>The name of the approval rule template.</p>
90      */
ApprovalRuleTemplateNameHasBeenSet()91     inline bool ApprovalRuleTemplateNameHasBeenSet() const { return m_approvalRuleTemplateNameHasBeenSet; }
92 
93     /**
94      * <p>The name of the approval rule template.</p>
95      */
SetApprovalRuleTemplateName(const Aws::String & value)96     inline void SetApprovalRuleTemplateName(const Aws::String& value) { m_approvalRuleTemplateNameHasBeenSet = true; m_approvalRuleTemplateName = value; }
97 
98     /**
99      * <p>The name of the approval rule template.</p>
100      */
SetApprovalRuleTemplateName(Aws::String && value)101     inline void SetApprovalRuleTemplateName(Aws::String&& value) { m_approvalRuleTemplateNameHasBeenSet = true; m_approvalRuleTemplateName = std::move(value); }
102 
103     /**
104      * <p>The name of the approval rule template.</p>
105      */
SetApprovalRuleTemplateName(const char * value)106     inline void SetApprovalRuleTemplateName(const char* value) { m_approvalRuleTemplateNameHasBeenSet = true; m_approvalRuleTemplateName.assign(value); }
107 
108     /**
109      * <p>The name of the approval rule template.</p>
110      */
WithApprovalRuleTemplateName(const Aws::String & value)111     inline ApprovalRuleTemplate& WithApprovalRuleTemplateName(const Aws::String& value) { SetApprovalRuleTemplateName(value); return *this;}
112 
113     /**
114      * <p>The name of the approval rule template.</p>
115      */
WithApprovalRuleTemplateName(Aws::String && value)116     inline ApprovalRuleTemplate& WithApprovalRuleTemplateName(Aws::String&& value) { SetApprovalRuleTemplateName(std::move(value)); return *this;}
117 
118     /**
119      * <p>The name of the approval rule template.</p>
120      */
WithApprovalRuleTemplateName(const char * value)121     inline ApprovalRuleTemplate& WithApprovalRuleTemplateName(const char* value) { SetApprovalRuleTemplateName(value); return *this;}
122 
123 
124     /**
125      * <p>The description of the approval rule template.</p>
126      */
GetApprovalRuleTemplateDescription()127     inline const Aws::String& GetApprovalRuleTemplateDescription() const{ return m_approvalRuleTemplateDescription; }
128 
129     /**
130      * <p>The description of the approval rule template.</p>
131      */
ApprovalRuleTemplateDescriptionHasBeenSet()132     inline bool ApprovalRuleTemplateDescriptionHasBeenSet() const { return m_approvalRuleTemplateDescriptionHasBeenSet; }
133 
134     /**
135      * <p>The description of the approval rule template.</p>
136      */
SetApprovalRuleTemplateDescription(const Aws::String & value)137     inline void SetApprovalRuleTemplateDescription(const Aws::String& value) { m_approvalRuleTemplateDescriptionHasBeenSet = true; m_approvalRuleTemplateDescription = value; }
138 
139     /**
140      * <p>The description of the approval rule template.</p>
141      */
SetApprovalRuleTemplateDescription(Aws::String && value)142     inline void SetApprovalRuleTemplateDescription(Aws::String&& value) { m_approvalRuleTemplateDescriptionHasBeenSet = true; m_approvalRuleTemplateDescription = std::move(value); }
143 
144     /**
145      * <p>The description of the approval rule template.</p>
146      */
SetApprovalRuleTemplateDescription(const char * value)147     inline void SetApprovalRuleTemplateDescription(const char* value) { m_approvalRuleTemplateDescriptionHasBeenSet = true; m_approvalRuleTemplateDescription.assign(value); }
148 
149     /**
150      * <p>The description of the approval rule template.</p>
151      */
WithApprovalRuleTemplateDescription(const Aws::String & value)152     inline ApprovalRuleTemplate& WithApprovalRuleTemplateDescription(const Aws::String& value) { SetApprovalRuleTemplateDescription(value); return *this;}
153 
154     /**
155      * <p>The description of the approval rule template.</p>
156      */
WithApprovalRuleTemplateDescription(Aws::String && value)157     inline ApprovalRuleTemplate& WithApprovalRuleTemplateDescription(Aws::String&& value) { SetApprovalRuleTemplateDescription(std::move(value)); return *this;}
158 
159     /**
160      * <p>The description of the approval rule template.</p>
161      */
WithApprovalRuleTemplateDescription(const char * value)162     inline ApprovalRuleTemplate& WithApprovalRuleTemplateDescription(const char* value) { SetApprovalRuleTemplateDescription(value); return *this;}
163 
164 
165     /**
166      * <p>The content of the approval rule template.</p>
167      */
GetApprovalRuleTemplateContent()168     inline const Aws::String& GetApprovalRuleTemplateContent() const{ return m_approvalRuleTemplateContent; }
169 
170     /**
171      * <p>The content of the approval rule template.</p>
172      */
ApprovalRuleTemplateContentHasBeenSet()173     inline bool ApprovalRuleTemplateContentHasBeenSet() const { return m_approvalRuleTemplateContentHasBeenSet; }
174 
175     /**
176      * <p>The content of the approval rule template.</p>
177      */
SetApprovalRuleTemplateContent(const Aws::String & value)178     inline void SetApprovalRuleTemplateContent(const Aws::String& value) { m_approvalRuleTemplateContentHasBeenSet = true; m_approvalRuleTemplateContent = value; }
179 
180     /**
181      * <p>The content of the approval rule template.</p>
182      */
SetApprovalRuleTemplateContent(Aws::String && value)183     inline void SetApprovalRuleTemplateContent(Aws::String&& value) { m_approvalRuleTemplateContentHasBeenSet = true; m_approvalRuleTemplateContent = std::move(value); }
184 
185     /**
186      * <p>The content of the approval rule template.</p>
187      */
SetApprovalRuleTemplateContent(const char * value)188     inline void SetApprovalRuleTemplateContent(const char* value) { m_approvalRuleTemplateContentHasBeenSet = true; m_approvalRuleTemplateContent.assign(value); }
189 
190     /**
191      * <p>The content of the approval rule template.</p>
192      */
WithApprovalRuleTemplateContent(const Aws::String & value)193     inline ApprovalRuleTemplate& WithApprovalRuleTemplateContent(const Aws::String& value) { SetApprovalRuleTemplateContent(value); return *this;}
194 
195     /**
196      * <p>The content of the approval rule template.</p>
197      */
WithApprovalRuleTemplateContent(Aws::String && value)198     inline ApprovalRuleTemplate& WithApprovalRuleTemplateContent(Aws::String&& value) { SetApprovalRuleTemplateContent(std::move(value)); return *this;}
199 
200     /**
201      * <p>The content of the approval rule template.</p>
202      */
WithApprovalRuleTemplateContent(const char * value)203     inline ApprovalRuleTemplate& WithApprovalRuleTemplateContent(const char* value) { SetApprovalRuleTemplateContent(value); return *this;}
204 
205 
206     /**
207      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
208      */
GetRuleContentSha256()209     inline const Aws::String& GetRuleContentSha256() const{ return m_ruleContentSha256; }
210 
211     /**
212      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
213      */
RuleContentSha256HasBeenSet()214     inline bool RuleContentSha256HasBeenSet() const { return m_ruleContentSha256HasBeenSet; }
215 
216     /**
217      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
218      */
SetRuleContentSha256(const Aws::String & value)219     inline void SetRuleContentSha256(const Aws::String& value) { m_ruleContentSha256HasBeenSet = true; m_ruleContentSha256 = value; }
220 
221     /**
222      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
223      */
SetRuleContentSha256(Aws::String && value)224     inline void SetRuleContentSha256(Aws::String&& value) { m_ruleContentSha256HasBeenSet = true; m_ruleContentSha256 = std::move(value); }
225 
226     /**
227      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
228      */
SetRuleContentSha256(const char * value)229     inline void SetRuleContentSha256(const char* value) { m_ruleContentSha256HasBeenSet = true; m_ruleContentSha256.assign(value); }
230 
231     /**
232      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
233      */
WithRuleContentSha256(const Aws::String & value)234     inline ApprovalRuleTemplate& WithRuleContentSha256(const Aws::String& value) { SetRuleContentSha256(value); return *this;}
235 
236     /**
237      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
238      */
WithRuleContentSha256(Aws::String && value)239     inline ApprovalRuleTemplate& WithRuleContentSha256(Aws::String&& value) { SetRuleContentSha256(std::move(value)); return *this;}
240 
241     /**
242      * <p>The SHA-256 hash signature for the content of the approval rule template.</p>
243      */
WithRuleContentSha256(const char * value)244     inline ApprovalRuleTemplate& WithRuleContentSha256(const char* value) { SetRuleContentSha256(value); return *this;}
245 
246 
247     /**
248      * <p>The date the approval rule template was most recently changed, in timestamp
249      * format.</p>
250      */
GetLastModifiedDate()251     inline const Aws::Utils::DateTime& GetLastModifiedDate() const{ return m_lastModifiedDate; }
252 
253     /**
254      * <p>The date the approval rule template was most recently changed, in timestamp
255      * format.</p>
256      */
LastModifiedDateHasBeenSet()257     inline bool LastModifiedDateHasBeenSet() const { return m_lastModifiedDateHasBeenSet; }
258 
259     /**
260      * <p>The date the approval rule template was most recently changed, in timestamp
261      * format.</p>
262      */
SetLastModifiedDate(const Aws::Utils::DateTime & value)263     inline void SetLastModifiedDate(const Aws::Utils::DateTime& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = value; }
264 
265     /**
266      * <p>The date the approval rule template was most recently changed, in timestamp
267      * format.</p>
268      */
SetLastModifiedDate(Aws::Utils::DateTime && value)269     inline void SetLastModifiedDate(Aws::Utils::DateTime&& value) { m_lastModifiedDateHasBeenSet = true; m_lastModifiedDate = std::move(value); }
270 
271     /**
272      * <p>The date the approval rule template was most recently changed, in timestamp
273      * format.</p>
274      */
WithLastModifiedDate(const Aws::Utils::DateTime & value)275     inline ApprovalRuleTemplate& WithLastModifiedDate(const Aws::Utils::DateTime& value) { SetLastModifiedDate(value); return *this;}
276 
277     /**
278      * <p>The date the approval rule template was most recently changed, in timestamp
279      * format.</p>
280      */
WithLastModifiedDate(Aws::Utils::DateTime && value)281     inline ApprovalRuleTemplate& WithLastModifiedDate(Aws::Utils::DateTime&& value) { SetLastModifiedDate(std::move(value)); return *this;}
282 
283 
284     /**
285      * <p>The date the approval rule template was created, in timestamp format.</p>
286      */
GetCreationDate()287     inline const Aws::Utils::DateTime& GetCreationDate() const{ return m_creationDate; }
288 
289     /**
290      * <p>The date the approval rule template was created, in timestamp format.</p>
291      */
CreationDateHasBeenSet()292     inline bool CreationDateHasBeenSet() const { return m_creationDateHasBeenSet; }
293 
294     /**
295      * <p>The date the approval rule template was created, in timestamp format.</p>
296      */
SetCreationDate(const Aws::Utils::DateTime & value)297     inline void SetCreationDate(const Aws::Utils::DateTime& value) { m_creationDateHasBeenSet = true; m_creationDate = value; }
298 
299     /**
300      * <p>The date the approval rule template was created, in timestamp format.</p>
301      */
SetCreationDate(Aws::Utils::DateTime && value)302     inline void SetCreationDate(Aws::Utils::DateTime&& value) { m_creationDateHasBeenSet = true; m_creationDate = std::move(value); }
303 
304     /**
305      * <p>The date the approval rule template was created, in timestamp format.</p>
306      */
WithCreationDate(const Aws::Utils::DateTime & value)307     inline ApprovalRuleTemplate& WithCreationDate(const Aws::Utils::DateTime& value) { SetCreationDate(value); return *this;}
308 
309     /**
310      * <p>The date the approval rule template was created, in timestamp format.</p>
311      */
WithCreationDate(Aws::Utils::DateTime && value)312     inline ApprovalRuleTemplate& WithCreationDate(Aws::Utils::DateTime&& value) { SetCreationDate(std::move(value)); return *this;}
313 
314 
315     /**
316      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
317      * to the approval rule template.</p>
318      */
GetLastModifiedUser()319     inline const Aws::String& GetLastModifiedUser() const{ return m_lastModifiedUser; }
320 
321     /**
322      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
323      * to the approval rule template.</p>
324      */
LastModifiedUserHasBeenSet()325     inline bool LastModifiedUserHasBeenSet() const { return m_lastModifiedUserHasBeenSet; }
326 
327     /**
328      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
329      * to the approval rule template.</p>
330      */
SetLastModifiedUser(const Aws::String & value)331     inline void SetLastModifiedUser(const Aws::String& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = value; }
332 
333     /**
334      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
335      * to the approval rule template.</p>
336      */
SetLastModifiedUser(Aws::String && value)337     inline void SetLastModifiedUser(Aws::String&& value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser = std::move(value); }
338 
339     /**
340      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
341      * to the approval rule template.</p>
342      */
SetLastModifiedUser(const char * value)343     inline void SetLastModifiedUser(const char* value) { m_lastModifiedUserHasBeenSet = true; m_lastModifiedUser.assign(value); }
344 
345     /**
346      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
347      * to the approval rule template.</p>
348      */
WithLastModifiedUser(const Aws::String & value)349     inline ApprovalRuleTemplate& WithLastModifiedUser(const Aws::String& value) { SetLastModifiedUser(value); return *this;}
350 
351     /**
352      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
353      * to the approval rule template.</p>
354      */
WithLastModifiedUser(Aws::String && value)355     inline ApprovalRuleTemplate& WithLastModifiedUser(Aws::String&& value) { SetLastModifiedUser(std::move(value)); return *this;}
356 
357     /**
358      * <p>The Amazon Resource Name (ARN) of the user who made the most recent changes
359      * to the approval rule template.</p>
360      */
WithLastModifiedUser(const char * value)361     inline ApprovalRuleTemplate& WithLastModifiedUser(const char* value) { SetLastModifiedUser(value); return *this;}
362 
363   private:
364 
365     Aws::String m_approvalRuleTemplateId;
366     bool m_approvalRuleTemplateIdHasBeenSet;
367 
368     Aws::String m_approvalRuleTemplateName;
369     bool m_approvalRuleTemplateNameHasBeenSet;
370 
371     Aws::String m_approvalRuleTemplateDescription;
372     bool m_approvalRuleTemplateDescriptionHasBeenSet;
373 
374     Aws::String m_approvalRuleTemplateContent;
375     bool m_approvalRuleTemplateContentHasBeenSet;
376 
377     Aws::String m_ruleContentSha256;
378     bool m_ruleContentSha256HasBeenSet;
379 
380     Aws::Utils::DateTime m_lastModifiedDate;
381     bool m_lastModifiedDateHasBeenSet;
382 
383     Aws::Utils::DateTime m_creationDate;
384     bool m_creationDateHasBeenSet;
385 
386     Aws::String m_lastModifiedUser;
387     bool m_lastModifiedUserHasBeenSet;
388   };
389 
390 } // namespace Model
391 } // namespace CodeCommit
392 } // namespace Aws
393