Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from enum import Enum 

2 

3 

4class RawTableColumns(Enum): 

5 """ 

6 List of columns that are used in sink tables and which have a special 

7 meaning in SDCSnowflakeLogger and/or SDCDataExchange. 

8 """ 

9 ETL_DATA_ITEM_COLUMN = "_ETL_DATA_ITEM_NAME" 

10 ETL_INSERT_DATETIME_COLUMN = "_SF_INSERTEDDATETIME" 

11 

12 

13class ExchangeStatuses(Enum): 

14 """ 

15 Statuses for movement of data. Will be logged to base and events tables. 

16 """ 

17 STARTED = "STARTED" 

18 PROCESSING = "PROCESSING" 

19 REPROCESS = "REPROCESS" 

20 FINISHED = "FINISHED" 

21 FAILED = "FAILED" 

22 EMPTY = "EMPTY" 

23 

24 

25class ExchangeStatusReasons(Enum): 

26 """ 

27 Reasons to be used in conjunction with LoadingStatuses above. 

28 """ 

29 ABANDONED = "ABANDONED" 

30 MANUAL = "MANUAL" 

31 SOURCING = "SOURCING" 

32 SYNCING = "SYNCING" 

33 NONE = "NONE" 

34 

35 

36# Table Schema Definitions 

37 

38 

39class BaseTableSchema(Enum): 

40 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY"} 

41 SCHEMA_NAMESPACE = {"NAME": "SCHEMA_NAMESPACE", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

42 SCHEMA_NAME = {"NAME": "SCHEMA_NAME", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

43 SCHEMA_VERSION = {"NAME": "SCHEMA_VERSION", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

44 DATA_SOURCE_TAG = {"NAME": "DATA_SOURCE_TAG", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

45 DATA_SOURCE_TYPE = {"NAME": "DATA_SOURCE_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

46 DATA_SOURCE_ENDPOINT_UUID = { 

47 "NAME": "DATA_SOURCE_ENDPOINT_UUID", 

48 "TYPE": "VARCHAR", 

49 "CONSTRAINTS": "", 

50 "REQUIRED_ON_INSERT": True, 

51 "REQUIRED_FOR_UUID": True 

52 } 

53 DATA_SINK_TAG = {"NAME": "DATA_SINK_TAG", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

54 DATA_SINK_TYPE = {"NAME": "DATA_SINK_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

55 DATA_SINK_ENDPOINT_UUID = { 

56 "NAME": "DATA_SINK_ENDPOINT_UUID", 

57 "TYPE": "VARCHAR", 

58 "CONSTRAINTS": "", 

59 "REQUIRED_ON_INSERT": True, 

60 "REQUIRED_FOR_UUID": True 

61 } 

62 DATA_ITEM_NAME = { 

63 "NAME": "DATA_ITEM_NAME", 

64 "TYPE": "VARCHAR", 

65 "CONSTRAINTS": "", 

66 "REQUIRED_ON_INSERT": True, 

67 "REQUIRED_FOR_UUID": True 

68 } 

69 TOTAL_RECORDS_FROM_SOURCE = {"NAME": "TOTAL_RECORDS_FROM_SOURCE", "TYPE": "INT", "CONSTRAINTS": ""} 

70 TOTAL_RECORDS_FROM_DATAFRAME = {"NAME": "TOTAL_RECORDS_FROM_DATAFRAME", "TYPE": "INT", "CONSTRAINTS": ""} 

71 TOTAL_RECORDS_TO_WRITE = {"NAME": "TOTAL_RECORDS_TO_WRITE", "TYPE": "INT", "CONSTRAINTS": ""} 

72 TOTAL_RECORDS_WRITTEN = { 

73 "NAME": "TOTAL_RECORDS_WRITTEN", 

74 "TYPE": "INT", 

75 "CONSTRAINTS": "", 

76 "INCREMENTAL_ON_UPDATE": True 

77 } 

78 CURRENT_EXCHANGE_STATUS = {"NAME": "CURRENT_EXCHANGE_STATUS", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

79 CURRENT_EXCHANGE_REASON = {"NAME": "CURRENT_EXCHANGE_REASON", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

80 DATE_UPDATED = {"NAME": "DATE_UPDATED", "TYPE": "DATETIME", "CONSTRAINTS": ""} 

81 EXCHANGE_MESSAGE = {"NAME": "EXCHANGE_MESSAGE", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

82 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "PRIMARY KEY"} 

83 

84 

85class EventsSchema(Enum): 

86 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

87 DATA_ITEM_UUID = { 

88 "NAME": "DATA_ITEM_UUID", 

89 "TYPE": "VARCHAR", 

90 "CONSTRAINTS": "NOT NULL", 

91 "REQUIRED_ON_INSERT": True, 

92 "REQUIRED_FOR_UUID": True 

93 } 

94 EVENT_DATE = { 

95 "NAME": "EVENT_DATE", 

96 "TYPE": "DATETIME", 

97 "CONSTRAINTS": "NOT NULL", 

98 "REQUIRED_ON_INSERT": True, 

99 "REQUIRED_FOR_UUID": True 

100 } 

101 TOTAL_RECORDS_FROM_SOURCE = { 

102 "NAME": "TOTAL_RECORDS_FROM_SOURCE", 

103 "TYPE": "INT", 

104 "CONSTRAINTS": "DEFAULT NULL", 

105 "REQUIRED_ON_INSERT": False, 

106 "REQUIRED_FOR_UUID": False 

107 } 

108 TOTAL_RECORDS_FROM_DATAFRAME = { 

109 "NAME": "TOTAL_RECORDS_FROM_DATAFRAME", 

110 "TYPE": "INT", 

111 "CONSTRAINTS": "DEFAULT NULL", 

112 "REQUIRED_ON_INSERT": False, 

113 "REQUIRED_FOR_UUID": False 

114 } 

115 TOTAL_RECORDS_TO_WRITE = { 

116 "NAME": "TOTAL_RECORDS_TO_WRITE", 

117 "TYPE": "INT", 

118 "CONSTRAINTS": "DEFAULT NULL", 

119 "REQUIRED_ON_INSERT": False, 

120 "REQUIRED_FOR_UUID": False 

121 } 

122 RECORDS_WRITTEN = { 

123 "NAME": "RECORDS_WRITTEN", 

124 "TYPE": "INT", 

125 "CONSTRAINTS": "DEFAULT NULL", 

126 "REQUIRED_ON_INSERT": False, 

127 "REQUIRED_FOR_UUID": False 

128 } 

129 EXCHANGE_STATUS = { 

130 "NAME": "EXCHANGE_STATUS", 

131 "TYPE": "VARCHAR", 

132 "CONSTRAINTS": "NOT NULL", 

133 "REQUIRED_ON_INSERT": True, 

134 "REQUIRED_FOR_UUID": True 

135 } 

136 EXCHANGE_REASON = { 

137 "NAME": "EXCHANGE_REASON", 

138 "TYPE": "VARCHAR", 

139 "CONSTRAINTS": "", 

140 "REQUIRED_ON_INSERT": True, 

141 "REQUIRED_FOR_UUID": True 

142 } 

143 EXCHANGE_MESSAGE = {"NAME": "EXCHANGE_MESSAGE", "TYPE": "VARCHAR", "CONSTRAINTS": "", "REQUIRED_ON_INSERT": True} 

144 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

145 

146 

147class SnowflakeEndpointsSchema(Enum): 

148 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

149 ENDPOINT_TYPE = {"NAME": "ENDPOINT_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "DEFAULT 'SNOWFLAKE'"} 

150 ACCOUNT = { 

151 "NAME": "ACCOUNT", 

152 "TYPE": "VARCHAR", 

153 "CONSTRAINTS": "NOT NULL", 

154 "REQUIRED_ON_INSERT": True, 

155 "REQUIRED_FOR_UUID": True 

156 } 

157 DATABASE = { 

158 "NAME": "DATABASE", 

159 "TYPE": "VARCHAR", 

160 "CONSTRAINTS": "NOT NULL", 

161 "REQUIRED_ON_INSERT": True, 

162 "REQUIRED_FOR_UUID": True 

163 } 

164 SCHEMA = { 

165 "NAME": "SCHEMA", 

166 "TYPE": "VARCHAR", 

167 "CONSTRAINTS": "NOT NULL", 

168 "REQUIRED_ON_INSERT": True, 

169 "REQUIRED_FOR_UUID": True 

170 } 

171 TABLE_NAME = { 

172 "NAME": "TABLE_NAME", 

173 "TYPE": "VARCHAR", 

174 "CONSTRAINTS": "NOT NULL", 

175 "REQUIRED_ON_INSERT": True, 

176 "REQUIRED_FOR_UUID": True 

177 } 

178 #TODO: This needs to be renamed SQL_FILE_PATH 

179 SQL_FILE_NAME = {"NAME": "TABLE_NAME", "TYPE": "VARCHAR", "CONSTRAINTS": ""} 

180 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

181 

182 

183class DynamoDBEndpointsSchema(Enum): 

184 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

185 ENDPOINT_TYPE = {"NAME": "ENDPOINT_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "DEFAULT 'DYNAMODB'"} 

186 ACCOUNT = { 

187 "NAME": "ACCOUNT", 

188 "TYPE": "VARCHAR", 

189 "CONSTRAINTS": "NOT NULL", 

190 "REQUIRED_ON_INSERT": True, 

191 "REQUIRED_FOR_UUID": True 

192 } 

193 REGION = { 

194 "NAME": "REGION", 

195 "TYPE": "VARCHAR", 

196 "CONSTRAINTS": "NOT NULL", 

197 "REQUIRED_ON_INSERT": True, 

198 "REQUIRED_FOR_UUID": True 

199 } 

200 TABLE_NAME = { 

201 "NAME": "TABLE_NAME", 

202 "TYPE": "VARCHAR", 

203 "CONSTRAINTS": "NOT NULL", 

204 "REQUIRED_ON_INSERT": True, 

205 "REQUIRED_FOR_UUID": True 

206 } 

207 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

208 

209 

210class S3EndpointsSchema(Enum): 

211 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

212 ENDPOINT_TYPE = {"NAME": "ENDPOINT_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "DEFAULT 'S3'"} 

213 BUCKET = { 

214 "NAME": "BUCKET", 

215 "TYPE": "VARCHAR", 

216 "CONSTRAINTS": "NOT NULL", 

217 "REQUIRED_ON_INSERT": True, 

218 "REQUIRED_FOR_UUID": True 

219 } 

220 PREFIX = { 

221 "NAME": "PREFIX", 

222 "TYPE": "VARCHAR", 

223 "CONSTRAINTS": "NOT NULL", 

224 "REQUIRED_ON_INSERT": True, 

225 "REQUIRED_FOR_UUID": True 

226 } 

227 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

228 

229 

230class SFTPEndpointsSchema(Enum): 

231 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

232 ENDPOINT_TYPE = {"NAME": "ENDPOINT_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "DEFAULT 'SFTP'"} 

233 HOST = { 

234 "NAME": "HOST", 

235 "TYPE": "VARCHAR", 

236 "CONSTRAINTS": "NOT NULL", 

237 "REQUIRED_ON_INSERT": True, 

238 "REQUIRED_FOR_UUID": True 

239 } 

240 PATH = { 

241 "NAME": "PATH", 

242 "TYPE": "VARCHAR", 

243 "CONSTRAINTS": "NOT NULL", 

244 "REQUIRED_ON_INSERT": True, 

245 "REQUIRED_FOR_UUID": True 

246 } 

247 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

248 

249 

250class APIEndpointsSchema(Enum): 

251 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

252 ENDPOINT_TYPE = {"NAME": "ENDPOINT_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "DEFAULT 'API'"} 

253 API_NAME = { 

254 "NAME": "API_NAME", 

255 "TYPE": "VARCHAR", 

256 "CONSTRAINTS": "NOT NULL", 

257 "REQUIRED_ON_INSERT": True, 

258 "REQUIRED_FOR_UUID": True 

259 } 

260 BASE_URL = { 

261 "NAME": "BASE_URL", 

262 "TYPE": "VARCHAR", 

263 "CONSTRAINTS": "NOT NULL", 

264 "REQUIRED_ON_INSERT": True, 

265 "REQUIRED_FOR_UUID": True 

266 } 

267 ENDPOINT_NAME = { 

268 "NAME": "API_ENDPOINT", 

269 "TYPE": "VARCHAR", 

270 "CONSTRAINTS": "NOT NULL", 

271 "REQUIRED_ON_INSERT": True, 

272 "REQUIRED_FOR_UUID": True 

273 } 

274 UUID = {"NAME": "UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

275 

276 

277class SnowflakeWritesSchema(Enum): 

278 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

279 EVENT_UUID = {"NAME": "EVENT_UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

280 DEST_TYPE = {"NAME": "DEST_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

281 OPERATION = {"NAME": "OPERATION", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

282 TABLE_NAME = {"NAME": "TABLE_NAME", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

283 WRITE_STEP = {"NAME": "WRITE_STEP", "TYPE": "INT", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

284 RECORDS_INSERTED = { 

285 "NAME": "RECORDS_INSERTED", 

286 "TYPE": "INT", 

287 "CONSTRAINTS": "NOT NULL", 

288 "REQUIRED_ON_INSERT": True 

289 } 

290 RECORDS_UPSERTED = { 

291 "NAME": "RECORDS_UPSERTED", 

292 "TYPE": "INT", 

293 "CONSTRAINTS": "NOT NULL", 

294 "REQUIRED_ON_INSERT": True 

295 } 

296 TOTAL_RECORDS = {"NAME": "TOTAL_RECORDS", "TYPE": "INT", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

297 INSERT_SIZE_BYTES = { 

298 "NAME": "INSERT_SIZE_BYTES", 

299 "TYPE": "FLOAT", 

300 "CONSTRAINTS": "NOT NULL", 

301 "REQUIRED_ON_INSERT": True 

302 } 

303 

304 

305class DynamoDBWritesSchema(Enum): 

306 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

307 EVENT_UUID = {"NAME": "EVENT_UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

308 TABLE_NAME = {"NAME": "TABLE_NAME", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

309 RECORDS_UPSERTED = { 

310 "NAME": "RECORDS_UPSERTED", 

311 "TYPE": "INT", 

312 "CONSTRAINTS": "NOT NULL", 

313 "REQUIRED_ON_INSERT": True 

314 } 

315 INSERT_SIZE_BYTES = { 

316 "NAME": "INSERT_SIZE_BYTES", 

317 "TYPE": "FLOAT", 

318 "CONSTRAINTS": "NOT NULL", 

319 "REQUIRED_ON_INSERT": True 

320 } 

321 

322 

323class S3WritesSchema(Enum): 

324 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

325 EVENT_UUID = {"NAME": "EVENT_UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

326 DEST_TYPE = {"NAME": "DEST_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

327 TOTAL_RECORDS = {"NAME": "TOTAL_RECORDS", "TYPE": "INT", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

328 FILE_SIZE_BYTES = { 

329 "NAME": "FILE_SIZE_BYTES", 

330 "TYPE": "FLOAT", 

331 "CONSTRAINTS": "NOT NULL", 

332 "REQUIRED_ON_INSERT": True 

333 } 

334 

335 

336class SFTPWritesSchema(Enum): 

337 ID = {"NAME": "ID", "TYPE": "INT", "CONSTRAINTS": "IDENTITY PRIMARY KEY"} 

338 EVENT_UUID = {"NAME": "EVENT_UUID", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

339 DEST_TYPE = {"NAME": "DEST_TYPE", "TYPE": "VARCHAR", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

340 TOTAL_RECORDS = {"NAME": "TOTAL_RECORDS", "TYPE": "INT", "CONSTRAINTS": "NOT NULL", "REQUIRED_ON_INSERT": True} 

341 FILE_SIZE_BYTES = { 

342 "NAME": "FILE_SIZE_BYTES", 

343 "TYPE": "FLOAT", 

344 "CONSTRAINTS": "NOT NULL", 

345 "REQUIRED_ON_INSERT": True 

346 } 

347 

348 

349# Mappings 

350 

351 

352class DefaultProdLoggingTableLocation(Enum): 

353 """ 

354 Default Database/Schema for Production environment. 

355 """ 

356 DATABASE_NAME = "ETL_LOGGING_PROD" 

357 SCHEMA_NAME = "LOGGING" 

358 

359 

360class DefaultDevLoggingTableLocation(Enum): 

361 """ 

362 Default Database/Schema for Dev environment. 

363 """ 

364 DATABASE_NAME = "ETL_LOGGING_DEV" 

365 SCHEMA_NAME = "LOGGING" 

366 

367 

368class LoggingTables(Enum): 

369 """ 

370 Logging tables: Names & associated data schemas. 

371 """ 

372 BASE_TABLE = {"TABLE_NAME": "LOGGING_EXCHANGES", "DATA_SCHEMA": BaseTableSchema} 

373 EVENTS_TABLE = {"TABLE_NAME": "LOGGING_EXCHANGE_EVENTS", "DATA_SCHEMA": EventsSchema} 

374 ENDPOINT_DETAIL_TABLES = [{ 

375 "TYPE": "SNOWFLAKE", 

376 "TABLE_NAME": "LOGGING_SNOWFLAKE_ENDPOINTS", 

377 "DATA_SCHEMA": SnowflakeEndpointsSchema 

378 }, { 

379 "TYPE": "DYNAMODB", 

380 "TABLE_NAME": "LOGGING_DYNAMODB_ENDPOINTS", 

381 "DATA_SCHEMA": DynamoDBEndpointsSchema 

382 }, { 

383 "TYPE": "S3", 

384 "TABLE_NAME": "LOGGING_S3_ENDPOINTS", 

385 "DATA_SCHEMA": S3EndpointsSchema 

386 }, { 

387 "TYPE": "SFTP", 

388 "TABLE_NAME": "LOGGING_SFTP_ENDPOINTS", 

389 "DATA_SCHEMA": SFTPEndpointsSchema 

390 }, { 

391 "TYPE": "API", 

392 "TABLE_NAME": "LOGGING_API_ENDPOINTS", 

393 "DATA_SCHEMA": APIEndpointsSchema 

394 }] 

395 ENDPOINT_WRITE_TABLES = [{ 

396 "TYPE": "SNOWFLAKE", 

397 "TABLE_NAME": "LOGGING_SNOWFLAKE_WRITES", 

398 "DATA_SCHEMA": SnowflakeWritesSchema 

399 }, { 

400 "TYPE": "DYNAMODB", 

401 "TABLE_NAME": "LOGGING_DYNAMODB_WRITES", 

402 "DATA_SCHEMA": DynamoDBWritesSchema 

403 }, { 

404 "TYPE": "S3", 

405 "TABLE_NAME": "LOGGING_S3_WRITES", 

406 "DATA_SCHEMA": S3WritesSchema 

407 }, { 

408 "TYPE": "SFTP", 

409 "TABLE_NAME": "LOGGING_SFTP_WRITES", 

410 "DATA_SCHEMA": SFTPWritesSchema 

411 }] 

412 

413 

414class BaseTableToEventsTableMapping(Enum): 

415 """ 

416 Mapping for Base Table column naming to Events Table naming. 

417 """ 

418 EVENT_DATE = "DATE_UPDATED" 

419 EXCHANGE_STATUS = "CURRENT_EXCHANGE_STATUS" 

420 EXCHANGE_REASON = "CURRENT_EXCHANGE_REASON" 

421 DATA_ITEM_UUID = "UUID" 

422 TOTAL_RECORDS_FROM_SOURCE = "TOTAL_RECORDS_FROM_SOURCE" 

423 TOTAL_RECORDS_FROM_DATAFRAME = "TOTAL_RECORDS_FROM_DATAFRAME" 

424 TOTAL_RECORDS_TO_WRITE = "TOTAL_RECORDS_TO_WRITE" 

425 RECORDS_WRITTEN = "TOTAL_RECORDS_WRITTEN" 

426 EXCHANGE_MESSAGE = "EXCHANGE_MESSAGE" 

427 

428 

429class SnowflakeWritesDestTypes(Enum): 

430 MAIN = "MAIN" 

431 TEMP = "TEMP" 

432 DEDUPED = "DEDUPED" 

433 

434 

435class SnowflakeWritesOperations(Enum): 

436 INSERT = "INSERT" 

437 UPSERT = "UPSERT" 

438 CREATE = "CREATE" 

439 DROP = "DROP" 

440 

441 

442class S3WritesDestTypes(Enum): 

443 MAIN = "MAIN" 

444 

445 

446class SFTPWritesDestTypes(Enum): 

447 MAIN = "MAIN"