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/location/LocationService_EXPORTS.h>
8 #include <aws/location/LocationServiceRequest.h>
9 #include <aws/core/utils/memory/stl/AWSVector.h>
10 #include <aws/core/utils/memory/stl/AWSString.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace LocationService
16 {
17 namespace Model
18 {
19 
20   /**
21    */
22   class AWS_LOCATIONSERVICE_API BatchDeleteDevicePositionHistoryRequest : public LocationServiceRequest
23   {
24   public:
25     BatchDeleteDevicePositionHistoryRequest();
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 "BatchDeleteDevicePositionHistory"; }
32 
33     Aws::String SerializePayload() const override;
34 
35 
36     /**
37      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
38      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
39      * </li> </ul>
40      */
GetDeviceIds()41     inline const Aws::Vector<Aws::String>& GetDeviceIds() const{ return m_deviceIds; }
42 
43     /**
44      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
45      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
46      * </li> </ul>
47      */
DeviceIdsHasBeenSet()48     inline bool DeviceIdsHasBeenSet() const { return m_deviceIdsHasBeenSet; }
49 
50     /**
51      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
52      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
53      * </li> </ul>
54      */
SetDeviceIds(const Aws::Vector<Aws::String> & value)55     inline void SetDeviceIds(const Aws::Vector<Aws::String>& value) { m_deviceIdsHasBeenSet = true; m_deviceIds = value; }
56 
57     /**
58      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
59      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
60      * </li> </ul>
61      */
SetDeviceIds(Aws::Vector<Aws::String> && value)62     inline void SetDeviceIds(Aws::Vector<Aws::String>&& value) { m_deviceIdsHasBeenSet = true; m_deviceIds = std::move(value); }
63 
64     /**
65      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
66      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
67      * </li> </ul>
68      */
WithDeviceIds(const Aws::Vector<Aws::String> & value)69     inline BatchDeleteDevicePositionHistoryRequest& WithDeviceIds(const Aws::Vector<Aws::String>& value) { SetDeviceIds(value); return *this;}
70 
71     /**
72      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
73      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
74      * </li> </ul>
75      */
WithDeviceIds(Aws::Vector<Aws::String> && value)76     inline BatchDeleteDevicePositionHistoryRequest& WithDeviceIds(Aws::Vector<Aws::String>&& value) { SetDeviceIds(std::move(value)); return *this;}
77 
78     /**
79      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
80      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
81      * </li> </ul>
82      */
AddDeviceIds(const Aws::String & value)83     inline BatchDeleteDevicePositionHistoryRequest& AddDeviceIds(const Aws::String& value) { m_deviceIdsHasBeenSet = true; m_deviceIds.push_back(value); return *this; }
84 
85     /**
86      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
87      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
88      * </li> </ul>
89      */
AddDeviceIds(Aws::String && value)90     inline BatchDeleteDevicePositionHistoryRequest& AddDeviceIds(Aws::String&& value) { m_deviceIdsHasBeenSet = true; m_deviceIds.push_back(std::move(value)); return *this; }
91 
92     /**
93      * <p>Devices whose position history you want to delete.</p> <ul> <li> <p>For
94      * example, for two devices: <code>“DeviceIds” : [DeviceId1,DeviceId2]</code> </p>
95      * </li> </ul>
96      */
AddDeviceIds(const char * value)97     inline BatchDeleteDevicePositionHistoryRequest& AddDeviceIds(const char* value) { m_deviceIdsHasBeenSet = true; m_deviceIds.push_back(value); return *this; }
98 
99 
100     /**
101      * <p>The name of the tracker resource to delete the device position history
102      * from.</p>
103      */
GetTrackerName()104     inline const Aws::String& GetTrackerName() const{ return m_trackerName; }
105 
106     /**
107      * <p>The name of the tracker resource to delete the device position history
108      * from.</p>
109      */
TrackerNameHasBeenSet()110     inline bool TrackerNameHasBeenSet() const { return m_trackerNameHasBeenSet; }
111 
112     /**
113      * <p>The name of the tracker resource to delete the device position history
114      * from.</p>
115      */
SetTrackerName(const Aws::String & value)116     inline void SetTrackerName(const Aws::String& value) { m_trackerNameHasBeenSet = true; m_trackerName = value; }
117 
118     /**
119      * <p>The name of the tracker resource to delete the device position history
120      * from.</p>
121      */
SetTrackerName(Aws::String && value)122     inline void SetTrackerName(Aws::String&& value) { m_trackerNameHasBeenSet = true; m_trackerName = std::move(value); }
123 
124     /**
125      * <p>The name of the tracker resource to delete the device position history
126      * from.</p>
127      */
SetTrackerName(const char * value)128     inline void SetTrackerName(const char* value) { m_trackerNameHasBeenSet = true; m_trackerName.assign(value); }
129 
130     /**
131      * <p>The name of the tracker resource to delete the device position history
132      * from.</p>
133      */
WithTrackerName(const Aws::String & value)134     inline BatchDeleteDevicePositionHistoryRequest& WithTrackerName(const Aws::String& value) { SetTrackerName(value); return *this;}
135 
136     /**
137      * <p>The name of the tracker resource to delete the device position history
138      * from.</p>
139      */
WithTrackerName(Aws::String && value)140     inline BatchDeleteDevicePositionHistoryRequest& WithTrackerName(Aws::String&& value) { SetTrackerName(std::move(value)); return *this;}
141 
142     /**
143      * <p>The name of the tracker resource to delete the device position history
144      * from.</p>
145      */
WithTrackerName(const char * value)146     inline BatchDeleteDevicePositionHistoryRequest& WithTrackerName(const char* value) { SetTrackerName(value); return *this;}
147 
148   private:
149 
150     Aws::Vector<Aws::String> m_deviceIds;
151     bool m_deviceIdsHasBeenSet;
152 
153     Aws::String m_trackerName;
154     bool m_trackerNameHasBeenSet;
155   };
156 
157 } // namespace Model
158 } // namespace LocationService
159 } // namespace Aws
160