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/codeguruprofiler/CodeGuruProfiler_EXPORTS.h>
8 #include <aws/codeguruprofiler/CodeGuruProfilerRequest.h>
9 #include <aws/core/utils/Array.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 #include <aws/core/utils/UUID.h>
13 
14 namespace Aws
15 {
16 namespace Http
17 {
18     class URI;
19 } //namespace Http
20 namespace CodeGuruProfiler
21 {
22 namespace Model
23 {
24 
25   /**
26    * <p>The structure representing the postAgentProfileRequest.</p><p><h3>See
27    * Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileRequest">AWS
29    * API Reference</a></p>
30    */
31   class AWS_CODEGURUPROFILER_API PostAgentProfileRequest : public StreamingCodeGuruProfilerRequest
32   {
33   public:
34     PostAgentProfileRequest();
35 
36     // Service request name is the Operation name which will send this request out,
37     // each operation should has unique request name, so that we can get operation's name from this request.
38     // Note: this is not true for response, multiple operations may have the same response name,
39     // so we can not get operation's name from response.
GetServiceRequestName()40     inline virtual const char* GetServiceRequestName() const override { return "PostAgentProfile"; }
41 
42     void AddQueryStringParameters(Aws::Http::URI& uri) const override;
43 
44 
45     /**
46      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
47      * prevent the accidental submission of duplicate profiling data if there are
48      * failures and retries. </p>
49      */
GetProfileToken()50     inline const Aws::String& GetProfileToken() const{ return m_profileToken; }
51 
52     /**
53      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
54      * prevent the accidental submission of duplicate profiling data if there are
55      * failures and retries. </p>
56      */
ProfileTokenHasBeenSet()57     inline bool ProfileTokenHasBeenSet() const { return m_profileTokenHasBeenSet; }
58 
59     /**
60      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
61      * prevent the accidental submission of duplicate profiling data if there are
62      * failures and retries. </p>
63      */
SetProfileToken(const Aws::String & value)64     inline void SetProfileToken(const Aws::String& value) { m_profileTokenHasBeenSet = true; m_profileToken = value; }
65 
66     /**
67      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
68      * prevent the accidental submission of duplicate profiling data if there are
69      * failures and retries. </p>
70      */
SetProfileToken(Aws::String && value)71     inline void SetProfileToken(Aws::String&& value) { m_profileTokenHasBeenSet = true; m_profileToken = std::move(value); }
72 
73     /**
74      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
75      * prevent the accidental submission of duplicate profiling data if there are
76      * failures and retries. </p>
77      */
SetProfileToken(const char * value)78     inline void SetProfileToken(const char* value) { m_profileTokenHasBeenSet = true; m_profileToken.assign(value); }
79 
80     /**
81      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
82      * prevent the accidental submission of duplicate profiling data if there are
83      * failures and retries. </p>
84      */
WithProfileToken(const Aws::String & value)85     inline PostAgentProfileRequest& WithProfileToken(const Aws::String& value) { SetProfileToken(value); return *this;}
86 
87     /**
88      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
89      * prevent the accidental submission of duplicate profiling data if there are
90      * failures and retries. </p>
91      */
WithProfileToken(Aws::String && value)92     inline PostAgentProfileRequest& WithProfileToken(Aws::String&& value) { SetProfileToken(std::move(value)); return *this;}
93 
94     /**
95      * <p> Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to
96      * prevent the accidental submission of duplicate profiling data if there are
97      * failures and retries. </p>
98      */
WithProfileToken(const char * value)99     inline PostAgentProfileRequest& WithProfileToken(const char* value) { SetProfileToken(value); return *this;}
100 
101 
102     /**
103      * <p> The name of the profiling group with the aggregated profile that receives
104      * the submitted profiling data. </p>
105      */
GetProfilingGroupName()106     inline const Aws::String& GetProfilingGroupName() const{ return m_profilingGroupName; }
107 
108     /**
109      * <p> The name of the profiling group with the aggregated profile that receives
110      * the submitted profiling data. </p>
111      */
ProfilingGroupNameHasBeenSet()112     inline bool ProfilingGroupNameHasBeenSet() const { return m_profilingGroupNameHasBeenSet; }
113 
114     /**
115      * <p> The name of the profiling group with the aggregated profile that receives
116      * the submitted profiling data. </p>
117      */
SetProfilingGroupName(const Aws::String & value)118     inline void SetProfilingGroupName(const Aws::String& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = value; }
119 
120     /**
121      * <p> The name of the profiling group with the aggregated profile that receives
122      * the submitted profiling data. </p>
123      */
SetProfilingGroupName(Aws::String && value)124     inline void SetProfilingGroupName(Aws::String&& value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName = std::move(value); }
125 
126     /**
127      * <p> The name of the profiling group with the aggregated profile that receives
128      * the submitted profiling data. </p>
129      */
SetProfilingGroupName(const char * value)130     inline void SetProfilingGroupName(const char* value) { m_profilingGroupNameHasBeenSet = true; m_profilingGroupName.assign(value); }
131 
132     /**
133      * <p> The name of the profiling group with the aggregated profile that receives
134      * the submitted profiling data. </p>
135      */
WithProfilingGroupName(const Aws::String & value)136     inline PostAgentProfileRequest& WithProfilingGroupName(const Aws::String& value) { SetProfilingGroupName(value); return *this;}
137 
138     /**
139      * <p> The name of the profiling group with the aggregated profile that receives
140      * the submitted profiling data. </p>
141      */
WithProfilingGroupName(Aws::String && value)142     inline PostAgentProfileRequest& WithProfilingGroupName(Aws::String&& value) { SetProfilingGroupName(std::move(value)); return *this;}
143 
144     /**
145      * <p> The name of the profiling group with the aggregated profile that receives
146      * the submitted profiling data. </p>
147      */
WithProfilingGroupName(const char * value)148     inline PostAgentProfileRequest& WithProfilingGroupName(const char* value) { SetProfilingGroupName(value); return *this;}
149 
150   private:
151 
152 
153     Aws::String m_profileToken;
154     bool m_profileTokenHasBeenSet;
155 
156     Aws::String m_profilingGroupName;
157     bool m_profilingGroupNameHasBeenSet;
158   };
159 
160 } // namespace Model
161 } // namespace CodeGuruProfiler
162 } // namespace Aws
163