@@ -70,6 +70,7 @@ message OracleProfile {
7070}
7171
7272// Configuration for Oracle Automatic Storage Management (ASM) connection.
73+ // .
7374message 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.
353427message 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