parameters:
    sqsRegion: ""

services:
    sqsClient:
        class: Aws\Sqs\SqsClient
        arguments:
            -
                version: "2012-11-05"
                region: "%sqsRegion%"

    messageFactory:
        class: Silktide\QueueBall\Sqs\MessageFactory

    sqsQueue:
        class: Silktide\QueueBall\Sqs\Queue
        arguments:
            - "@sqsClient"
            - "@messageFactory"

    # set the sqs queue to be default
    silktide_queueball.defaultQueue:
        aliasOf: "@sqsQueue"


parameters:
    sqsRegion: ""

services:
    sqsClient:
        class: Aws\Sqs\SqsClient
        arguments:
            -
                version: "2012-11-05"
                region: "%sqsRegion%"

    messageFactory:
        class: Silktide\QueueBall\Sqs\MessageFactory

    abstractSqsQueue:
        abstract: true
        class: Silktide\QueueBall\Sqs\Queue
        arguments:
            client: "@sqsClient"
            messageFactory: "@messageFactory"
            queueId: null

    sqsQueue:
        extends: "abstractSqsQueue"

    # set the sqs queue to be default
    silktide_queueball.defaultQueue:
        aliasOf: "@sqsQueue"


Create an abstract sqs-queue service so that we can create multiple queues easily
Create an abstract sqs-queue service so that we can create multiple queues easily

e.g.
queue1:
    extends: "@silktide_queueball-sqs.abstractSqsQueue"

queue2:
    extends: "@silktide_queueball-sqs.abstractSqsQueue"
