in service/rds/deserializers.go [23220:24130]
func awsAwsquery_deserializeDocumentDBCluster(v **types.DBCluster, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.DBCluster
if *v == nil {
sv = &types.DBCluster{}
} else {
sv = *v
}
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch {
case strings.EqualFold("ActivityStreamKinesisStreamName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ActivityStreamKinesisStreamName = ptr.String(xtv)
}
case strings.EqualFold("ActivityStreamKmsKeyId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ActivityStreamKmsKeyId = ptr.String(xtv)
}
case strings.EqualFold("ActivityStreamMode", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ActivityStreamMode = types.ActivityStreamMode(xtv)
}
case strings.EqualFold("ActivityStreamStatus", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ActivityStreamStatus = types.ActivityStreamStatus(xtv)
}
case strings.EqualFold("AllocatedStorage", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.AllocatedStorage = ptr.Int32(int32(i64))
}
case strings.EqualFold("AssociatedRoles", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBClusterRoles(&sv.AssociatedRoles, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("AutomaticRestartTime", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.AutomaticRestartTime = ptr.Time(t)
}
case strings.EqualFold("AutoMinorVersionUpgrade", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val)
}
sv.AutoMinorVersionUpgrade = xtv
}
case strings.EqualFold("AvailabilityZones", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentAvailabilityZones(&sv.AvailabilityZones, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("BacktrackConsumedChangeRecords", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BacktrackConsumedChangeRecords = ptr.Int64(i64)
}
case strings.EqualFold("BacktrackWindow", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BacktrackWindow = ptr.Int64(i64)
}
case strings.EqualFold("BackupRetentionPeriod", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BackupRetentionPeriod = ptr.Int32(int32(i64))
}
case strings.EqualFold("Capacity", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.Capacity = ptr.Int32(int32(i64))
}
case strings.EqualFold("CharacterSetName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.CharacterSetName = ptr.String(xtv)
}
case strings.EqualFold("CloneGroupId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.CloneGroupId = ptr.String(xtv)
}
case strings.EqualFold("ClusterCreateTime", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.ClusterCreateTime = ptr.Time(t)
}
case strings.EqualFold("CopyTagsToSnapshot", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.CopyTagsToSnapshot = ptr.Bool(xtv)
}
case strings.EqualFold("CrossAccountClone", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.CrossAccountClone = ptr.Bool(xtv)
}
case strings.EqualFold("CustomEndpoints", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentStringList(&sv.CustomEndpoints, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DatabaseName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DatabaseName = ptr.String(xtv)
}
case strings.EqualFold("DBClusterArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBClusterArn = ptr.String(xtv)
}
case strings.EqualFold("DBClusterIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBClusterIdentifier = ptr.String(xtv)
}
case strings.EqualFold("DBClusterInstanceClass", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBClusterInstanceClass = ptr.String(xtv)
}
case strings.EqualFold("DBClusterMembers", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBClusterMemberList(&sv.DBClusterMembers, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DBClusterOptionGroupMemberships", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBClusterOptionGroupMemberships(&sv.DBClusterOptionGroupMemberships, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DBClusterParameterGroup", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBClusterParameterGroup = ptr.String(xtv)
}
case strings.EqualFold("DbClusterResourceId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DbClusterResourceId = ptr.String(xtv)
}
case strings.EqualFold("DBSubnetGroup", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBSubnetGroup = ptr.String(xtv)
}
case strings.EqualFold("DeletionProtection", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.DeletionProtection = ptr.Bool(xtv)
}
case strings.EqualFold("DomainMemberships", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDomainMembershipList(&sv.DomainMemberships, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("EarliestBacktrackTime", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.EarliestBacktrackTime = ptr.Time(t)
}
case strings.EqualFold("EarliestRestorableTime", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.EarliestRestorableTime = ptr.Time(t)
}
case strings.EqualFold("EnabledCloudwatchLogsExports", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentLogTypeList(&sv.EnabledCloudwatchLogsExports, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("Endpoint", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Endpoint = ptr.String(xtv)
}
case strings.EqualFold("Engine", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Engine = ptr.String(xtv)
}
case strings.EqualFold("EngineMode", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.EngineMode = ptr.String(xtv)
}
case strings.EqualFold("EngineVersion", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.EngineVersion = ptr.String(xtv)
}
case strings.EqualFold("GlobalWriteForwardingRequested", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.GlobalWriteForwardingRequested = ptr.Bool(xtv)
}
case strings.EqualFold("GlobalWriteForwardingStatus", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.GlobalWriteForwardingStatus = types.WriteForwardingStatus(xtv)
}
case strings.EqualFold("HostedZoneId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.HostedZoneId = ptr.String(xtv)
}
case strings.EqualFold("HttpEndpointEnabled", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.HttpEndpointEnabled = ptr.Bool(xtv)
}
case strings.EqualFold("IAMDatabaseAuthenticationEnabled", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.IAMDatabaseAuthenticationEnabled = ptr.Bool(xtv)
}
case strings.EqualFold("Iops", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.Iops = ptr.Int32(int32(i64))
}
case strings.EqualFold("KmsKeyId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.KmsKeyId = ptr.String(xtv)
}
case strings.EqualFold("LatestRestorableTime", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.LatestRestorableTime = ptr.Time(t)
}
case strings.EqualFold("MasterUsername", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.MasterUsername = ptr.String(xtv)
}
case strings.EqualFold("MonitoringInterval", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.MonitoringInterval = ptr.Int32(int32(i64))
}
case strings.EqualFold("MonitoringRoleArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.MonitoringRoleArn = ptr.String(xtv)
}
case strings.EqualFold("MultiAZ", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.MultiAZ = ptr.Bool(xtv)
}
case strings.EqualFold("PendingModifiedValues", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentClusterPendingModifiedValues(&sv.PendingModifiedValues, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("PercentProgress", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.PercentProgress = ptr.String(xtv)
}
case strings.EqualFold("PerformanceInsightsEnabled", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.PerformanceInsightsEnabled = ptr.Bool(xtv)
}
case strings.EqualFold("PerformanceInsightsKMSKeyId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.PerformanceInsightsKMSKeyId = ptr.String(xtv)
}
case strings.EqualFold("PerformanceInsightsRetentionPeriod", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.PerformanceInsightsRetentionPeriod = ptr.Int32(int32(i64))
}
case strings.EqualFold("Port", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.Port = ptr.Int32(int32(i64))
}
case strings.EqualFold("PreferredBackupWindow", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.PreferredBackupWindow = ptr.String(xtv)
}
case strings.EqualFold("PreferredMaintenanceWindow", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.PreferredMaintenanceWindow = ptr.String(xtv)
}
case strings.EqualFold("PubliclyAccessible", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val)
}
sv.PubliclyAccessible = ptr.Bool(xtv)
}
case strings.EqualFold("ReaderEndpoint", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ReaderEndpoint = ptr.String(xtv)
}
case strings.EqualFold("ReadReplicaIdentifiers", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentReadReplicaIdentifierList(&sv.ReadReplicaIdentifiers, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("ReplicationSourceIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ReplicationSourceIdentifier = ptr.String(xtv)
}
case strings.EqualFold("ScalingConfigurationInfo", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentScalingConfigurationInfo(&sv.ScalingConfigurationInfo, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("Status", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Status = ptr.String(xtv)
}
case strings.EqualFold("StorageEncrypted", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val)
}
sv.StorageEncrypted = xtv
}
case strings.EqualFold("StorageType", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.StorageType = ptr.String(xtv)
}
case strings.EqualFold("TagList", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentTagList(&sv.TagList, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("VpcSecurityGroups", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentVpcSecurityGroupMembershipList(&sv.VpcSecurityGroups, nodeDecoder); err != nil {
return err
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}