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/cloudtrail/CloudTrail_EXPORTS.h>
8 #include <aws/cloudtrail/CloudTrailRequest.h>
9 #include <aws/core/utils/DateTime.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace CloudTrail
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Requests the public keys for a specified time range.</p><p><h3>See Also:</h3>
22    * <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/cloudtrail-2013-11-01/ListPublicKeysRequest">AWS
24    * API Reference</a></p>
25    */
26   class AWS_CLOUDTRAIL_API ListPublicKeysRequest : public CloudTrailRequest
27   {
28   public:
29     ListPublicKeysRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "ListPublicKeys"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>Optionally specifies, in UTC, the start of the time range to look up public
44      * keys for CloudTrail digest files. If not specified, the current time is used,
45      * and the current public key is returned.</p>
46      */
GetStartTime()47     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
48 
49     /**
50      * <p>Optionally specifies, in UTC, the start of the time range to look up public
51      * keys for CloudTrail digest files. If not specified, the current time is used,
52      * and the current public key is returned.</p>
53      */
StartTimeHasBeenSet()54     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
55 
56     /**
57      * <p>Optionally specifies, in UTC, the start of the time range to look up public
58      * keys for CloudTrail digest files. If not specified, the current time is used,
59      * and the current public key is returned.</p>
60      */
SetStartTime(const Aws::Utils::DateTime & value)61     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
62 
63     /**
64      * <p>Optionally specifies, in UTC, the start of the time range to look up public
65      * keys for CloudTrail digest files. If not specified, the current time is used,
66      * and the current public key is returned.</p>
67      */
SetStartTime(Aws::Utils::DateTime && value)68     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
69 
70     /**
71      * <p>Optionally specifies, in UTC, the start of the time range to look up public
72      * keys for CloudTrail digest files. If not specified, the current time is used,
73      * and the current public key is returned.</p>
74      */
WithStartTime(const Aws::Utils::DateTime & value)75     inline ListPublicKeysRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
76 
77     /**
78      * <p>Optionally specifies, in UTC, the start of the time range to look up public
79      * keys for CloudTrail digest files. If not specified, the current time is used,
80      * and the current public key is returned.</p>
81      */
WithStartTime(Aws::Utils::DateTime && value)82     inline ListPublicKeysRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
83 
84 
85     /**
86      * <p>Optionally specifies, in UTC, the end of the time range to look up public
87      * keys for CloudTrail digest files. If not specified, the current time is
88      * used.</p>
89      */
GetEndTime()90     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
91 
92     /**
93      * <p>Optionally specifies, in UTC, the end of the time range to look up public
94      * keys for CloudTrail digest files. If not specified, the current time is
95      * used.</p>
96      */
EndTimeHasBeenSet()97     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
98 
99     /**
100      * <p>Optionally specifies, in UTC, the end of the time range to look up public
101      * keys for CloudTrail digest files. If not specified, the current time is
102      * used.</p>
103      */
SetEndTime(const Aws::Utils::DateTime & value)104     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
105 
106     /**
107      * <p>Optionally specifies, in UTC, the end of the time range to look up public
108      * keys for CloudTrail digest files. If not specified, the current time is
109      * used.</p>
110      */
SetEndTime(Aws::Utils::DateTime && value)111     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
112 
113     /**
114      * <p>Optionally specifies, in UTC, the end of the time range to look up public
115      * keys for CloudTrail digest files. If not specified, the current time is
116      * used.</p>
117      */
WithEndTime(const Aws::Utils::DateTime & value)118     inline ListPublicKeysRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
119 
120     /**
121      * <p>Optionally specifies, in UTC, the end of the time range to look up public
122      * keys for CloudTrail digest files. If not specified, the current time is
123      * used.</p>
124      */
WithEndTime(Aws::Utils::DateTime && value)125     inline ListPublicKeysRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
126 
127 
128     /**
129      * <p>Reserved for future use.</p>
130      */
GetNextToken()131     inline const Aws::String& GetNextToken() const{ return m_nextToken; }
132 
133     /**
134      * <p>Reserved for future use.</p>
135      */
NextTokenHasBeenSet()136     inline bool NextTokenHasBeenSet() const { return m_nextTokenHasBeenSet; }
137 
138     /**
139      * <p>Reserved for future use.</p>
140      */
SetNextToken(const Aws::String & value)141     inline void SetNextToken(const Aws::String& value) { m_nextTokenHasBeenSet = true; m_nextToken = value; }
142 
143     /**
144      * <p>Reserved for future use.</p>
145      */
SetNextToken(Aws::String && value)146     inline void SetNextToken(Aws::String&& value) { m_nextTokenHasBeenSet = true; m_nextToken = std::move(value); }
147 
148     /**
149      * <p>Reserved for future use.</p>
150      */
SetNextToken(const char * value)151     inline void SetNextToken(const char* value) { m_nextTokenHasBeenSet = true; m_nextToken.assign(value); }
152 
153     /**
154      * <p>Reserved for future use.</p>
155      */
WithNextToken(const Aws::String & value)156     inline ListPublicKeysRequest& WithNextToken(const Aws::String& value) { SetNextToken(value); return *this;}
157 
158     /**
159      * <p>Reserved for future use.</p>
160      */
WithNextToken(Aws::String && value)161     inline ListPublicKeysRequest& WithNextToken(Aws::String&& value) { SetNextToken(std::move(value)); return *this;}
162 
163     /**
164      * <p>Reserved for future use.</p>
165      */
WithNextToken(const char * value)166     inline ListPublicKeysRequest& WithNextToken(const char* value) { SetNextToken(value); return *this;}
167 
168   private:
169 
170     Aws::Utils::DateTime m_startTime;
171     bool m_startTimeHasBeenSet;
172 
173     Aws::Utils::DateTime m_endTime;
174     bool m_endTimeHasBeenSet;
175 
176     Aws::String m_nextToken;
177     bool m_nextTokenHasBeenSet;
178   };
179 
180 } // namespace Model
181 } // namespace CloudTrail
182 } // namespace Aws
183