@@ -194,6 +194,73 @@ pub(super) fn db_cluster_member_xml(v: &Value) -> String {
194194 }
195195 out. push_str ( " </DBClusterMembers>\n " ) ;
196196 }
197+
198+ // Scalar fields ModifyDBCluster (and CreateDBCluster) persist that the
199+ // hand-written renderer above omitted, so DescribeDBClusters reflects a
200+ // modify instead of always echoing the create-time defaults (bug-audit
201+ // 2026-06-20, 1.17). Keys already rendered above are deliberately excluded.
202+ for key in [
203+ "StorageType" ,
204+ "DBClusterInstanceClass" ,
205+ "EngineMode" ,
206+ "NetworkType" ,
207+ "MonitoringRoleArn" ,
208+ "PerformanceInsightsKMSKeyId" ,
209+ "Domain" ,
210+ "DomainIAMRoleName" ,
211+ "CACertificateIdentifier" ,
212+ "MasterUserSecretKmsKeyId" ,
213+ "AwsBackupRecoveryPointArn" ,
214+ "GlobalWriteForwardingStatus" ,
215+ "LocalWriteForwardingStatus" ,
216+ ] {
217+ if let Some ( s) = v[ key] . as_str ( ) {
218+ out. push_str ( & format ! ( " <{key}>{}</{key}>\n " , xml_escape( s) ) ) ;
219+ }
220+ }
221+ for key in [
222+ "Iops" ,
223+ "BacktrackWindow" ,
224+ "MonitoringInterval" ,
225+ "PerformanceInsightsRetentionPeriod" ,
226+ ] {
227+ if let Some ( n) = v[ key] . as_i64 ( ) {
228+ out. push_str ( & format ! ( " <{key}>{n}</{key}>\n " ) ) ;
229+ }
230+ }
231+ for key in [
232+ "IAMDatabaseAuthenticationEnabled" ,
233+ "CopyTagsToSnapshot" ,
234+ "AutoMinorVersionUpgrade" ,
235+ "HttpEndpointEnabled" ,
236+ "PerformanceInsightsEnabled" ,
237+ "ManageMasterUserPassword" ,
238+ ] {
239+ if let Some ( b) = v[ key] . as_bool ( ) {
240+ out. push_str ( & format ! ( " <{key}>{b}</{key}>\n " ) ) ;
241+ }
242+ }
243+ // ServerlessV2ScalingConfiguration is stored as flattened
244+ // `ServerlessV2ScalingConfiguration.{Min,Max}Capacity` keys; render it back
245+ // as the nested element AWS returns.
246+ let v2_min = v[ "ServerlessV2ScalingConfiguration.MinCapacity" ] . as_str ( ) ;
247+ let v2_max = v[ "ServerlessV2ScalingConfiguration.MaxCapacity" ] . as_str ( ) ;
248+ if v2_min. is_some ( ) || v2_max. is_some ( ) {
249+ out. push_str ( " <ServerlessV2ScalingConfiguration>\n " ) ;
250+ if let Some ( m) = v2_min {
251+ out. push_str ( & format ! (
252+ " <MinCapacity>{}</MinCapacity>\n " ,
253+ xml_escape( m)
254+ ) ) ;
255+ }
256+ if let Some ( m) = v2_max {
257+ out. push_str ( & format ! (
258+ " <MaxCapacity>{}</MaxCapacity>\n " ,
259+ xml_escape( m)
260+ ) ) ;
261+ }
262+ out. push_str ( " </ServerlessV2ScalingConfiguration>\n " ) ;
263+ }
197264 out
198265}
199266
0 commit comments