in service/rds/deserializers.go [26805:27760]
func awsAwsquery_deserializeDocumentDBInstance(v **types.DBInstance, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.DBInstance
if *v == nil {
sv = &types.DBInstance{}
} 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("ActivityStreamEngineNativeAuditFieldsIncluded", 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.ActivityStreamEngineNativeAuditFieldsIncluded = ptr.Bool(xtv)
}
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 = int32(i64)
}
case strings.EqualFold("AssociatedRoles", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBInstanceRoles(&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("AutomationMode", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.AutomationMode = types.AutomationMode(xtv)
}
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("AvailabilityZone", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.AvailabilityZone = ptr.String(xtv)
}
case strings.EqualFold("AwsBackupRecoveryPointArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.AwsBackupRecoveryPointArn = ptr.String(xtv)
}
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 = int32(i64)
}
case strings.EqualFold("BackupTarget", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.BackupTarget = ptr.String(xtv)
}
case strings.EqualFold("CACertificateIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.CACertificateIdentifier = ptr.String(xtv)
}
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("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 Boolean to be of type *bool, got %T instead", val)
}
sv.CopyTagsToSnapshot = xtv
}
case strings.EqualFold("CustomerOwnedIpEnabled", 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.CustomerOwnedIpEnabled = ptr.Bool(xtv)
}
case strings.EqualFold("CustomIamInstanceProfile", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.CustomIamInstanceProfile = 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("DBInstanceArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBInstanceArn = ptr.String(xtv)
}
case strings.EqualFold("DBInstanceAutomatedBackupsReplications", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBInstanceAutomatedBackupsReplicationList(&sv.DBInstanceAutomatedBackupsReplications, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DBInstanceClass", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBInstanceClass = ptr.String(xtv)
}
case strings.EqualFold("DBInstanceIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBInstanceIdentifier = ptr.String(xtv)
}
case strings.EqualFold("DbInstancePort", 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.DbInstancePort = int32(i64)
}
case strings.EqualFold("DBInstanceStatus", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBInstanceStatus = ptr.String(xtv)
}
case strings.EqualFold("DbiResourceId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DbiResourceId = ptr.String(xtv)
}
case strings.EqualFold("DBName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.DBName = ptr.String(xtv)
}
case strings.EqualFold("DBParameterGroups", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBParameterGroupStatusList(&sv.DBParameterGroups, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DBSecurityGroups", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBSecurityGroupMembershipList(&sv.DBSecurityGroups, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("DBSubnetGroup", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBSubnetGroup(&sv.DBSubnetGroup, nodeDecoder); err != nil {
return err
}
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 Boolean to be of type *bool, got %T instead", val)
}
sv.DeletionProtection = 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("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):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentEndpoint(&sv.Endpoint, nodeDecoder); err != nil {
return err
}
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("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("EnhancedMonitoringResourceArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.EnhancedMonitoringResourceArn = ptr.String(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 Boolean to be of type *bool, got %T instead", val)
}
sv.IAMDatabaseAuthenticationEnabled = xtv
}
case strings.EqualFold("InstanceCreateTime", 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.InstanceCreateTime = ptr.Time(t)
}
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("LicenseModel", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.LicenseModel = ptr.String(xtv)
}
case strings.EqualFold("ListenerEndpoint", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentEndpoint(&sv.ListenerEndpoint, nodeDecoder); err != nil {
return err
}
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("MaxAllocatedStorage", 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.MaxAllocatedStorage = ptr.Int32(int32(i64))
}
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 Boolean to be of type *bool, got %T instead", val)
}
sv.MultiAZ = xtv
}
case strings.EqualFold("NcharCharacterSetName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.NcharCharacterSetName = ptr.String(xtv)
}
case strings.EqualFold("OptionGroupMemberships", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentOptionGroupMembershipList(&sv.OptionGroupMemberships, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("PendingModifiedValues", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentPendingModifiedValues(&sv.PendingModifiedValues, nodeDecoder); err != nil {
return err
}
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("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("ProcessorFeatures", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentProcessorFeatureList(&sv.ProcessorFeatures, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("PromotionTier", 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.PromotionTier = ptr.Int32(int32(i64))
}
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 Boolean to be of type *bool, got %T instead", val)
}
sv.PubliclyAccessible = xtv
}
case strings.EqualFold("ReadReplicaDBClusterIdentifiers", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentReadReplicaDBClusterIdentifierList(&sv.ReadReplicaDBClusterIdentifiers, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("ReadReplicaDBInstanceIdentifiers", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentReadReplicaDBInstanceIdentifierList(&sv.ReadReplicaDBInstanceIdentifiers, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("ReadReplicaSourceDBInstanceIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ReadReplicaSourceDBInstanceIdentifier = ptr.String(xtv)
}
case strings.EqualFold("ReplicaMode", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ReplicaMode = types.ReplicaMode(xtv)
}
case strings.EqualFold("ResumeFullAutomationModeTime", 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.ResumeFullAutomationModeTime = ptr.Time(t)
}
case strings.EqualFold("SecondaryAvailabilityZone", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.SecondaryAvailabilityZone = ptr.String(xtv)
}
case strings.EqualFold("StatusInfos", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentDBInstanceStatusInfoList(&sv.StatusInfos, nodeDecoder); err != nil {
return err
}
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("TdeCredentialArn", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.TdeCredentialArn = ptr.String(xtv)
}
case strings.EqualFold("Timezone", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Timezone = ptr.String(xtv)
}
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
}