2
2
3
3
namespace AsyncAws \Athena \ValueObject ;
4
4
5
- use AsyncAws \Athena \Enum \ConnectionType ;
6
- use AsyncAws \Athena \Enum \DataCatalogStatus ;
7
5
use AsyncAws \Athena \Enum \DataCatalogType ;
8
6
use AsyncAws \Core \Exception \InvalidArgument ;
9
7
@@ -32,9 +30,8 @@ final class DataCatalog
32
30
private $ description ;
33
31
34
32
/**
35
- * The type of data catalog to create: `LAMBDA` for a federated catalog, `GLUE` for an Glue Data Catalog, and `HIVE` for
36
- * an external Apache Hive metastore. `FEDERATED` is a federated catalog for which Athena creates the connection and the
37
- * Lambda function for you based on the parameters that you pass.
33
+ * The type of data catalog to create: `LAMBDA` for a federated catalog, `HIVE` for an external hive metastore, or
34
+ * `GLUE` for an Glue Data Catalog.
38
35
*
39
36
* @var DataCatalogType::*
40
37
*/
@@ -67,73 +64,16 @@ final class DataCatalog
67
64
* - The `GLUE` data catalog type also applies to the default `AwsDataCatalog` that already exists in your account, of
68
65
* which you can have only one and cannot modify.
69
66
*
70
- * - The `FEDERATED` data catalog type uses one of the following parameters, but not both. Use `connection-arn` for an
71
- * existing Glue connection. Use `connection-type` and `connection-properties` to specify the configuration setting
72
- * for a new connection.
73
- *
74
- * - `connection-arn:*<glue_connection_arn_to_reuse>*`
75
- * - `connection-type:MYSQL|REDSHIFT|...., connection-properties:"*<json_string>*"`
76
- *
77
- * For *`<json_string>`*, use escaped JSON text, as in the following example.
78
- *
79
- * `"{\"spill_bucket\":\"my_spill\",\"spill_prefix\":\"athena-spill\",\"host\":\"abc12345.snowflakecomputing.com\",\"port\":\"1234\",\"warehouse\":\"DEV_WH\",\"database\":\"TEST\",\"schema\":\"PUBLIC\",\"SecretArn\":\"arn:aws:secretsmanager:ap-south-1:111122223333:secret:snowflake-XHb67j\"}"`
80
- *
81
67
* @var array<string, string>|null
82
68
*/
83
69
private $ parameters ;
84
70
85
- /**
86
- * The status of the creation or deletion of the data catalog.
87
- *
88
- * - The `LAMBDA`, `GLUE`, and `HIVE` data catalog types are created synchronously. Their status is either
89
- * `CREATE_COMPLETE` or `CREATE_FAILED`.
90
- * - The `FEDERATED` data catalog type is created asynchronously.
91
- *
92
- * Data catalog creation status:
93
- *
94
- * - `CREATE_IN_PROGRESS`: Federated data catalog creation in progress.
95
- * - `CREATE_COMPLETE`: Data catalog creation complete.
96
- * - `CREATE_FAILED`: Data catalog could not be created.
97
- * - `CREATE_FAILED_CLEANUP_IN_PROGRESS`: Federated data catalog creation failed and is being removed.
98
- * - `CREATE_FAILED_CLEANUP_COMPLETE`: Federated data catalog creation failed and was removed.
99
- * - `CREATE_FAILED_CLEANUP_FAILED`: Federated data catalog creation failed but could not be removed.
100
- *
101
- * Data catalog deletion status:
102
- *
103
- * - `DELETE_IN_PROGRESS`: Federated data catalog deletion in progress.
104
- * - `DELETE_COMPLETE`: Federated data catalog deleted.
105
- * - `DELETE_FAILED`: Federated data catalog could not be deleted.
106
- *
107
- * @var DataCatalogStatus::*|null
108
- */
109
- private $ status ;
110
-
111
- /**
112
- * The type of connection for a `FEDERATED` data catalog (for example, `REDSHIFT`, `MYSQL`, or `SQLSERVER`). For
113
- * information about individual connectors, see Available data source connectors [^1].
114
- *
115
- * [^1]: https://docs.aws.amazon.com/athena/latest/ug/connectors-available.html
116
- *
117
- * @var ConnectionType::*|null
118
- */
119
- private $ connectionType ;
120
-
121
- /**
122
- * Text of the error that occurred during data catalog creation or deletion.
123
- *
124
- * @var string|null
125
- */
126
- private $ error ;
127
-
128
71
/**
129
72
* @param array{
130
73
* Name: string,
131
74
* Description?: null|string,
132
75
* Type: DataCatalogType::*,
133
76
* Parameters?: null|array<string, string>,
134
- * Status?: null|DataCatalogStatus::*,
135
- * ConnectionType?: null|ConnectionType::*,
136
- * Error?: null|string,
137
77
* } $input
138
78
*/
139
79
public function __construct (array $ input )
@@ -142,9 +82,6 @@ public function __construct(array $input)
142
82
$ this ->description = $ input ['Description ' ] ?? null ;
143
83
$ this ->type = $ input ['Type ' ] ?? $ this ->throwException (new InvalidArgument ('Missing required field "Type". ' ));
144
84
$ this ->parameters = $ input ['Parameters ' ] ?? null ;
145
- $ this ->status = $ input ['Status ' ] ?? null ;
146
- $ this ->connectionType = $ input ['ConnectionType ' ] ?? null ;
147
- $ this ->error = $ input ['Error ' ] ?? null ;
148
85
}
149
86
150
87
/**
@@ -153,34 +90,18 @@ public function __construct(array $input)
153
90
* Description?: null|string,
154
91
* Type: DataCatalogType::*,
155
92
* Parameters?: null|array<string, string>,
156
- * Status?: null|DataCatalogStatus::*,
157
- * ConnectionType?: null|ConnectionType::*,
158
- * Error?: null|string,
159
93
* }|DataCatalog $input
160
94
*/
161
95
public static function create ($ input ): self
162
96
{
163
97
return $ input instanceof self ? $ input : new self ($ input );
164
98
}
165
99
166
- /**
167
- * @return ConnectionType::*|null
168
- */
169
- public function getConnectionType (): ?string
170
- {
171
- return $ this ->connectionType ;
172
- }
173
-
174
100
public function getDescription (): ?string
175
101
{
176
102
return $ this ->description ;
177
103
}
178
104
179
- public function getError (): ?string
180
- {
181
- return $ this ->error ;
182
- }
183
-
184
105
public function getName (): string
185
106
{
186
107
return $ this ->name ;
@@ -194,14 +115,6 @@ public function getParameters(): array
194
115
return $ this ->parameters ?? [];
195
116
}
196
117
197
- /**
198
- * @return DataCatalogStatus::*|null
199
- */
200
- public function getStatus (): ?string
201
- {
202
- return $ this ->status ;
203
- }
204
-
205
118
/**
206
119
* @return DataCatalogType::*
207
120
*/
0 commit comments