in dax/internal/client/response.go [1234:1297]
func decodeConsumedCapacityExtended(reader *cbor.Reader) (*dynamodb.ConsumedCapacity, error) {
consumed, err := consumeNil(reader)
if err != nil {
return nil, err
}
if consumed {
return nil, nil
}
cc := &dynamodb.ConsumedCapacity{}
err = consumeMap(reader, func(key int, reader *cbor.Reader) error {
switch key {
case tableName:
s, err := reader.ReadString()
if err != nil {
return err
}
cc.SetTableName(s)
case capacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.SetCapacityUnits(f)
case readCapacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.SetReadCapacityUnits(f)
case writeCapacityUnits:
f, err := reader.ReadFloat64()
if err != nil {
return err
}
cc.SetWriteCapacityUnits(f)
case table:
c, err := decodeCapacity(reader)
if err != nil {
return err
}
cc.SetTable(c)
case globalSecondaryIndexes:
c, err := decodeIndexConsumedCapacity(reader, true)
if err != nil {
return err
}
cc.SetGlobalSecondaryIndexes(c)
case localSecondaryIndexes:
c, err := decodeIndexConsumedCapacity(reader, true)
if err != nil {
return err
}
cc.SetLocalSecondaryIndexes(c)
default:
return awserr.New(request.ErrCodeSerialization, fmt.Sprintf("unknown response param key %d", key), nil)
}
return nil
})
if err != nil {
return nil, err
}
return cc, nil
}