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