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/glue/Glue_EXPORTS.h>
8 #include <aws/glue/GlueRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/core/utils/memory/stl/AWSVector.h>
11 #include <aws/glue/model/PartitionInput.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Glue
17 {
18 namespace Model
19 {
20 
21   /**
22    */
23   class AWS_GLUE_API BatchCreatePartitionRequest : public GlueRequest
24   {
25   public:
26     BatchCreatePartitionRequest();
27 
28     // Service request name is the Operation name which will send this request out,
29     // each operation should has unique request name, so that we can get operation's name from this request.
30     // Note: this is not true for response, multiple operations may have the same response name,
31     // so we can not get operation's name from response.
GetServiceRequestName()32     inline virtual const char* GetServiceRequestName() const override { return "BatchCreatePartition"; }
33 
34     Aws::String SerializePayload() const override;
35 
36     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
37 
38 
39     /**
40      * <p>The ID of the catalog in which the partition is to be created. Currently,
41      * this should be the Amazon Web Services account ID.</p>
42      */
GetCatalogId()43     inline const Aws::String& GetCatalogId() const{ return m_catalogId; }
44 
45     /**
46      * <p>The ID of the catalog in which the partition is to be created. Currently,
47      * this should be the Amazon Web Services account ID.</p>
48      */
CatalogIdHasBeenSet()49     inline bool CatalogIdHasBeenSet() const { return m_catalogIdHasBeenSet; }
50 
51     /**
52      * <p>The ID of the catalog in which the partition is to be created. Currently,
53      * this should be the Amazon Web Services account ID.</p>
54      */
SetCatalogId(const Aws::String & value)55     inline void SetCatalogId(const Aws::String& value) { m_catalogIdHasBeenSet = true; m_catalogId = value; }
56 
57     /**
58      * <p>The ID of the catalog in which the partition is to be created. Currently,
59      * this should be the Amazon Web Services account ID.</p>
60      */
SetCatalogId(Aws::String && value)61     inline void SetCatalogId(Aws::String&& value) { m_catalogIdHasBeenSet = true; m_catalogId = std::move(value); }
62 
63     /**
64      * <p>The ID of the catalog in which the partition is to be created. Currently,
65      * this should be the Amazon Web Services account ID.</p>
66      */
SetCatalogId(const char * value)67     inline void SetCatalogId(const char* value) { m_catalogIdHasBeenSet = true; m_catalogId.assign(value); }
68 
69     /**
70      * <p>The ID of the catalog in which the partition is to be created. Currently,
71      * this should be the Amazon Web Services account ID.</p>
72      */
WithCatalogId(const Aws::String & value)73     inline BatchCreatePartitionRequest& WithCatalogId(const Aws::String& value) { SetCatalogId(value); return *this;}
74 
75     /**
76      * <p>The ID of the catalog in which the partition is to be created. Currently,
77      * this should be the Amazon Web Services account ID.</p>
78      */
WithCatalogId(Aws::String && value)79     inline BatchCreatePartitionRequest& WithCatalogId(Aws::String&& value) { SetCatalogId(std::move(value)); return *this;}
80 
81     /**
82      * <p>The ID of the catalog in which the partition is to be created. Currently,
83      * this should be the Amazon Web Services account ID.</p>
84      */
WithCatalogId(const char * value)85     inline BatchCreatePartitionRequest& WithCatalogId(const char* value) { SetCatalogId(value); return *this;}
86 
87 
88     /**
89      * <p>The name of the metadata database in which the partition is to be
90      * created.</p>
91      */
GetDatabaseName()92     inline const Aws::String& GetDatabaseName() const{ return m_databaseName; }
93 
94     /**
95      * <p>The name of the metadata database in which the partition is to be
96      * created.</p>
97      */
DatabaseNameHasBeenSet()98     inline bool DatabaseNameHasBeenSet() const { return m_databaseNameHasBeenSet; }
99 
100     /**
101      * <p>The name of the metadata database in which the partition is to be
102      * created.</p>
103      */
SetDatabaseName(const Aws::String & value)104     inline void SetDatabaseName(const Aws::String& value) { m_databaseNameHasBeenSet = true; m_databaseName = value; }
105 
106     /**
107      * <p>The name of the metadata database in which the partition is to be
108      * created.</p>
109      */
SetDatabaseName(Aws::String && value)110     inline void SetDatabaseName(Aws::String&& value) { m_databaseNameHasBeenSet = true; m_databaseName = std::move(value); }
111 
112     /**
113      * <p>The name of the metadata database in which the partition is to be
114      * created.</p>
115      */
SetDatabaseName(const char * value)116     inline void SetDatabaseName(const char* value) { m_databaseNameHasBeenSet = true; m_databaseName.assign(value); }
117 
118     /**
119      * <p>The name of the metadata database in which the partition is to be
120      * created.</p>
121      */
WithDatabaseName(const Aws::String & value)122     inline BatchCreatePartitionRequest& WithDatabaseName(const Aws::String& value) { SetDatabaseName(value); return *this;}
123 
124     /**
125      * <p>The name of the metadata database in which the partition is to be
126      * created.</p>
127      */
WithDatabaseName(Aws::String && value)128     inline BatchCreatePartitionRequest& WithDatabaseName(Aws::String&& value) { SetDatabaseName(std::move(value)); return *this;}
129 
130     /**
131      * <p>The name of the metadata database in which the partition is to be
132      * created.</p>
133      */
WithDatabaseName(const char * value)134     inline BatchCreatePartitionRequest& WithDatabaseName(const char* value) { SetDatabaseName(value); return *this;}
135 
136 
137     /**
138      * <p>The name of the metadata table in which the partition is to be created.</p>
139      */
GetTableName()140     inline const Aws::String& GetTableName() const{ return m_tableName; }
141 
142     /**
143      * <p>The name of the metadata table in which the partition is to be created.</p>
144      */
TableNameHasBeenSet()145     inline bool TableNameHasBeenSet() const { return m_tableNameHasBeenSet; }
146 
147     /**
148      * <p>The name of the metadata table in which the partition is to be created.</p>
149      */
SetTableName(const Aws::String & value)150     inline void SetTableName(const Aws::String& value) { m_tableNameHasBeenSet = true; m_tableName = value; }
151 
152     /**
153      * <p>The name of the metadata table in which the partition is to be created.</p>
154      */
SetTableName(Aws::String && value)155     inline void SetTableName(Aws::String&& value) { m_tableNameHasBeenSet = true; m_tableName = std::move(value); }
156 
157     /**
158      * <p>The name of the metadata table in which the partition is to be created.</p>
159      */
SetTableName(const char * value)160     inline void SetTableName(const char* value) { m_tableNameHasBeenSet = true; m_tableName.assign(value); }
161 
162     /**
163      * <p>The name of the metadata table in which the partition is to be created.</p>
164      */
WithTableName(const Aws::String & value)165     inline BatchCreatePartitionRequest& WithTableName(const Aws::String& value) { SetTableName(value); return *this;}
166 
167     /**
168      * <p>The name of the metadata table in which the partition is to be created.</p>
169      */
WithTableName(Aws::String && value)170     inline BatchCreatePartitionRequest& WithTableName(Aws::String&& value) { SetTableName(std::move(value)); return *this;}
171 
172     /**
173      * <p>The name of the metadata table in which the partition is to be created.</p>
174      */
WithTableName(const char * value)175     inline BatchCreatePartitionRequest& WithTableName(const char* value) { SetTableName(value); return *this;}
176 
177 
178     /**
179      * <p>A list of <code>PartitionInput</code> structures that define the partitions
180      * to be created.</p>
181      */
GetPartitionInputList()182     inline const Aws::Vector<PartitionInput>& GetPartitionInputList() const{ return m_partitionInputList; }
183 
184     /**
185      * <p>A list of <code>PartitionInput</code> structures that define the partitions
186      * to be created.</p>
187      */
PartitionInputListHasBeenSet()188     inline bool PartitionInputListHasBeenSet() const { return m_partitionInputListHasBeenSet; }
189 
190     /**
191      * <p>A list of <code>PartitionInput</code> structures that define the partitions
192      * to be created.</p>
193      */
SetPartitionInputList(const Aws::Vector<PartitionInput> & value)194     inline void SetPartitionInputList(const Aws::Vector<PartitionInput>& value) { m_partitionInputListHasBeenSet = true; m_partitionInputList = value; }
195 
196     /**
197      * <p>A list of <code>PartitionInput</code> structures that define the partitions
198      * to be created.</p>
199      */
SetPartitionInputList(Aws::Vector<PartitionInput> && value)200     inline void SetPartitionInputList(Aws::Vector<PartitionInput>&& value) { m_partitionInputListHasBeenSet = true; m_partitionInputList = std::move(value); }
201 
202     /**
203      * <p>A list of <code>PartitionInput</code> structures that define the partitions
204      * to be created.</p>
205      */
WithPartitionInputList(const Aws::Vector<PartitionInput> & value)206     inline BatchCreatePartitionRequest& WithPartitionInputList(const Aws::Vector<PartitionInput>& value) { SetPartitionInputList(value); return *this;}
207 
208     /**
209      * <p>A list of <code>PartitionInput</code> structures that define the partitions
210      * to be created.</p>
211      */
WithPartitionInputList(Aws::Vector<PartitionInput> && value)212     inline BatchCreatePartitionRequest& WithPartitionInputList(Aws::Vector<PartitionInput>&& value) { SetPartitionInputList(std::move(value)); return *this;}
213 
214     /**
215      * <p>A list of <code>PartitionInput</code> structures that define the partitions
216      * to be created.</p>
217      */
AddPartitionInputList(const PartitionInput & value)218     inline BatchCreatePartitionRequest& AddPartitionInputList(const PartitionInput& value) { m_partitionInputListHasBeenSet = true; m_partitionInputList.push_back(value); return *this; }
219 
220     /**
221      * <p>A list of <code>PartitionInput</code> structures that define the partitions
222      * to be created.</p>
223      */
AddPartitionInputList(PartitionInput && value)224     inline BatchCreatePartitionRequest& AddPartitionInputList(PartitionInput&& value) { m_partitionInputListHasBeenSet = true; m_partitionInputList.push_back(std::move(value)); return *this; }
225 
226   private:
227 
228     Aws::String m_catalogId;
229     bool m_catalogIdHasBeenSet;
230 
231     Aws::String m_databaseName;
232     bool m_databaseNameHasBeenSet;
233 
234     Aws::String m_tableName;
235     bool m_tableNameHasBeenSet;
236 
237     Aws::Vector<PartitionInput> m_partitionInputList;
238     bool m_partitionInputListHasBeenSet;
239   };
240 
241 } // namespace Model
242 } // namespace Glue
243 } // namespace Aws
244