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/greengrass/Greengrass_EXPORTS.h>
8 #include <aws/greengrass/GreengrassRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/greengrass/model/Logger.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Greengrass
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_GREENGRASS_API CreateLoggerDefinitionVersionRequest : public GreengrassRequest
24   {
25   public:
26     CreateLoggerDefinitionVersionRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "CreateLoggerDefinitionVersion"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * A client token used to correlate requests and responses.
41      */
GetAmznClientToken()42     inline const Aws::String& GetAmznClientToken() const{ return m_amznClientToken; }
43 
44     /**
45      * A client token used to correlate requests and responses.
46      */
AmznClientTokenHasBeenSet()47     inline bool AmznClientTokenHasBeenSet() const { return m_amznClientTokenHasBeenSet; }
48 
49     /**
50      * A client token used to correlate requests and responses.
51      */
SetAmznClientToken(const Aws::String & value)52     inline void SetAmznClientToken(const Aws::String& value) { m_amznClientTokenHasBeenSet = true; m_amznClientToken = value; }
53 
54     /**
55      * A client token used to correlate requests and responses.
56      */
SetAmznClientToken(Aws::String && value)57     inline void SetAmznClientToken(Aws::String&& value) { m_amznClientTokenHasBeenSet = true; m_amznClientToken = std::move(value); }
58 
59     /**
60      * A client token used to correlate requests and responses.
61      */
SetAmznClientToken(const char * value)62     inline void SetAmznClientToken(const char* value) { m_amznClientTokenHasBeenSet = true; m_amznClientToken.assign(value); }
63 
64     /**
65      * A client token used to correlate requests and responses.
66      */
WithAmznClientToken(const Aws::String & value)67     inline CreateLoggerDefinitionVersionRequest& WithAmznClientToken(const Aws::String& value) { SetAmznClientToken(value); return *this;}
68 
69     /**
70      * A client token used to correlate requests and responses.
71      */
WithAmznClientToken(Aws::String && value)72     inline CreateLoggerDefinitionVersionRequest& WithAmznClientToken(Aws::String&& value) { SetAmznClientToken(std::move(value)); return *this;}
73 
74     /**
75      * A client token used to correlate requests and responses.
76      */
WithAmznClientToken(const char * value)77     inline CreateLoggerDefinitionVersionRequest& WithAmznClientToken(const char* value) { SetAmznClientToken(value); return *this;}
78 
79 
80     /**
81      * The ID of the logger definition.
82      */
GetLoggerDefinitionId()83     inline const Aws::String& GetLoggerDefinitionId() const{ return m_loggerDefinitionId; }
84 
85     /**
86      * The ID of the logger definition.
87      */
LoggerDefinitionIdHasBeenSet()88     inline bool LoggerDefinitionIdHasBeenSet() const { return m_loggerDefinitionIdHasBeenSet; }
89 
90     /**
91      * The ID of the logger definition.
92      */
SetLoggerDefinitionId(const Aws::String & value)93     inline void SetLoggerDefinitionId(const Aws::String& value) { m_loggerDefinitionIdHasBeenSet = true; m_loggerDefinitionId = value; }
94 
95     /**
96      * The ID of the logger definition.
97      */
SetLoggerDefinitionId(Aws::String && value)98     inline void SetLoggerDefinitionId(Aws::String&& value) { m_loggerDefinitionIdHasBeenSet = true; m_loggerDefinitionId = std::move(value); }
99 
100     /**
101      * The ID of the logger definition.
102      */
SetLoggerDefinitionId(const char * value)103     inline void SetLoggerDefinitionId(const char* value) { m_loggerDefinitionIdHasBeenSet = true; m_loggerDefinitionId.assign(value); }
104 
105     /**
106      * The ID of the logger definition.
107      */
WithLoggerDefinitionId(const Aws::String & value)108     inline CreateLoggerDefinitionVersionRequest& WithLoggerDefinitionId(const Aws::String& value) { SetLoggerDefinitionId(value); return *this;}
109 
110     /**
111      * The ID of the logger definition.
112      */
WithLoggerDefinitionId(Aws::String && value)113     inline CreateLoggerDefinitionVersionRequest& WithLoggerDefinitionId(Aws::String&& value) { SetLoggerDefinitionId(std::move(value)); return *this;}
114 
115     /**
116      * The ID of the logger definition.
117      */
WithLoggerDefinitionId(const char * value)118     inline CreateLoggerDefinitionVersionRequest& WithLoggerDefinitionId(const char* value) { SetLoggerDefinitionId(value); return *this;}
119 
120 
121     /**
122      * A list of loggers.
123      */
GetLoggers()124     inline const Aws::Vector<Logger>& GetLoggers() const{ return m_loggers; }
125 
126     /**
127      * A list of loggers.
128      */
LoggersHasBeenSet()129     inline bool LoggersHasBeenSet() const { return m_loggersHasBeenSet; }
130 
131     /**
132      * A list of loggers.
133      */
SetLoggers(const Aws::Vector<Logger> & value)134     inline void SetLoggers(const Aws::Vector<Logger>& value) { m_loggersHasBeenSet = true; m_loggers = value; }
135 
136     /**
137      * A list of loggers.
138      */
SetLoggers(Aws::Vector<Logger> && value)139     inline void SetLoggers(Aws::Vector<Logger>&& value) { m_loggersHasBeenSet = true; m_loggers = std::move(value); }
140 
141     /**
142      * A list of loggers.
143      */
WithLoggers(const Aws::Vector<Logger> & value)144     inline CreateLoggerDefinitionVersionRequest& WithLoggers(const Aws::Vector<Logger>& value) { SetLoggers(value); return *this;}
145 
146     /**
147      * A list of loggers.
148      */
WithLoggers(Aws::Vector<Logger> && value)149     inline CreateLoggerDefinitionVersionRequest& WithLoggers(Aws::Vector<Logger>&& value) { SetLoggers(std::move(value)); return *this;}
150 
151     /**
152      * A list of loggers.
153      */
AddLoggers(const Logger & value)154     inline CreateLoggerDefinitionVersionRequest& AddLoggers(const Logger& value) { m_loggersHasBeenSet = true; m_loggers.push_back(value); return *this; }
155 
156     /**
157      * A list of loggers.
158      */
AddLoggers(Logger && value)159     inline CreateLoggerDefinitionVersionRequest& AddLoggers(Logger&& value) { m_loggersHasBeenSet = true; m_loggers.push_back(std::move(value)); return *this; }
160 
161   private:
162 
163     Aws::String m_amznClientToken;
164     bool m_amznClientTokenHasBeenSet;
165 
166     Aws::String m_loggerDefinitionId;
167     bool m_loggerDefinitionIdHasBeenSet;
168 
169     Aws::Vector<Logger> m_loggers;
170     bool m_loggersHasBeenSet;
171   };
172 
173 } // namespace Model
174 } // namespace Greengrass
175 } // namespace Aws
176