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/core/utils/memory/stl/AWSVector.h>
9 #include <aws/pinpoint/model/EndpointBatchItem.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace Pinpoint
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Specifies a batch of endpoints to create or update and the settings and
29    * attributes to set or change for each endpoint.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/pinpoint-2016-12-01/EndpointBatchRequest">AWS
31    * API Reference</a></p>
32    */
33   class AWS_PINPOINT_API EndpointBatchRequest
34   {
35   public:
36     EndpointBatchRequest();
37     EndpointBatchRequest(Aws::Utils::Json::JsonView jsonValue);
38     EndpointBatchRequest& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>An array that defines the endpoints to create or update and, for each
44      * endpoint, the property values to set or change. An array can contain a maximum
45      * of 100 items.</p>
46      */
GetItem()47     inline const Aws::Vector<EndpointBatchItem>& GetItem() const{ return m_item; }
48 
49     /**
50      * <p>An array that defines the endpoints to create or update and, for each
51      * endpoint, the property values to set or change. An array can contain a maximum
52      * of 100 items.</p>
53      */
ItemHasBeenSet()54     inline bool ItemHasBeenSet() const { return m_itemHasBeenSet; }
55 
56     /**
57      * <p>An array that defines the endpoints to create or update and, for each
58      * endpoint, the property values to set or change. An array can contain a maximum
59      * of 100 items.</p>
60      */
SetItem(const Aws::Vector<EndpointBatchItem> & value)61     inline void SetItem(const Aws::Vector<EndpointBatchItem>& value) { m_itemHasBeenSet = true; m_item = value; }
62 
63     /**
64      * <p>An array that defines the endpoints to create or update and, for each
65      * endpoint, the property values to set or change. An array can contain a maximum
66      * of 100 items.</p>
67      */
SetItem(Aws::Vector<EndpointBatchItem> && value)68     inline void SetItem(Aws::Vector<EndpointBatchItem>&& value) { m_itemHasBeenSet = true; m_item = std::move(value); }
69 
70     /**
71      * <p>An array that defines the endpoints to create or update and, for each
72      * endpoint, the property values to set or change. An array can contain a maximum
73      * of 100 items.</p>
74      */
WithItem(const Aws::Vector<EndpointBatchItem> & value)75     inline EndpointBatchRequest& WithItem(const Aws::Vector<EndpointBatchItem>& value) { SetItem(value); return *this;}
76 
77     /**
78      * <p>An array that defines the endpoints to create or update and, for each
79      * endpoint, the property values to set or change. An array can contain a maximum
80      * of 100 items.</p>
81      */
WithItem(Aws::Vector<EndpointBatchItem> && value)82     inline EndpointBatchRequest& WithItem(Aws::Vector<EndpointBatchItem>&& value) { SetItem(std::move(value)); return *this;}
83 
84     /**
85      * <p>An array that defines the endpoints to create or update and, for each
86      * endpoint, the property values to set or change. An array can contain a maximum
87      * of 100 items.</p>
88      */
AddItem(const EndpointBatchItem & value)89     inline EndpointBatchRequest& AddItem(const EndpointBatchItem& value) { m_itemHasBeenSet = true; m_item.push_back(value); return *this; }
90 
91     /**
92      * <p>An array that defines the endpoints to create or update and, for each
93      * endpoint, the property values to set or change. An array can contain a maximum
94      * of 100 items.</p>
95      */
AddItem(EndpointBatchItem && value)96     inline EndpointBatchRequest& AddItem(EndpointBatchItem&& value) { m_itemHasBeenSet = true; m_item.push_back(std::move(value)); return *this; }
97 
98   private:
99 
100     Aws::Vector<EndpointBatchItem> m_item;
101     bool m_itemHasBeenSet;
102   };
103 
104 } // namespace Model
105 } // namespace Pinpoint
106 } // namespace Aws
107