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/codeguru-reviewer/CodeGuruReviewer_EXPORTS.h>
8 #include <aws/codeguru-reviewer/CodeGuruReviewerRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Http
15 {
16     class URI;
17 } //namespace Http
18 namespace CodeGuruReviewer
19 {
20 namespace Model
21 {
22 
23   /**
24    */
25   class AWS_CODEGURUREVIEWER_API DescribeRecommendationFeedbackRequest : public CodeGuruReviewerRequest
26   {
27   public:
28     DescribeRecommendationFeedbackRequest();
29 
30     // Service request name is the Operation name which will send this request out,
31     // each operation should has unique request name, so that we can get operation's name from this request.
32     // Note: this is not true for response, multiple operations may have the same response name,
33     // so we can not get operation's name from response.
GetServiceRequestName()34     inline virtual const char* GetServiceRequestName() const override { return "DescribeRecommendationFeedback"; }
35 
36     Aws::String SerializePayload() const override;
37 
38     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
39 
40 
41     /**
42      * <p>The Amazon Resource Name (ARN) of the <a
43      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
44      * <code>CodeReview</code> </a> object. </p>
45      */
GetCodeReviewArn()46     inline const Aws::String& GetCodeReviewArn() const{ return m_codeReviewArn; }
47 
48     /**
49      * <p>The Amazon Resource Name (ARN) of the <a
50      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
51      * <code>CodeReview</code> </a> object. </p>
52      */
CodeReviewArnHasBeenSet()53     inline bool CodeReviewArnHasBeenSet() const { return m_codeReviewArnHasBeenSet; }
54 
55     /**
56      * <p>The Amazon Resource Name (ARN) of the <a
57      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
58      * <code>CodeReview</code> </a> object. </p>
59      */
SetCodeReviewArn(const Aws::String & value)60     inline void SetCodeReviewArn(const Aws::String& value) { m_codeReviewArnHasBeenSet = true; m_codeReviewArn = value; }
61 
62     /**
63      * <p>The Amazon Resource Name (ARN) of the <a
64      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
65      * <code>CodeReview</code> </a> object. </p>
66      */
SetCodeReviewArn(Aws::String && value)67     inline void SetCodeReviewArn(Aws::String&& value) { m_codeReviewArnHasBeenSet = true; m_codeReviewArn = std::move(value); }
68 
69     /**
70      * <p>The Amazon Resource Name (ARN) of the <a
71      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
72      * <code>CodeReview</code> </a> object. </p>
73      */
SetCodeReviewArn(const char * value)74     inline void SetCodeReviewArn(const char* value) { m_codeReviewArnHasBeenSet = true; m_codeReviewArn.assign(value); }
75 
76     /**
77      * <p>The Amazon Resource Name (ARN) of the <a
78      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
79      * <code>CodeReview</code> </a> object. </p>
80      */
WithCodeReviewArn(const Aws::String & value)81     inline DescribeRecommendationFeedbackRequest& WithCodeReviewArn(const Aws::String& value) { SetCodeReviewArn(value); return *this;}
82 
83     /**
84      * <p>The Amazon Resource Name (ARN) of the <a
85      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
86      * <code>CodeReview</code> </a> object. </p>
87      */
WithCodeReviewArn(Aws::String && value)88     inline DescribeRecommendationFeedbackRequest& WithCodeReviewArn(Aws::String&& value) { SetCodeReviewArn(std::move(value)); return *this;}
89 
90     /**
91      * <p>The Amazon Resource Name (ARN) of the <a
92      * href="https://docs.aws.amazon.com/codeguru/latest/reviewer-api/API_CodeReview.html">
93      * <code>CodeReview</code> </a> object. </p>
94      */
WithCodeReviewArn(const char * value)95     inline DescribeRecommendationFeedbackRequest& WithCodeReviewArn(const char* value) { SetCodeReviewArn(value); return *this;}
96 
97 
98     /**
99      * <p> The recommendation ID that can be used to track the provided recommendations
100      * and then to collect the feedback. </p>
101      */
GetRecommendationId()102     inline const Aws::String& GetRecommendationId() const{ return m_recommendationId; }
103 
104     /**
105      * <p> The recommendation ID that can be used to track the provided recommendations
106      * and then to collect the feedback. </p>
107      */
RecommendationIdHasBeenSet()108     inline bool RecommendationIdHasBeenSet() const { return m_recommendationIdHasBeenSet; }
109 
110     /**
111      * <p> The recommendation ID that can be used to track the provided recommendations
112      * and then to collect the feedback. </p>
113      */
SetRecommendationId(const Aws::String & value)114     inline void SetRecommendationId(const Aws::String& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = value; }
115 
116     /**
117      * <p> The recommendation ID that can be used to track the provided recommendations
118      * and then to collect the feedback. </p>
119      */
SetRecommendationId(Aws::String && value)120     inline void SetRecommendationId(Aws::String&& value) { m_recommendationIdHasBeenSet = true; m_recommendationId = std::move(value); }
121 
122     /**
123      * <p> The recommendation ID that can be used to track the provided recommendations
124      * and then to collect the feedback. </p>
125      */
SetRecommendationId(const char * value)126     inline void SetRecommendationId(const char* value) { m_recommendationIdHasBeenSet = true; m_recommendationId.assign(value); }
127 
128     /**
129      * <p> The recommendation ID that can be used to track the provided recommendations
130      * and then to collect the feedback. </p>
131      */
WithRecommendationId(const Aws::String & value)132     inline DescribeRecommendationFeedbackRequest& WithRecommendationId(const Aws::String& value) { SetRecommendationId(value); return *this;}
133 
134     /**
135      * <p> The recommendation ID that can be used to track the provided recommendations
136      * and then to collect the feedback. </p>
137      */
WithRecommendationId(Aws::String && value)138     inline DescribeRecommendationFeedbackRequest& WithRecommendationId(Aws::String&& value) { SetRecommendationId(std::move(value)); return *this;}
139 
140     /**
141      * <p> The recommendation ID that can be used to track the provided recommendations
142      * and then to collect the feedback. </p>
143      */
WithRecommendationId(const char * value)144     inline DescribeRecommendationFeedbackRequest& WithRecommendationId(const char* value) { SetRecommendationId(value); return *this;}
145 
146 
147     /**
148      * <p> Optional parameter to describe the feedback for a given user. If this is not
149      * supplied, it defaults to the user making the request. </p> <p> The
150      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
151      * Services account ID or an Amazon Resource Name (ARN). For more information, see
152      * <a
153      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
154      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
155      * Management User Guide</i>. </p>
156      */
GetUserId()157     inline const Aws::String& GetUserId() const{ return m_userId; }
158 
159     /**
160      * <p> Optional parameter to describe the feedback for a given user. If this is not
161      * supplied, it defaults to the user making the request. </p> <p> The
162      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
163      * Services account ID or an Amazon Resource Name (ARN). For more information, see
164      * <a
165      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
166      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
167      * Management User Guide</i>. </p>
168      */
UserIdHasBeenSet()169     inline bool UserIdHasBeenSet() const { return m_userIdHasBeenSet; }
170 
171     /**
172      * <p> Optional parameter to describe the feedback for a given user. If this is not
173      * supplied, it defaults to the user making the request. </p> <p> The
174      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
175      * Services account ID or an Amazon Resource Name (ARN). For more information, see
176      * <a
177      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
178      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
179      * Management User Guide</i>. </p>
180      */
SetUserId(const Aws::String & value)181     inline void SetUserId(const Aws::String& value) { m_userIdHasBeenSet = true; m_userId = value; }
182 
183     /**
184      * <p> Optional parameter to describe the feedback for a given user. If this is not
185      * supplied, it defaults to the user making the request. </p> <p> The
186      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
187      * Services account ID or an Amazon Resource Name (ARN). For more information, see
188      * <a
189      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
190      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
191      * Management User Guide</i>. </p>
192      */
SetUserId(Aws::String && value)193     inline void SetUserId(Aws::String&& value) { m_userIdHasBeenSet = true; m_userId = std::move(value); }
194 
195     /**
196      * <p> Optional parameter to describe the feedback for a given user. If this is not
197      * supplied, it defaults to the user making the request. </p> <p> The
198      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
199      * Services account ID or an Amazon Resource Name (ARN). For more information, see
200      * <a
201      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
202      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
203      * Management User Guide</i>. </p>
204      */
SetUserId(const char * value)205     inline void SetUserId(const char* value) { m_userIdHasBeenSet = true; m_userId.assign(value); }
206 
207     /**
208      * <p> Optional parameter to describe the feedback for a given user. If this is not
209      * supplied, it defaults to the user making the request. </p> <p> The
210      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
211      * Services account ID or an Amazon Resource Name (ARN). For more information, see
212      * <a
213      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
214      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
215      * Management User Guide</i>. </p>
216      */
WithUserId(const Aws::String & value)217     inline DescribeRecommendationFeedbackRequest& WithUserId(const Aws::String& value) { SetUserId(value); return *this;}
218 
219     /**
220      * <p> Optional parameter to describe the feedback for a given user. If this is not
221      * supplied, it defaults to the user making the request. </p> <p> The
222      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
223      * Services account ID or an Amazon Resource Name (ARN). For more information, see
224      * <a
225      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
226      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
227      * Management User Guide</i>. </p>
228      */
WithUserId(Aws::String && value)229     inline DescribeRecommendationFeedbackRequest& WithUserId(Aws::String&& value) { SetUserId(std::move(value)); return *this;}
230 
231     /**
232      * <p> Optional parameter to describe the feedback for a given user. If this is not
233      * supplied, it defaults to the user making the request. </p> <p> The
234      * <code>UserId</code> is an IAM principal that can be specified as an Amazon Web
235      * Services account ID or an Amazon Resource Name (ARN). For more information, see
236      * <a
237      * href="https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying">
238      * Specifying a Principal</a> in the <i>Amazon Web Services Identity and Access
239      * Management User Guide</i>. </p>
240      */
WithUserId(const char * value)241     inline DescribeRecommendationFeedbackRequest& WithUserId(const char* value) { SetUserId(value); return *this;}
242 
243   private:
244 
245     Aws::String m_codeReviewArn;
246     bool m_codeReviewArnHasBeenSet;
247 
248     Aws::String m_recommendationId;
249     bool m_recommendationIdHasBeenSet;
250 
251     Aws::String m_userId;
252     bool m_userIdHasBeenSet;
253   };
254 
255 } // namespace Model
256 } // namespace CodeGuruReviewer
257 } // namespace Aws
258