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/pinpoint/model/APNSChannelRequest.h>
10 #include <aws/core/utils/memory/stl/AWSString.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 UpdateApnsChannelRequest : public PinpointRequest
23   {
24   public:
25     UpdateApnsChannelRequest();
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 "UpdateApnsChannel"; }
32 
33     Aws::String SerializePayload() const override;
34 
35 
36 
GetAPNSChannelRequest()37     inline const APNSChannelRequest& GetAPNSChannelRequest() const{ return m_aPNSChannelRequest; }
38 
39 
APNSChannelRequestHasBeenSet()40     inline bool APNSChannelRequestHasBeenSet() const { return m_aPNSChannelRequestHasBeenSet; }
41 
42 
SetAPNSChannelRequest(const APNSChannelRequest & value)43     inline void SetAPNSChannelRequest(const APNSChannelRequest& value) { m_aPNSChannelRequestHasBeenSet = true; m_aPNSChannelRequest = value; }
44 
45 
SetAPNSChannelRequest(APNSChannelRequest && value)46     inline void SetAPNSChannelRequest(APNSChannelRequest&& value) { m_aPNSChannelRequestHasBeenSet = true; m_aPNSChannelRequest = std::move(value); }
47 
48 
WithAPNSChannelRequest(const APNSChannelRequest & value)49     inline UpdateApnsChannelRequest& WithAPNSChannelRequest(const APNSChannelRequest& value) { SetAPNSChannelRequest(value); return *this;}
50 
51 
WithAPNSChannelRequest(APNSChannelRequest && value)52     inline UpdateApnsChannelRequest& WithAPNSChannelRequest(APNSChannelRequest&& value) { SetAPNSChannelRequest(std::move(value)); return *this;}
53 
54 
55     /**
56      * <p>The unique identifier for the application. This identifier is displayed as
57      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
58      */
GetApplicationId()59     inline const Aws::String& GetApplicationId() const{ return m_applicationId; }
60 
61     /**
62      * <p>The unique identifier for the application. This identifier is displayed as
63      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
64      */
ApplicationIdHasBeenSet()65     inline bool ApplicationIdHasBeenSet() const { return m_applicationIdHasBeenSet; }
66 
67     /**
68      * <p>The unique identifier for the application. This identifier is displayed as
69      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
70      */
SetApplicationId(const Aws::String & value)71     inline void SetApplicationId(const Aws::String& value) { m_applicationIdHasBeenSet = true; m_applicationId = value; }
72 
73     /**
74      * <p>The unique identifier for the application. This identifier is displayed as
75      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
76      */
SetApplicationId(Aws::String && value)77     inline void SetApplicationId(Aws::String&& value) { m_applicationIdHasBeenSet = true; m_applicationId = std::move(value); }
78 
79     /**
80      * <p>The unique identifier for the application. This identifier is displayed as
81      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
82      */
SetApplicationId(const char * value)83     inline void SetApplicationId(const char* value) { m_applicationIdHasBeenSet = true; m_applicationId.assign(value); }
84 
85     /**
86      * <p>The unique identifier for the application. This identifier is displayed as
87      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
88      */
WithApplicationId(const Aws::String & value)89     inline UpdateApnsChannelRequest& WithApplicationId(const Aws::String& value) { SetApplicationId(value); return *this;}
90 
91     /**
92      * <p>The unique identifier for the application. This identifier is displayed as
93      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
94      */
WithApplicationId(Aws::String && value)95     inline UpdateApnsChannelRequest& WithApplicationId(Aws::String&& value) { SetApplicationId(std::move(value)); return *this;}
96 
97     /**
98      * <p>The unique identifier for the application. This identifier is displayed as
99      * the <b>Project ID</b> on the Amazon Pinpoint console.</p>
100      */
WithApplicationId(const char * value)101     inline UpdateApnsChannelRequest& WithApplicationId(const char* value) { SetApplicationId(value); return *this;}
102 
103   private:
104 
105     APNSChannelRequest m_aPNSChannelRequest;
106     bool m_aPNSChannelRequestHasBeenSet;
107 
108     Aws::String m_applicationId;
109     bool m_applicationIdHasBeenSet;
110   };
111 
112 } // namespace Model
113 } // namespace Pinpoint
114 } // namespace Aws
115