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/ram/RAM_EXPORTS.h>
8 #include <aws/ram/RAMRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace RAM
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_RAM_API GetResourcePoliciesRequest : public RAMRequest
23   {
24   public:
25     GetResourcePoliciesRequest();
26 
27     // Service request name is the Operation name which will send this request out,
28     // each operation should has unique request name, so that we can get operation's name from this request.
29     // Note: this is not true for response, multiple operations may have the same response name,
30     // so we can not get operation's name from response.
GetServiceRequestName()31     inline virtual const char* GetServiceRequestName() const override { return "GetResourcePolicies"; }
32 
33     Aws::String SerializePayload() const override;
34 
35 
36     /**
37      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
38      */
GetResourceArns()39     inline const Aws::Vector<Aws::String>& GetResourceArns() const{ return m_resourceArns; }
40 
41     /**
42      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
43      */
ResourceArnsHasBeenSet()44     inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; }
45 
46     /**
47      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
48      */
SetResourceArns(const Aws::Vector<Aws::String> & value)49     inline void SetResourceArns(const Aws::Vector<Aws::String>& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = value; }
50 
51     /**
52      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
53      */
SetResourceArns(Aws::Vector<Aws::String> && value)54     inline void SetResourceArns(Aws::Vector<Aws::String>&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::move(value); }
55 
56     /**
57      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
58      */
WithResourceArns(const Aws::Vector<Aws::String> & value)59     inline GetResourcePoliciesRequest& WithResourceArns(const Aws::Vector<Aws::String>& value) { SetResourceArns(value); return *this;}
60 
61     /**
62      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
63      */
WithResourceArns(Aws::Vector<Aws::String> && value)64     inline GetResourcePoliciesRequest& WithResourceArns(Aws::Vector<Aws::String>&& value) { SetResourceArns(std::move(value)); return *this;}
65 
66     /**
67      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
68      */
AddResourceArns(const Aws::String & value)69     inline GetResourcePoliciesRequest& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; }
70 
71     /**
72      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
73      */
AddResourceArns(Aws::String && value)74     inline GetResourcePoliciesRequest& AddResourceArns(Aws::String&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(std::move(value)); return *this; }
75 
76     /**
77      * <p>The Amazon Resource Names (ARNs) of the resources.</p>
78      */
AddResourceArns(const char * value)79     inline GetResourcePoliciesRequest& AddResourceArns(const char* value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; }
80 
81 
82     /**
83      * <p>The principal.</p>
84      */
GetPrincipal()85     inline const Aws::String& GetPrincipal() const{ return m_principal; }
86 
87     /**
88      * <p>The principal.</p>
89      */
PrincipalHasBeenSet()90     inline bool PrincipalHasBeenSet() const { return m_principalHasBeenSet; }
91 
92     /**
93      * <p>The principal.</p>
94      */
SetPrincipal(const Aws::String & value)95     inline void SetPrincipal(const Aws::String& value) { m_principalHasBeenSet = true; m_principal = value; }
96 
97     /**
98      * <p>The principal.</p>
99      */
SetPrincipal(Aws::String && value)100     inline void SetPrincipal(Aws::String&& value) { m_principalHasBeenSet = true; m_principal = std::move(value); }
101 
102     /**
103      * <p>The principal.</p>
104      */
SetPrincipal(const char * value)105     inline void SetPrincipal(const char* value) { m_principalHasBeenSet = true; m_principal.assign(value); }
106 
107     /**
108      * <p>The principal.</p>
109      */
WithPrincipal(const Aws::String & value)110     inline GetResourcePoliciesRequest& WithPrincipal(const Aws::String& value) { SetPrincipal(value); return *this;}
111 
112     /**
113      * <p>The principal.</p>
114      */
WithPrincipal(Aws::String && value)115     inline GetResourcePoliciesRequest& WithPrincipal(Aws::String&& value) { SetPrincipal(std::move(value)); return *this;}
116 
117     /**
118      * <p>The principal.</p>
119      */
WithPrincipal(const char * value)120     inline GetResourcePoliciesRequest& WithPrincipal(const char* value) { SetPrincipal(value); return *this;}
121 
122 
123     /**
124      * <p>The token for the next page of results.</p>
125      */
GetNextToken()126     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
127 
128     /**
129      * <p>The token for the next page of results.</p>
130      */
NextTokenHasBeenSet()131     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
132 
133     /**
134      * <p>The token for the next page of results.</p>
135      */
SetNextToken(const Aws::String & value)136     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
137 
138     /**
139      * <p>The token for the next page of results.</p>
140      */
SetNextToken(Aws::String && value)141     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
142 
143     /**
144      * <p>The token for the next page of results.</p>
145      */
SetNextToken(const char * value)146     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
147 
148     /**
149      * <p>The token for the next page of results.</p>
150      */
WithNextToken(const Aws::String & value)151     inline GetResourcePoliciesRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
152 
153     /**
154      * <p>The token for the next page of results.</p>
155      */
WithNextToken(Aws::String && value)156     inline GetResourcePoliciesRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
157 
158     /**
159      * <p>The token for the next page of results.</p>
160      */
WithNextToken(const char * value)161     inline GetResourcePoliciesRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
162 
163 
164     /**
165      * <p>The maximum number of results to return with a single call. To retrieve the
166      * remaining results, make another call with the returned <code>nextToken</code>
167      * value.</p>
168      */
GetMaxResults()169     inline int GetMaxResults() const{ return m_maxResults; }
170 
171     /**
172      * <p>The maximum number of results to return with a single call. To retrieve the
173      * remaining results, make another call with the returned <code>nextToken</code>
174      * value.</p>
175      */
MaxResultsHasBeenSet()176     inline bool MaxResultsHasBeenSet() const { return m_maxResultsHasBeenSet; }
177 
178     /**
179      * <p>The maximum number of results to return with a single call. To retrieve the
180      * remaining results, make another call with the returned <code>nextToken</code>
181      * value.</p>
182      */
SetMaxResults(int value)183     inline void SetMaxResults(int value) { m_maxResultsHasBeenSet = true; m_maxResults = value; }
184 
185     /**
186      * <p>The maximum number of results to return with a single call. To retrieve the
187      * remaining results, make another call with the returned <code>nextToken</code>
188      * value.</p>
189      */
WithMaxResults(int value)190     inline GetResourcePoliciesRequest& WithMaxResults(int value) { SetMaxResults(value); return *this;}
191 
192   private:
193 
194     Aws::Vector<Aws::String> m_resourceArns;
195     bool m_resourceArnsHasBeenSet;
196 
197     Aws::String m_principal;
198     bool m_principalHasBeenSet;
199 
200     Aws::String m_nextToken;
201     bool m_nextTokenHasBeenSet;
202 
203     int m_maxResults;
204     bool m_maxResultsHasBeenSet;
205   };
206 
207 } // namespace Model
208 } // namespace RAM
209 } // namespace Aws
210