def _generate_sqseventsource()

in chalice/package.py [0:0]


    def _generate_sqseventsource(self, resource, template):
        # type: (models.SQSEventSource, Dict[str, Any]) -> None
        function_cfn_name = to_cfn_resource_name(
            resource.lambda_function.resource_name)
        function_cfn = template['Resources'][function_cfn_name]
        sqs_cfn_name = self._register_cfn_resource_name(
            resource.resource_name)
        queue = ''  # type: Union[str, Dict[str, Any]]
        if isinstance(resource.queue, models.QueueARN):
            queue = resource.queue.arn
        else:
            queue = {
                'Fn::Sub': ('arn:${AWS::Partition}:sqs:${AWS::Region}'
                            ':${AWS::AccountId}:%s' % resource.queue)
            }
        properties = {
            'Queue': queue,
            'BatchSize': resource.batch_size,
            'MaximumBatchingWindowInSeconds':
                resource.maximum_batching_window_in_seconds
        }
        if resource.maximum_concurrency:
            properties["ScalingConfig"] = {
                "MaximumConcurrency": resource.maximum_concurrency
            }
        function_cfn['Properties']['Events'] = {
            sqs_cfn_name: {
                'Type': 'SQS',
                'Properties': properties
            }
        }