Skip to content

Commit 5c2ccb6

Browse files
Google APIscopybara-github
authored andcommitted
feat: A new field ssl_config is added to message .google.cloud.datastream.v1.PostgresqlProfile
feat: A new message `PostgresqlSslConfig` is added docs: A comment for message `OracleAsmConfig` is changed docs: A comment for field `password` in message `.google.cloud.datastream.v1.OracleAsmConfig` is changed docs: A comment for field `name` in message `.google.cloud.datastream.v1.PrivateConnection` is changed docs: A comment for field `name` in message `.google.cloud.datastream.v1.Route` is changed docs: A comment for field `name` in message `.google.cloud.datastream.v1.ConnectionProfile` is changed docs: A comment for field `name` in message `.google.cloud.datastream.v1.Stream` is changed docs: A comment for field `name` in message `.google.cloud.datastream.v1.StreamObject` is changed PiperOrigin-RevId: 717526711
1 parent 07737e5 commit 5c2ccb6

1 file changed

Lines changed: 95 additions & 12 deletions

File tree

google/cloud/datastream/v1/datastream_resources.proto

Lines changed: 95 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ message OracleProfile {
7070
}
7171

7272
// Configuration for Oracle Automatic Storage Management (ASM) connection.
73+
// .
7374
message OracleAsmConfig {
7475
// Required. Hostname for the Oracle ASM connection.
7576
string hostname = 1 [(google.api.field_behavior) = REQUIRED];
@@ -80,8 +81,8 @@ message OracleAsmConfig {
8081
// Required. Username for the Oracle ASM connection.
8182
string username = 3 [(google.api.field_behavior) = REQUIRED];
8283

83-
// Required. Password for the Oracle ASM connection.
84-
string password = 4 [(google.api.field_behavior) = REQUIRED];
84+
// Optional. Password for the Oracle ASM connection.
85+
string password = 4 [(google.api.field_behavior) = OPTIONAL];
8586

8687
// Required. ASM service name for the Oracle ASM connection.
8788
string asm_service = 5 [(google.api.field_behavior) = REQUIRED];
@@ -135,6 +136,12 @@ message PostgresqlProfile {
135136

136137
// Required. Database for the PostgreSQL connection.
137138
string database = 5 [(google.api.field_behavior) = REQUIRED];
139+
140+
// Optional. SSL configuration for the PostgreSQL connection.
141+
// In case PostgresqlSslConfig is not set, the connection will use the default
142+
// SSL mode, which is `prefer` (i.e. this mode will only use encryption if
143+
// enabled from database side, otherwise will use unencrypted communication)
144+
PostgresqlSslConfig ssl_config = 7 [(google.api.field_behavior) = OPTIONAL];
138145
}
139146

140147
// SQLServer database profile.
@@ -239,8 +246,11 @@ message PrivateConnection {
239246
FAILED_TO_DELETE = 5;
240247
}
241248

242-
// Output only. The resource's name.
243-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
249+
// Output only. Identifier. The resource's name.
250+
string name = 1 [
251+
(google.api.field_behavior) = IDENTIFIER,
252+
(google.api.field_behavior) = OUTPUT_ONLY
253+
];
244254

245255
// Output only. The create time of the resource.
246256
google.protobuf.Timestamp create_time = 2
@@ -287,8 +297,11 @@ message Route {
287297
pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}/routes/{route}"
288298
};
289299

290-
// Output only. The resource's name.
291-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
300+
// Output only. Identifier. The resource's name.
301+
string name = 1 [
302+
(google.api.field_behavior) = IDENTIFIER,
303+
(google.api.field_behavior) = OUTPUT_ONLY
304+
];
292305

293306
// Output only. The create time of the resource.
294307
google.protobuf.Timestamp create_time = 2
@@ -348,6 +361,67 @@ message OracleSslConfig {
348361
bool ca_certificate_set = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
349362
}
350363

364+
// PostgreSQL SSL configuration information.
365+
message PostgresqlSslConfig {
366+
// Message represents the option where Datastream will enforce the encryption
367+
// and authenticate the server identity. ca_certificate must be set if user
368+
// selects this option.
369+
message ServerVerification {
370+
// Required. Input only. PEM-encoded server root CA certificate.
371+
string ca_certificate = 1 [
372+
(google.api.field_behavior) = INPUT_ONLY,
373+
(google.api.field_behavior) = REQUIRED
374+
];
375+
}
376+
377+
// Message represents the option where Datastream will enforce the encryption
378+
// and authenticate the server identity as well as the client identity.
379+
// ca_certificate, client_certificate and client_key must be set if user
380+
// selects this option.
381+
message ServerAndClientVerification {
382+
// Required. Input only. PEM-encoded certificate used by the source database
383+
// to authenticate the client identity (i.e., the Datastream's identity).
384+
// This certificate is signed by either a root certificate trusted by the
385+
// server or one or more intermediate certificates (which is stored with the
386+
// leaf certificate) to link the this certificate to the trusted root
387+
// certificate.
388+
string client_certificate = 1 [
389+
(google.api.field_behavior) = INPUT_ONLY,
390+
(google.api.field_behavior) = REQUIRED
391+
];
392+
393+
// Required. Input only. PEM-encoded private key associated with the client
394+
// certificate. This value will be used during the SSL/TLS handshake,
395+
// allowing the PostgreSQL server to authenticate the client's identity,
396+
// i.e. identity of the Datastream.
397+
string client_key = 2 [
398+
(google.api.field_behavior) = INPUT_ONLY,
399+
(google.api.field_behavior) = REQUIRED
400+
];
401+
402+
// Required. Input only. PEM-encoded server root CA certificate.
403+
string ca_certificate = 3 [
404+
(google.api.field_behavior) = INPUT_ONLY,
405+
(google.api.field_behavior) = REQUIRED
406+
];
407+
}
408+
409+
// The encryption settings available for PostgreSQL connection profiles.
410+
// This captures various SSL mode supported by PostgreSQL, which includes
411+
// TLS encryption with server verification, TLS encryption with both server
412+
// and client verification and no TLS encryption.
413+
oneof encryption_setting {
414+
//  If this field is set, the communication will be encrypted with TLS
415+
// encryption and the server identity will be authenticated.
416+
ServerVerification server_verification = 1;
417+
418+
// If this field is set, the communication will be encrypted with TLS
419+
// encryption and both the server identity and the client identity will be
420+
// authenticated.
421+
ServerAndClientVerification server_and_client_verification = 2;
422+
}
423+
}
424+
351425
// A set of reusable connection configurations to be used as a source or
352426
// destination for a stream.
353427
message ConnectionProfile {
@@ -356,8 +430,11 @@ message ConnectionProfile {
356430
pattern: "projects/{project}/locations/{location}/connectionProfiles/{connection_profile}"
357431
};
358432

359-
// Output only. The resource's name.
360-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
433+
// Output only. Identifier. The resource's name.
434+
string name = 1 [
435+
(google.api.field_behavior) = IDENTIFIER,
436+
(google.api.field_behavior) = OUTPUT_ONLY
437+
];
361438

362439
// Output only. The create time of the resource.
363440
google.protobuf.Timestamp create_time = 2
@@ -1024,8 +1101,11 @@ message Stream {
10241101
// Backfill strategy to disable automatic backfill for the Stream's objects.
10251102
message BackfillNoneStrategy {}
10261103

1027-
// Output only. The stream's name.
1028-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1104+
// Output only. Identifier. The stream's name.
1105+
string name = 1 [
1106+
(google.api.field_behavior) = IDENTIFIER,
1107+
(google.api.field_behavior) = OUTPUT_ONLY
1108+
];
10291109

10301110
// Output only. The creation time of the stream.
10311111
google.protobuf.Timestamp create_time = 2
@@ -1084,8 +1164,11 @@ message StreamObject {
10841164
pattern: "projects/{project}/locations/{location}/streams/{stream}/objects/{object}"
10851165
};
10861166

1087-
// Output only. The object resource's name.
1088-
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
1167+
// Output only. Identifier. The object resource's name.
1168+
string name = 1 [
1169+
(google.api.field_behavior) = IDENTIFIER,
1170+
(google.api.field_behavior) = OUTPUT_ONLY
1171+
];
10891172

10901173
// Output only. The creation time of the object.
10911174
google.protobuf.Timestamp create_time = 2

0 commit comments

Comments
 (0)