-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce a protobuf RAW protocol (#479)
- Loading branch information
1 parent
0aeb6bf
commit 74135a1
Showing
38 changed files
with
785 additions
and
454 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* | ||
* Copyright 2024 RAW Labs S.A. | ||
* | ||
* Use of this software is governed by the Business Source License | ||
* included in the file licenses/BSL.txt. | ||
* | ||
* As of the Change Date specified in that file, in accordance with | ||
* the Business Source License, use of this software will be governed | ||
* by the Apache License, Version 2.0, included in the file | ||
* licenses/APL.txt. | ||
*/ | ||
|
||
module raw.protocol { | ||
requires com.google.protobuf; | ||
|
||
exports raw.protocol; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* | ||
* Copyright 2024 RAW Labs S.A. | ||
* | ||
* Use of this software is governed by the Business Source License | ||
* included in the file licenses/BSL.txt. | ||
* | ||
* As of the Change Date specified in that file, in accordance with | ||
* the Business Source License, use of this software will be governed | ||
* by the Apache License, Version 2.0, included in the file | ||
* licenses/APL.txt. | ||
*/ | ||
|
||
package raw.protocol; | ||
|
||
class Placeholder { | ||
// Placeholder class to allow the module-info.java file to be compiled | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
syntax = "proto3"; | ||
|
||
option java_package = "raw.protocol"; | ||
option java_multiple_files = true; | ||
|
||
package raw.protocol; | ||
|
||
message LocationConfig { | ||
oneof config { | ||
S3Config s3 = 1; | ||
MySqlConfig mysql = 2; | ||
OracleConfig oracle = 3; | ||
PostgreSQLConfig postgresql = 4; | ||
SQLServerConfig sqlserver = 5; | ||
SnowflakeConfig snowflake = 6; | ||
SqliteConfig sqlite = 7; | ||
TeradataConfig teradata = 8; | ||
GitHubConfig github = 9; | ||
JiraConfig jira = 10; | ||
ConfluenceConfig confluence = 11; | ||
SalesforceConfig salesforce = 12; | ||
DropboxAccessTokenConfig dropboxAccessToken = 13; | ||
DropboxUsernamePasswordConfig dropboxUsernamePassword = 14; | ||
HttpHeadersConfig httpHeaders = 15; | ||
SecretConfig secret = 99; | ||
} | ||
} | ||
|
||
message S3Config { | ||
optional S3AccessSecretKey accessSecretKey = 1; | ||
optional string region = 2; | ||
} | ||
|
||
message S3AccessSecretKey { | ||
string accessKey = 1; | ||
string secretKey = 2; | ||
} | ||
|
||
message MySqlConfig { | ||
string host = 1; | ||
int32 port = 2; | ||
string database = 3; | ||
string user = 4; | ||
string password = 5; | ||
} | ||
|
||
message OracleConfig { | ||
string host = 1; | ||
int32 port = 2; | ||
string database = 3; | ||
string user = 4; | ||
string password = 5; | ||
optional string schema = 6; | ||
} | ||
|
||
message PostgreSQLConfig { | ||
string host = 1; | ||
int32 port = 2; | ||
string database = 3; | ||
string user = 4; | ||
string password = 5; | ||
optional string schema = 6; | ||
} | ||
|
||
message SQLServerConfig { | ||
string host = 1; | ||
int32 port = 2; | ||
string database = 3; | ||
string user = 4; | ||
string password = 5; | ||
optional string schema = 6; | ||
} | ||
|
||
message SnowflakeConfig { | ||
string database = 1; | ||
string user = 2; | ||
string password = 3; | ||
string accountIdentifier = 4; | ||
map<string, string> parameters = 5; | ||
optional string schema = 6; | ||
} | ||
|
||
message SqliteConfig { | ||
string path = 1; | ||
optional string schema = 2; | ||
} | ||
|
||
message TeradataConfig { | ||
string host = 1; | ||
int32 port = 2; | ||
string database = 3; | ||
string user = 4; | ||
string password = 5; | ||
map<string, string> parameters = 6; | ||
optional string schema = 7; | ||
} | ||
|
||
message GitHubConfig { | ||
string token = 1; | ||
optional string baseUrl = 2; | ||
} | ||
|
||
message JiraConfig { | ||
string baseUrl = 1; | ||
string username = 2; | ||
string token = 3; | ||
JiraTokenType tokenType = 4; | ||
} | ||
|
||
enum JiraTokenType { | ||
STANDARD_ACCESS_TOKEN = 0; | ||
PERSONAL_ACCESS_TOKEN = 1; | ||
} | ||
|
||
message ConfluenceConfig { | ||
string baseUrl = 1; | ||
string username = 2; | ||
string token = 3; | ||
} | ||
|
||
message SalesforceConfig { | ||
string url = 1; | ||
string username = 2; | ||
string password = 3; | ||
string securityToken = 4; | ||
string clientId = 5; | ||
string apiVersion = 6; | ||
repeated string customObjects = 7; | ||
} | ||
|
||
message DropboxAccessTokenConfig { | ||
string accessToken = 1; | ||
} | ||
|
||
message DropboxUsernamePasswordConfig { | ||
string username = 1; | ||
string password = 2; | ||
} | ||
|
||
message HttpHeadersConfig { | ||
map<string, string> headers = 1; | ||
} | ||
|
||
// This is not used in practice but is kept for compatibility with FDW interface. | ||
message SecretConfig { | ||
string name = 1; | ||
string value = 2; | ||
} |
Oops, something went wrong.