+ if definition.key? 'message-ttl'
+ message_ttl_val = definition['message-ttl']
+ unless message_ttl_val.to_i.to_s == message_ttl_val
+ raise ArgumentError, "Invalid message-ttl value '#{message_ttl_val}'"
+ end
+ end
+ if definition.key? 'max-length'
+ max_length_val = definition['max-length']
+ unless max_length_val.to_i.to_s == max_length_val
+ raise ArgumentError, "Invalid max-length value '#{max_length_val}'"
+ end
+ end
+ if definition.key? 'max-length-bytes'
+ max_length_bytes_val = definition['max-length-bytes']
+ unless max_length_bytes_val.to_i.to_s == max_length_bytes_val
+ raise ArgumentError, "Invalid max-length-bytes value '#{max_length_bytes_val}'"
+ end
+ end
+ if definition.key? 'shards-per-node'
+ shards_per_node_val = definition['shards-per-node']
+ unless shards_per_node_val.to_i.to_s == shards_per_node_val
+ raise ArgumentError, "Invalid shards-per-node value '#{shards_per_node_val}'"
+ end
+ end
+ if definition.key? 'ha-sync-batch-size' # rubocop:disable Style/GuardClause
+ ha_sync_batch_size_val = definition['ha-sync-batch-size']
+ unless ha_sync_batch_size_val.to_i.to_s == ha_sync_batch_size_val
+ raise ArgumentError, "Invalid ha-sync-batch-size value '#{ha_sync_batch_size_val}'"
+ end
+ end