From 0dc1b9965ce2f261092e4e097db6301f27b4b9d1 Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Thu, 6 May 2021 13:42:35 +0200 Subject: [PATCH] add missing endpoints for StepFunctions startup command --- .../services/cloudformation/service_models.py | 4 ++-- .../services/route53/route53_listener.py | 2 ++ .../stepfunctions/stepfunctions_starter.py | 21 ++++++++++++------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/localstack/services/cloudformation/service_models.py b/localstack/services/cloudformation/service_models.py index 23da3ec8c86a50..07340ca5f1d7da 100644 --- a/localstack/services/cloudformation/service_models.py +++ b/localstack/services/cloudformation/service_models.py @@ -316,8 +316,8 @@ def fetch_state(self, stack_name, resources): group_name = self.resolve_refs_recursively(stack_name, props.get('LogGroupName'), resources) filter_pattern = self.resolve_refs_recursively(stack_name, props.get('FilterPattern'), resources) logs = aws_stack.connect_to_service('logs') - groups = logs.describe_subscription_filters(logGroupName=group_name) - groups = [g for g in groups['subscriptionFilters'] if g.get('filterPattern') == filter_pattern] + groups = logs.describe_subscription_filters(logGroupName=group_name)['subscriptionFilters'] + groups = [g for g in groups if g.get('filterPattern') == filter_pattern] return (groups or [None])[0] @staticmethod diff --git a/localstack/services/route53/route53_listener.py b/localstack/services/route53/route53_listener.py index 1b99c9848f8dbc..65c2388af9ebc2 100644 --- a/localstack/services/route53/route53_listener.py +++ b/localstack/services/route53/route53_listener.py @@ -107,6 +107,8 @@ def _zone(z): response = requests_response(body) return response + if '/delegationset' in path: + pass # instantiate listener UPDATE_ROUTE53 = ProxyListenerRoute53() diff --git a/localstack/services/stepfunctions/stepfunctions_starter.py b/localstack/services/stepfunctions/stepfunctions_starter.py index eeb1e122cb24af..d6e5ed08a57f22 100644 --- a/localstack/services/stepfunctions/stepfunctions_starter.py +++ b/localstack/services/stepfunctions/stepfunctions_starter.py @@ -12,18 +12,23 @@ def get_command(backend_port): - dynamodb_endpoint = aws_stack.get_local_service_url('dynamodb') - sns_endpoint = aws_stack.get_local_service_url('sns') - sqs_endpoint = aws_stack.get_local_service_url('sqs') - sfn_endpoint = aws_stack.get_local_service_url('stepfunctions') cmd = ('cd %s; PORT=%s java -Dcom.amazonaws.sdk.disableCertChecking -Xmx%s -jar StepFunctionsLocal.jar ' - '--dynamodb-endpoint %s --sns-endpoint %s ' - '--sqs-endpoint %s --aws-region %s --aws-account %s --step-functions-endpoint %s') % ( - install.INSTALL_DIR_STEPFUNCTIONS, backend_port, MAX_HEAP_SIZE, dynamodb_endpoint, - sns_endpoint, sqs_endpoint, aws_stack.get_region(), TEST_AWS_ACCOUNT_ID, sfn_endpoint) + '--aws-region %s --aws-account %s') % ( + install.INSTALL_DIR_STEPFUNCTIONS, backend_port, MAX_HEAP_SIZE, + aws_stack.get_region(), TEST_AWS_ACCOUNT_ID) if config.STEPFUNCTIONS_LAMBDA_ENDPOINT.lower() != 'default': lambda_endpoint = config.STEPFUNCTIONS_LAMBDA_ENDPOINT or aws_stack.get_local_service_url('lambda') cmd += (' --lambda-endpoint %s') % (lambda_endpoint) + # add service endpoint flags + services = ['athena', 'batch', 'dynamodb', 'ecs', 'eks', 'glue', 'sagemaker', 'sns', 'sqs', 'stepfunctions'] + for service in services: + flag = '--%s-endpoint' % service + if service == 'stepfunctions': + flag = '--step-functions-endpoint' + elif service in ['athena', 'eks']: + flag = '--step-functions-%s' % service + endpoint = aws_stack.get_local_service_url(service) + cmd += ' %s %s' % (flag, endpoint) return cmd