Get ARN for SQS resource in function

Hello,
I have the following:

  diff:
    handler: bin/diff
    description: "Uses `diff` GNU as lambda layer to compare files and ingest these diffrences - http://gnu.mirrors.pair.com/diffutils/"
    memorySize: 128
    timeout: 60
    package:
      individually: true
      include:
        - ./bin/diff
    layers:
      - { Ref: DiffLambdaLayer }
    events:
      - sqs:
          "Fn::GetAtt":
          - CFNSQSQueue
          - Arn

this fails to deploy as the CFNSQSQueue has not been created, what is the correct way to create the custom resource and get the ARN for this resource within the function definition?

this works

      - sqs: "arn:aws:sqs:${file(./config.yml):${opt:stage}.REGION}:#{AWS::AccountId}:${file(./config.yml):${opt:stage}.SQS_S3_CHANGES_QUEUE_NAME}"

but i wanted to enforce the creation of the SQS queue before the function is deployed.

any advice is much appreciated.

Correct syntax is:

events:
  - sqs:
      arn:
        Fn::GetAtt: [CFNSQSQueue, Arn]

Note “arn” before “Fn::GetAtt”.