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/amplify/Amplify_EXPORTS.h>
8 #include <aws/amplify/AmplifyRequest.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 Amplify
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p> The request structure for the generate access logs request. </p><p><h3>See
22    * Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/amplify-2017-07-25/GenerateAccessLogsRequest">AWS
24    * API Reference</a></p>
25    */
26   class AWS_AMPLIFY_API GenerateAccessLogsRequest : public AmplifyRequest
27   {
28   public:
29     GenerateAccessLogsRequest();
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 "GenerateAccessLogs"; }
36 
37     Aws::String SerializePayload() const override;
38 
39 
40     /**
41      * <p> The time at which the logs should start. The time range specified is
42      * inclusive of the start time. </p>
43      */
GetStartTime()44     inline const Aws::Utils::DateTime& GetStartTime() const{ return m_startTime; }
45 
46     /**
47      * <p> The time at which the logs should start. The time range specified is
48      * inclusive of the start time. </p>
49      */
StartTimeHasBeenSet()50     inline bool StartTimeHasBeenSet() const { return m_startTimeHasBeenSet; }
51 
52     /**
53      * <p> The time at which the logs should start. The time range specified is
54      * inclusive of the start time. </p>
55      */
SetStartTime(const Aws::Utils::DateTime & value)56     inline void SetStartTime(const Aws::Utils::DateTime& value) { m_startTimeHasBeenSet = true; m_startTime = value; }
57 
58     /**
59      * <p> The time at which the logs should start. The time range specified is
60      * inclusive of the start time. </p>
61      */
SetStartTime(Aws::Utils::DateTime && value)62     inline void SetStartTime(Aws::Utils::DateTime&& value) { m_startTimeHasBeenSet = true; m_startTime = std::move(value); }
63 
64     /**
65      * <p> The time at which the logs should start. The time range specified is
66      * inclusive of the start time. </p>
67      */
WithStartTime(const Aws::Utils::DateTime & value)68     inline GenerateAccessLogsRequest& WithStartTime(const Aws::Utils::DateTime& value) { SetStartTime(value); return *this;}
69 
70     /**
71      * <p> The time at which the logs should start. The time range specified is
72      * inclusive of the start time. </p>
73      */
WithStartTime(Aws::Utils::DateTime && value)74     inline GenerateAccessLogsRequest& WithStartTime(Aws::Utils::DateTime&& value) { SetStartTime(std::move(value)); return *this;}
75 
76 
77     /**
78      * <p> The time at which the logs should end. The time range specified is inclusive
79      * of the end time. </p>
80      */
GetEndTime()81     inline const Aws::Utils::DateTime& GetEndTime() const{ return m_endTime; }
82 
83     /**
84      * <p> The time at which the logs should end. The time range specified is inclusive
85      * of the end time. </p>
86      */
EndTimeHasBeenSet()87     inline bool EndTimeHasBeenSet() const { return m_endTimeHasBeenSet; }
88 
89     /**
90      * <p> The time at which the logs should end. The time range specified is inclusive
91      * of the end time. </p>
92      */
SetEndTime(const Aws::Utils::DateTime & value)93     inline void SetEndTime(const Aws::Utils::DateTime& value) { m_endTimeHasBeenSet = true; m_endTime = value; }
94 
95     /**
96      * <p> The time at which the logs should end. The time range specified is inclusive
97      * of the end time. </p>
98      */
SetEndTime(Aws::Utils::DateTime && value)99     inline void SetEndTime(Aws::Utils::DateTime&& value) { m_endTimeHasBeenSet = true; m_endTime = std::move(value); }
100 
101     /**
102      * <p> The time at which the logs should end. The time range specified is inclusive
103      * of the end time. </p>
104      */
WithEndTime(const Aws::Utils::DateTime & value)105     inline GenerateAccessLogsRequest& WithEndTime(const Aws::Utils::DateTime& value) { SetEndTime(value); return *this;}
106 
107     /**
108      * <p> The time at which the logs should end. The time range specified is inclusive
109      * of the end time. </p>
110      */
WithEndTime(Aws::Utils::DateTime && value)111     inline GenerateAccessLogsRequest& WithEndTime(Aws::Utils::DateTime&& value) { SetEndTime(std::move(value)); return *this;}
112 
113 
114     /**
115      * <p> The name of the domain. </p>
116      */
GetDomainName()117     inline const Aws::String& GetDomainName() const{ return m_domainName; }
118 
119     /**
120      * <p> The name of the domain. </p>
121      */
DomainNameHasBeenSet()122     inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; }
123 
124     /**
125      * <p> The name of the domain. </p>
126      */
SetDomainName(const Aws::String & value)127     inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; }
128 
129     /**
130      * <p> The name of the domain. </p>
131      */
SetDomainName(Aws::String && value)132     inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); }
133 
134     /**
135      * <p> The name of the domain. </p>
136      */
SetDomainName(const char * value)137     inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); }
138 
139     /**
140      * <p> The name of the domain. </p>
141      */
WithDomainName(const Aws::String & value)142     inline GenerateAccessLogsRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;}
143 
144     /**
145      * <p> The name of the domain. </p>
146      */
WithDomainName(Aws::String && value)147     inline GenerateAccessLogsRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;}
148 
149     /**
150      * <p> The name of the domain. </p>
151      */
WithDomainName(const char * value)152     inline GenerateAccessLogsRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;}
153 
154 
155     /**
156      * <p> The unique ID for an Amplify app. </p>
157      */
GetAppId()158     inline const Aws::String& GetAppId() const{ return m_appId; }
159 
160     /**
161      * <p> The unique ID for an Amplify app. </p>
162      */
AppIdHasBeenSet()163     inline bool AppIdHasBeenSet() const { return m_appIdHasBeenSet; }
164 
165     /**
166      * <p> The unique ID for an Amplify app. </p>
167      */
SetAppId(const Aws::String & value)168     inline void SetAppId(const Aws::String& value) { m_appIdHasBeenSet = true; m_appId = value; }
169 
170     /**
171      * <p> The unique ID for an Amplify app. </p>
172      */
SetAppId(Aws::String && value)173     inline void SetAppId(Aws::String&& value) { m_appIdHasBeenSet = true; m_appId = std::move(value); }
174 
175     /**
176      * <p> The unique ID for an Amplify app. </p>
177      */
SetAppId(const char * value)178     inline void SetAppId(const char* value) { m_appIdHasBeenSet = true; m_appId.assign(value); }
179 
180     /**
181      * <p> The unique ID for an Amplify app. </p>
182      */
WithAppId(const Aws::String & value)183     inline GenerateAccessLogsRequest& WithAppId(const Aws::String& value) { SetAppId(value); return *this;}
184 
185     /**
186      * <p> The unique ID for an Amplify app. </p>
187      */
WithAppId(Aws::String && value)188     inline GenerateAccessLogsRequest& WithAppId(Aws::String&& value) { SetAppId(std::move(value)); return *this;}
189 
190     /**
191      * <p> The unique ID for an Amplify app. </p>
192      */
WithAppId(const char * value)193     inline GenerateAccessLogsRequest& WithAppId(const char* value) { SetAppId(value); return *this;}
194 
195   private:
196 
197     Aws::Utils::DateTime m_startTime;
198     bool m_startTimeHasBeenSet;
199 
200     Aws::Utils::DateTime m_endTime;
201     bool m_endTimeHasBeenSet;
202 
203     Aws::String m_domainName;
204     bool m_domainNameHasBeenSet;
205 
206     Aws::String m_appId;
207     bool m_appIdHasBeenSet;
208   };
209 
210 } // namespace Model
211 } // namespace Amplify
212 } // namespace Aws
213