in service/redshift/deserializers.go [33181:33697]
func awsAwsquery_deserializeDocumentSnapshot(v **types.Snapshot, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.Snapshot
if *v == nil {
sv = &types.Snapshot{}
} 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("AccountsWithRestoreAccess", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentAccountsWithRestoreAccessList(&sv.AccountsWithRestoreAccess, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("ActualIncrementalBackupSizeInMegaBytes", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
f64, err := strconv.ParseFloat(xtv, 64)
if err != nil {
return err
}
sv.ActualIncrementalBackupSizeInMegaBytes = f64
}
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("BackupProgressInMegaBytes", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
f64, err := strconv.ParseFloat(xtv, 64)
if err != nil {
return err
}
sv.BackupProgressInMegaBytes = f64
}
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("ClusterIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ClusterIdentifier = ptr.String(xtv)
}
case strings.EqualFold("ClusterVersion", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.ClusterVersion = ptr.String(xtv)
}
case strings.EqualFold("CurrentBackupRateInMegaBytesPerSecond", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
f64, err := strconv.ParseFloat(xtv, 64)
if err != nil {
return err
}
sv.CurrentBackupRateInMegaBytesPerSecond = f64
}
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("ElapsedTimeInSeconds", 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.ElapsedTimeInSeconds = i64
}
case strings.EqualFold("Encrypted", 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.Encrypted = xtv
}
case strings.EqualFold("EncryptedWithHSM", 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.EncryptedWithHSM = xtv
}
case strings.EqualFold("EngineFullVersion", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.EngineFullVersion = ptr.String(xtv)
}
case strings.EqualFold("EnhancedVpcRouting", 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.EnhancedVpcRouting = xtv
}
case strings.EqualFold("EstimatedSecondsToCompletion", 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.EstimatedSecondsToCompletion = 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("MaintenanceTrackName", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.MaintenanceTrackName = ptr.String(xtv)
}
case strings.EqualFold("ManualSnapshotRemainingDays", 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.ManualSnapshotRemainingDays = ptr.Int32(int32(i64))
}
case strings.EqualFold("ManualSnapshotRetentionPeriod", 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.ManualSnapshotRetentionPeriod = ptr.Int32(int32(i64))
}
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("NodeType", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.NodeType = ptr.String(xtv)
}
case strings.EqualFold("NumberOfNodes", 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.NumberOfNodes = int32(i64)
}
case strings.EqualFold("OwnerAccount", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.OwnerAccount = ptr.String(xtv)
}
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 = int32(i64)
}
case strings.EqualFold("RestorableNodeTypes", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentRestorableNodeTypeList(&sv.RestorableNodeTypes, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("SnapshotCreateTime", 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.SnapshotCreateTime = ptr.Time(t)
}
case strings.EqualFold("SnapshotIdentifier", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.SnapshotIdentifier = ptr.String(xtv)
}
case strings.EqualFold("SnapshotRetentionStartTime", 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.SnapshotRetentionStartTime = ptr.Time(t)
}
case strings.EqualFold("SnapshotType", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.SnapshotType = ptr.String(xtv)
}
case strings.EqualFold("SourceRegion", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.SourceRegion = ptr.String(xtv)
}
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("Tags", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsAwsquery_deserializeDocumentTagList(&sv.Tags, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("TotalBackupSizeInMegaBytes", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
f64, err := strconv.ParseFloat(xtv, 64)
if err != nil {
return err
}
sv.TotalBackupSizeInMegaBytes = f64
}
case strings.EqualFold("VpcId", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.VpcId = ptr.String(xtv)
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}