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/core/utils/memory/stl/AWSString.h>
9 #include <aws/core/utils/memory/stl/AWSVector.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 Glue
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Specifies a JDBC data store to crawl.</p><p><h3>See Also:</h3>   <a
29    * href="http://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/JdbcTarget">AWS API
30    * Reference</a></p>
31    */
32   class AWS_GLUE_API JdbcTarget
33   {
34   public:
35     JdbcTarget();
36     JdbcTarget(Aws::Utils::Json::JsonView jsonValue);
37     JdbcTarget& operator=(Aws::Utils::Json::JsonView jsonValue);
38     Aws::Utils::Json::JsonValue Jsonize() const;
39 
40 
41     /**
42      * <p>The name of the connection to use to connect to the JDBC target.</p>
43      */
GetConnectionName()44     inline const Aws::String& GetConnectionName() const{ return m_connectionName; }
45 
46     /**
47      * <p>The name of the connection to use to connect to the JDBC target.</p>
48      */
ConnectionNameHasBeenSet()49     inline bool ConnectionNameHasBeenSet() const { return m_connectionNameHasBeenSet; }
50 
51     /**
52      * <p>The name of the connection to use to connect to the JDBC target.</p>
53      */
SetConnectionName(const Aws::String & value)54     inline void SetConnectionName(const Aws::String& value) { m_connectionNameHasBeenSet = true; m_connectionName = value; }
55 
56     /**
57      * <p>The name of the connection to use to connect to the JDBC target.</p>
58      */
SetConnectionName(Aws::String && value)59     inline void SetConnectionName(Aws::String&& value) { m_connectionNameHasBeenSet = true; m_connectionName = std::move(value); }
60 
61     /**
62      * <p>The name of the connection to use to connect to the JDBC target.</p>
63      */
SetConnectionName(const char * value)64     inline void SetConnectionName(const char* value) { m_connectionNameHasBeenSet = true; m_connectionName.assign(value); }
65 
66     /**
67      * <p>The name of the connection to use to connect to the JDBC target.</p>
68      */
WithConnectionName(const Aws::String & value)69     inline JdbcTarget& WithConnectionName(const Aws::String& value) { SetConnectionName(value); return *this;}
70 
71     /**
72      * <p>The name of the connection to use to connect to the JDBC target.</p>
73      */
WithConnectionName(Aws::String && value)74     inline JdbcTarget& WithConnectionName(Aws::String&& value) { SetConnectionName(std::move(value)); return *this;}
75 
76     /**
77      * <p>The name of the connection to use to connect to the JDBC target.</p>
78      */
WithConnectionName(const char * value)79     inline JdbcTarget& WithConnectionName(const char* value) { SetConnectionName(value); return *this;}
80 
81 
82     /**
83      * <p>The path of the JDBC target.</p>
84      */
GetPath()85     inline const Aws::String& GetPath() const{ return m_path; }
86 
87     /**
88      * <p>The path of the JDBC target.</p>
89      */
PathHasBeenSet()90     inline bool PathHasBeenSet() const { return m_pathHasBeenSet; }
91 
92     /**
93      * <p>The path of the JDBC target.</p>
94      */
SetPath(const Aws::String & value)95     inline void SetPath(const Aws::String& value) { m_pathHasBeenSet = true; m_path = value; }
96 
97     /**
98      * <p>The path of the JDBC target.</p>
99      */
SetPath(Aws::String && value)100     inline void SetPath(Aws::String&& value) { m_pathHasBeenSet = true; m_path = std::move(value); }
101 
102     /**
103      * <p>The path of the JDBC target.</p>
104      */
SetPath(const char * value)105     inline void SetPath(const char* value) { m_pathHasBeenSet = true; m_path.assign(value); }
106 
107     /**
108      * <p>The path of the JDBC target.</p>
109      */
WithPath(const Aws::String & value)110     inline JdbcTarget& WithPath(const Aws::String& value) { SetPath(value); return *this;}
111 
112     /**
113      * <p>The path of the JDBC target.</p>
114      */
WithPath(Aws::String && value)115     inline JdbcTarget& WithPath(Aws::String&& value) { SetPath(std::move(value)); return *this;}
116 
117     /**
118      * <p>The path of the JDBC target.</p>
119      */
WithPath(const char * value)120     inline JdbcTarget& WithPath(const char* value) { SetPath(value); return *this;}
121 
122 
123     /**
124      * <p>A list of glob patterns used to exclude from the crawl. For more information,
125      * see <a
126      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
127      * Tables with a Crawler</a>.</p>
128      */
GetExclusions()129     inline const Aws::Vector<Aws::String>& GetExclusions() const{ return m_exclusions; }
130 
131     /**
132      * <p>A list of glob patterns used to exclude from the crawl. For more information,
133      * see <a
134      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
135      * Tables with a Crawler</a>.</p>
136      */
ExclusionsHasBeenSet()137     inline bool ExclusionsHasBeenSet() const { return m_exclusionsHasBeenSet; }
138 
139     /**
140      * <p>A list of glob patterns used to exclude from the crawl. For more information,
141      * see <a
142      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
143      * Tables with a Crawler</a>.</p>
144      */
SetExclusions(const Aws::Vector<Aws::String> & value)145     inline void SetExclusions(const Aws::Vector<Aws::String>& value) { m_exclusionsHasBeenSet = true; m_exclusions = value; }
146 
147     /**
148      * <p>A list of glob patterns used to exclude from the crawl. For more information,
149      * see <a
150      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
151      * Tables with a Crawler</a>.</p>
152      */
SetExclusions(Aws::Vector<Aws::String> && value)153     inline void SetExclusions(Aws::Vector<Aws::String>&& value) { m_exclusionsHasBeenSet = true; m_exclusions = std::move(value); }
154 
155     /**
156      * <p>A list of glob patterns used to exclude from the crawl. For more information,
157      * see <a
158      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
159      * Tables with a Crawler</a>.</p>
160      */
WithExclusions(const Aws::Vector<Aws::String> & value)161     inline JdbcTarget& WithExclusions(const Aws::Vector<Aws::String>& value) { SetExclusions(value); return *this;}
162 
163     /**
164      * <p>A list of glob patterns used to exclude from the crawl. For more information,
165      * see <a
166      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
167      * Tables with a Crawler</a>.</p>
168      */
WithExclusions(Aws::Vector<Aws::String> && value)169     inline JdbcTarget& WithExclusions(Aws::Vector<Aws::String>&& value) { SetExclusions(std::move(value)); return *this;}
170 
171     /**
172      * <p>A list of glob patterns used to exclude from the crawl. For more information,
173      * see <a
174      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
175      * Tables with a Crawler</a>.</p>
176      */
AddExclusions(const Aws::String & value)177     inline JdbcTarget& AddExclusions(const Aws::String& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; }
178 
179     /**
180      * <p>A list of glob patterns used to exclude from the crawl. For more information,
181      * see <a
182      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
183      * Tables with a Crawler</a>.</p>
184      */
AddExclusions(Aws::String && value)185     inline JdbcTarget& AddExclusions(Aws::String&& value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(std::move(value)); return *this; }
186 
187     /**
188      * <p>A list of glob patterns used to exclude from the crawl. For more information,
189      * see <a
190      * href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">Catalog
191      * Tables with a Crawler</a>.</p>
192      */
AddExclusions(const char * value)193     inline JdbcTarget& AddExclusions(const char* value) { m_exclusionsHasBeenSet = true; m_exclusions.push_back(value); return *this; }
194 
195   private:
196 
197     Aws::String m_connectionName;
198     bool m_connectionNameHasBeenSet;
199 
200     Aws::String m_path;
201     bool m_pathHasBeenSet;
202 
203     Aws::Vector<Aws::String> m_exclusions;
204     bool m_exclusionsHasBeenSet;
205   };
206 
207 } // namespace Model
208 } // namespace Glue
209 } // namespace Aws
210