@@ -23,6 +23,8 @@ import type {
2323 CreateEndpointRequest ,
2424 CreateInstanceFromSnapshotRequest ,
2525 CreateInstanceRequest ,
26+ CreateReadReplicaEndpointRequest ,
27+ CreateReadReplicaRequest ,
2628 CreateSnapshotRequest ,
2729 CreateUserRequest ,
2830 Database ,
@@ -66,6 +68,10 @@ import type {
6668 PrepareInstanceLogsResponse ,
6769 Privilege ,
6870 PurgeInstanceLogsRequest ,
71+ ReadReplica ,
72+ ReadReplicaEndpointSpec ,
73+ ReadReplicaEndpointSpecDirectAccess ,
74+ ReadReplicaEndpointSpecPrivateNetwork ,
6975 RestoreDatabaseBackupRequest ,
7076 SetInstanceACLRulesRequest ,
7177 SetInstanceACLRulesResponse ,
@@ -116,6 +122,31 @@ const unmarshalEndpointPrivateNetworkDetails = (data: unknown) => {
116122 } as EndpointPrivateNetworkDetails
117123}
118124
125+ export const unmarshalEndpoint = ( data : unknown ) => {
126+ if ( ! isJSONObject ( data ) ) {
127+ throw new TypeError (
128+ `Unmarshalling the type 'Endpoint' failed as data isn't a dictionary.` ,
129+ )
130+ }
131+
132+ return {
133+ directAccess : data . direct_access
134+ ? unmarshalEndpointDirectAccessDetails ( data . direct_access )
135+ : undefined ,
136+ hostname : data . hostname ,
137+ id : data . id ,
138+ ip : data . ip ,
139+ loadBalancer : data . load_balancer
140+ ? unmarshalEndpointLoadBalancerDetails ( data . load_balancer )
141+ : undefined ,
142+ name : data . name ,
143+ port : data . port ,
144+ privateNetwork : data . private_network
145+ ? unmarshalEndpointPrivateNetworkDetails ( data . private_network )
146+ : undefined ,
147+ } as Endpoint
148+ }
149+
119150const unmarshalEngineSetting = ( data : unknown ) => {
120151 if ( ! isJSONObject ( data ) ) {
121152 throw new TypeError (
@@ -152,31 +183,6 @@ const unmarshalBackupSchedule = (data: unknown) => {
152183 } as BackupSchedule
153184}
154185
155- export const unmarshalEndpoint = ( data : unknown ) => {
156- if ( ! isJSONObject ( data ) ) {
157- throw new TypeError (
158- `Unmarshalling the type 'Endpoint' failed as data isn't a dictionary.` ,
159- )
160- }
161-
162- return {
163- directAccess : data . direct_access
164- ? unmarshalEndpointDirectAccessDetails ( data . direct_access )
165- : undefined ,
166- hostname : data . hostname ,
167- id : data . id ,
168- ip : data . ip ,
169- loadBalancer : data . load_balancer
170- ? unmarshalEndpointLoadBalancerDetails ( data . load_balancer )
171- : undefined ,
172- name : data . name ,
173- port : data . port ,
174- privateNetwork : data . private_network
175- ? unmarshalEndpointPrivateNetworkDetails ( data . private_network )
176- : undefined ,
177- } as Endpoint
178- }
179-
180186const unmarshalEngineVersion = ( data : unknown ) => {
181187 if ( ! isJSONObject ( data ) ) {
182188 throw new TypeError (
@@ -269,6 +275,21 @@ const unmarshalNodeTypeVolumeType = (data: unknown) => {
269275 } as NodeTypeVolumeType
270276}
271277
278+ export const unmarshalReadReplica = ( data : unknown ) => {
279+ if ( ! isJSONObject ( data ) ) {
280+ throw new TypeError (
281+ `Unmarshalling the type 'ReadReplica' failed as data isn't a dictionary.` ,
282+ )
283+ }
284+
285+ return {
286+ endpoints : unmarshalArrayOfObject ( data . endpoints , unmarshalEndpoint ) ,
287+ id : data . id ,
288+ region : data . region ,
289+ status : data . status ,
290+ } as ReadReplica
291+ }
292+
272293const unmarshalVolume = ( data : unknown ) => {
273294 if ( ! isJSONObject ( data ) ) {
274295 throw new TypeError (
@@ -384,6 +405,10 @@ export const unmarshalInstance = (data: unknown) => {
384405 nodeType : data . node_type ,
385406 organizationId : data . organization_id ,
386407 projectId : data . project_id ,
408+ readReplicas : unmarshalArrayOfObject (
409+ data . read_replicas ,
410+ unmarshalReadReplica ,
411+ ) ,
387412 region : data . region ,
388413 settings : unmarshalArrayOfObject ( data . settings , unmarshalInstanceSetting ) ,
389414 status : data . status ,
@@ -760,6 +785,19 @@ const marshalEndpointSpecPrivateNetwork = (
760785 service_ip : request . serviceIp ,
761786} )
762787
788+ const marshalReadReplicaEndpointSpecDirectAccess = (
789+ request : ReadReplicaEndpointSpecDirectAccess ,
790+ defaults : DefaultValues ,
791+ ) : Record < string , unknown > => ( { } )
792+
793+ const marshalReadReplicaEndpointSpecPrivateNetwork = (
794+ request : ReadReplicaEndpointSpecPrivateNetwork ,
795+ defaults : DefaultValues ,
796+ ) : Record < string , unknown > => ( {
797+ private_network_id : request . privateNetworkId ,
798+ service_ip : request . serviceIp ,
799+ } )
800+
763801const marshalACLRuleRequest = (
764802 request : ACLRuleRequest ,
765803 defaults : DefaultValues ,
@@ -804,6 +842,32 @@ const marshalLogsPolicy = (
804842 total_disk_retention : request . totalDiskRetention ,
805843} )
806844
845+ const marshalReadReplicaEndpointSpec = (
846+ request : ReadReplicaEndpointSpec ,
847+ defaults : DefaultValues ,
848+ ) : Record < string , unknown > => ( {
849+ ...resolveOneOf < unknown > ( [
850+ {
851+ param : 'direct_access' ,
852+ value : request . directAccess
853+ ? marshalReadReplicaEndpointSpecDirectAccess (
854+ request . directAccess ,
855+ defaults ,
856+ )
857+ : undefined ,
858+ } ,
859+ {
860+ param : 'private_network' ,
861+ value : request . privateNetwork
862+ ? marshalReadReplicaEndpointSpecPrivateNetwork (
863+ request . privateNetwork ,
864+ defaults ,
865+ )
866+ : undefined ,
867+ } ,
868+ ] ) ,
869+ } )
870+
807871export const marshalAddInstanceACLRulesRequest = (
808872 request : AddInstanceACLRulesRequest ,
809873 defaults : DefaultValues ,
@@ -896,6 +960,27 @@ export const marshalCreateInstanceRequest = (
896960 ] ) ,
897961} )
898962
963+ export const marshalCreateReadReplicaEndpointRequest = (
964+ request : CreateReadReplicaEndpointRequest ,
965+ defaults : DefaultValues ,
966+ ) : Record < string , unknown > => ( {
967+ endpoint_spec : request . endpointSpec . map ( elt =>
968+ marshalReadReplicaEndpointSpec ( elt , defaults ) ,
969+ ) ,
970+ } )
971+
972+ export const marshalCreateReadReplicaRequest = (
973+ request : CreateReadReplicaRequest ,
974+ defaults : DefaultValues ,
975+ ) : Record < string , unknown > => ( {
976+ endpoint_spec : request . endpointSpec
977+ ? request . endpointSpec . map ( elt =>
978+ marshalReadReplicaEndpointSpec ( elt , defaults ) ,
979+ )
980+ : undefined ,
981+ instance_id : request . instanceId ,
982+ } )
983+
899984export const marshalCreateSnapshotRequest = (
900985 request : CreateSnapshotRequest ,
901986 defaults : DefaultValues ,
0 commit comments