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/pinpoint/Pinpoint_EXPORTS.h>
8 #include <aws/pinpoint/PinpointRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/pinpoint/model/WriteSegmentRequest.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace Pinpoint
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_PINPOINT_API UpdateSegmentRequest : public PinpointRequest
23   {
24   public:
25     UpdateSegmentRequest();
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 "UpdateSegment"; }
32 
33     Aws::String SerializePayload() const override;
34 
35 
36     /**
37      * <p>The unique identifier for the application. This identifier is displayed as
38      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
39      */
GetApplicationId()40     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
41 
42     /**
43      * <p>The unique identifier for the application. This identifier is displayed as
44      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
45      */
ApplicationIdHasBeenSet()46     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
47 
48     /**
49      * <p>The unique identifier for the application. This identifier is displayed as
50      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
51      */
SetApplicationId(const Aws::String & value)52     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
53 
54     /**
55      * <p>The unique identifier for the application. This identifier is displayed as
56      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
57      */
SetApplicationId(Aws::String && value)58     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
59 
60     /**
61      * <p>The unique identifier for the application. This identifier is displayed as
62      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
63      */
SetApplicationId(const char * value)64     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
65 
66     /**
67      * <p>The unique identifier for the application. This identifier is displayed as
68      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
69      */
WithApplicationId(const Aws::String & value)70     inline UpdateSegmentRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
71 
72     /**
73      * <p>The unique identifier for the application. This identifier is displayed as
74      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
75      */
WithApplicationId(Aws::String && value)76     inline UpdateSegmentRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
77 
78     /**
79      * <p>The unique identifier for the application. This identifier is displayed as
80      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
81      */
WithApplicationId(const char * value)82     inline UpdateSegmentRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
83 
84 
85     /**
86      * <p>The unique identifier for the segment.</p>
87      */
GetSegmentId()88     inline const Aws::String& GetSegmentId() const{ return m_segmentId; }
89 
90     /**
91      * <p>The unique identifier for the segment.</p>
92      */
SegmentIdHasBeenSet()93     inline bool SegmentIdHasBeenSet() const { return m_segmentIdHasBeenSet; }
94 
95     /**
96      * <p>The unique identifier for the segment.</p>
97      */
SetSegmentId(const Aws::String & value)98     inline void SetSegmentId(const Aws::String& value) { m_segmentIdHasBeenSet = true; m_segmentId = value; }
99 
100     /**
101      * <p>The unique identifier for the segment.</p>
102      */
SetSegmentId(Aws::String && value)103     inline void SetSegmentId(Aws::String&& value) { m_segmentIdHasBeenSet = true; m_segmentId = std::move(value); }
104 
105     /**
106      * <p>The unique identifier for the segment.</p>
107      */
SetSegmentId(const char * value)108     inline void SetSegmentId(const char* value) { m_segmentIdHasBeenSet = true; m_segmentId.assign(value); }
109 
110     /**
111      * <p>The unique identifier for the segment.</p>
112      */
WithSegmentId(const Aws::String & value)113     inline UpdateSegmentRequest& WithSegmentId(const Aws::String& value) { SetSegmentId(value); return *this;}
114 
115     /**
116      * <p>The unique identifier for the segment.</p>
117      */
WithSegmentId(Aws::String && value)118     inline UpdateSegmentRequest& WithSegmentId(Aws::String&& value) { SetSegmentId(std::move(value)); return *this;}
119 
120     /**
121      * <p>The unique identifier for the segment.</p>
122      */
WithSegmentId(const char * value)123     inline UpdateSegmentRequest& WithSegmentId(const char* value) { SetSegmentId(value); return *this;}
124 
125 
126 
GetWriteSegmentRequest()127     inline const WriteSegmentRequest& GetWriteSegmentRequest() const{ return m_writeSegmentRequest; }
128 
129 
WriteSegmentRequestHasBeenSet()130     inline bool WriteSegmentRequestHasBeenSet() const { return m_writeSegmentRequestHasBeenSet; }
131 
132 
SetWriteSegmentRequest(const WriteSegmentRequest & value)133     inline void SetWriteSegmentRequest(const WriteSegmentRequest& value) { m_writeSegmentRequestHasBeenSet = true; m_writeSegmentRequest = value; }
134 
135 
SetWriteSegmentRequest(WriteSegmentRequest && value)136     inline void SetWriteSegmentRequest(WriteSegmentRequest&& value) { m_writeSegmentRequestHasBeenSet = true; m_writeSegmentRequest = std::move(value); }
137 
138 
WithWriteSegmentRequest(const WriteSegmentRequest & value)139     inline UpdateSegmentRequest& WithWriteSegmentRequest(const WriteSegmentRequest& value) { SetWriteSegmentRequest(value); return *this;}
140 
141 
WithWriteSegmentRequest(WriteSegmentRequest && value)142     inline UpdateSegmentRequest& WithWriteSegmentRequest(WriteSegmentRequest&& value) { SetWriteSegmentRequest(std::move(value)); return *this;}
143 
144   private:
145 
146     Aws::String m_applicationId;
147     bool m_applicationIdHasBeenSet;
148 
149     Aws::String m_segmentId;
150     bool m_segmentIdHasBeenSet;
151 
152     WriteSegmentRequest m_writeSegmentRequest;
153     bool m_writeSegmentRequestHasBeenSet;
154   };
155 
156 } // namespace Model
157 } // namespace Pinpoint
158 } // namespace Aws
159