in src/main/scala/com/gu/kinesis/ConsumerConfig.scala [61:88]
def fromConfig(
config: Config,
workerId: String = ConsumerConfig.generateWorkerId,
coordinatorConfig: Option[CoordinatorConfig] = None,
leaseManagementConfig: Option[LeaseManagementConfig] = None,
metricsConfig: Option[MetricsConfig] = None,
retrievalConfig: Option[RetrievalConfig] = None
)(implicit
kac: KinesisAsyncClient = defaultKinesisClient,
dac: DynamoDbAsyncClient = defaultDynamoClient,
cwac: CloudWatchAsyncClient = defaultCloudwatchClient
): ConsumerConfig = {
val parsedConfig = ParsedConsumerConfig(config)
ConsumerConfig(
parsedConfig.streamName,
parsedConfig.appName,
workerId,
kac,
dac,
cwac,
parsedConfig.initialPositionInStreamExtended.getOrElse(defaultInitialPosition),
coordinatorConfig,
leaseManagementConfig,
metricsConfig,
retrievalConfig
)
}