def _sqs_queue()

in syndicate/core/transform/terraform/converter/tf_sqs_converter.py [0:0]


    def _sqs_queue(self, tf_queue_name, fifo_queue, queue_name,
                   delay_seconds,
                   receive_wait_time_seconds, max_message_size,
                   message_retention_seconds=None,
                   content_based_deduplication=None, kms_master_key_id=None,
                   kms_data_key_reuse_period_seconds=None,
                   visibility_timeout_seconds=None,
                   policy=None, redrive_policy=None,
                   provider=None):
        sqs_template = {}

        if fifo_queue:
            sqs_template.update({'fifo_queue': fifo_queue})

        if delay_seconds:
            sqs_template.update({'delay_seconds': delay_seconds})

        if max_message_size:
            sqs_template.update({'max_message_size': max_message_size})

        if queue_name:
            sqs_template.update({'name': queue_name})

        if receive_wait_time_seconds:
            sqs_template.update(
                {'receive_wait_time_seconds': receive_wait_time_seconds})

        if redrive_policy:
            redrive_policy = {
                'deadLetterTargetArn': redrive_policy['deadLetterTargetArn'],
                'maxReceiveCount': redrive_policy['maxReceiveCount']
            }
            sqs_template.update({'redrive_policy': json.dumps(redrive_policy)})

        if content_based_deduplication:
            sqs_template.update(
                {"content_based_deduplication": content_based_deduplication})

        if kms_master_key_id:
            sqs_template.update({'kms_master_key_id': kms_master_key_id})

        if kms_data_key_reuse_period_seconds:
            sqs_template.update({
                'kms_data_key_reuse_period_seconds': kms_data_key_reuse_period_seconds})

        if visibility_timeout_seconds:
            sqs_template.update(
                {'visibility_timeout_seconds': visibility_timeout_seconds})

        if policy:
            sqs_template.update({"policy": policy})

        if message_retention_seconds:
            sqs_template.update(
                {'message_retention_seconds': message_retention_seconds})

        if provider:
            sqs_template['provider'] = provider

        resource = {
            tf_queue_name: sqs_template
        }
        return resource