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/iot/IoT_EXPORTS.h>
8 #include <aws/iot/IoTRequest.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 IoT
19 {
20 namespace Model
21 {
22 
23   /**
24    * <p>The input for the ListPrincipalThings operation.</p><p><h3>See Also:</h3>
25    * <a
26    * href="http://docs.aws.amazon.com/goto/WebAPI/iot-2015-05-28/ListPrincipalThingsRequest">AWS
27    * API Reference</a></p>
28    */
29   class AWS_IOT_API ListPrincipalThingsRequest : public IoTRequest
30   {
31   public:
32     ListPrincipalThingsRequest();
33 
34     // Service request name is the Operation name which will send this request out,
35     // each operation should has unique request name, so that we can get operation's name from this request.
36     // Note: this is not true for response, multiple operations may have the same response name,
37     // so we can not get operation's name from response.
GetServiceRequestName()38     inline virtual const char* GetServiceRequestName() const override { return "ListPrincipalThings"; }
39 
40     Aws::String SerializePayload() const override;
41 
42     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
43 
44     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
45 
46 
47     /**
48      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
49      * previous response; otherwise <b>null</b> to receive the first set of
50      * results.</p>
51      */
GetNextToken()52     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
53 
54     /**
55      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
56      * previous response; otherwise <b>null</b> to receive the first set of
57      * results.</p>
58      */
NextTokenHasBeenSet()59     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
60 
61     /**
62      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
63      * previous response; otherwise <b>null</b> to receive the first set of
64      * results.</p>
65      */
SetNextToken(const Aws::String & value)66     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
67 
68     /**
69      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
70      * previous response; otherwise <b>null</b> to receive the first set of
71      * results.</p>
72      */
SetNextToken(Aws::String && value)73     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
74 
75     /**
76      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
77      * previous response; otherwise <b>null</b> to receive the first set of
78      * results.</p>
79      */
SetNextToken(const char * value)80     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
81 
82     /**
83      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
84      * previous response; otherwise <b>null</b> to receive the first set of
85      * results.</p>
86      */
WithNextToken(const Aws::String & value)87     inline ListPrincipalThingsRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
88 
89     /**
90      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
91      * previous response; otherwise <b>null</b> to receive the first set of
92      * results.</p>
93      */
WithNextToken(Aws::String && value)94     inline ListPrincipalThingsRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
95 
96     /**
97      * <p>To retrieve the next set of results, the <code>nextToken</code> value from a
98      * previous response; otherwise <b>null</b> to receive the first set of
99      * results.</p>
100      */
WithNextToken(const char * value)101     inline ListPrincipalThingsRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
102 
103 
104     /**
105      * <p>The maximum number of results to return in this operation.</p>
106      */
GetMaxResults()107     inline int GetMaxResults() const{ return m_maxResults; }
108 
109     /**
110      * <p>The maximum number of results to return in this operation.</p>
111      */
MaxResultsHasBeenSet()112     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
113 
114     /**
115      * <p>The maximum number of results to return in this operation.</p>
116      */
SetMaxResults(int value)117     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
118 
119     /**
120      * <p>The maximum number of results to return in this operation.</p>
121      */
WithMaxResults(int value)122     inline ListPrincipalThingsRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
123 
124 
125     /**
126      * <p>The principal.</p>
127      */
GetPrincipal()128     inline const Aws::String& GetPrincipal() const{ return m_principal; }
129 
130     /**
131      * <p>The principal.</p>
132      */
PrincipalHasBeenSet()133     inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
134 
135     /**
136      * <p>The principal.</p>
137      */
SetPrincipal(const Aws::String & value)138     inline void SetPrincipal(const Aws::String& value) { m_principalHasBeenSet = true; m_principal = value; }
139 
140     /**
141      * <p>The principal.</p>
142      */
SetPrincipal(Aws::String && value)143     inline void SetPrincipal(Aws::String&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); }
144 
145     /**
146      * <p>The principal.</p>
147      */
SetPrincipal(const char * value)148     inline void SetPrincipal(const char* value) { m_principalHasBeenSet = true; m_principal.assign(value); }
149 
150     /**
151      * <p>The principal.</p>
152      */
WithPrincipal(const Aws::String & value)153     inline ListPrincipalThingsRequest& WithPrincipal(const Aws::String& value) { SetPrincipal(value); return *this;}
154 
155     /**
156      * <p>The principal.</p>
157      */
WithPrincipal(Aws::String && value)158     inline ListPrincipalThingsRequest& WithPrincipal(Aws::String&& value) { SetPrincipal(std::move(value)); return *this;}
159 
160     /**
161      * <p>The principal.</p>
162      */
WithPrincipal(const char * value)163     inline ListPrincipalThingsRequest& WithPrincipal(const char* value) { SetPrincipal(value); return *this;}
164 
165   private:
166 
167     Aws::String m_nextToken;
168     bool m_nextTokenHasBeenSet;
169 
170     int m_maxResults;
171     bool m_maxResultsHasBeenSet;
172 
173     Aws::String m_principal;
174     bool m_principalHasBeenSet;
175   };
176 
177 } // namespace Model
178 } // namespace IoT
179 } // namespace Aws
180