It can be deployed normally on AWS

![image](https://user-images.githubusercontent.com/38454210/78279329-f1528180-7549-11ea-8aec-ba9620a16609.png)

![image](https://user-images.githubusercontent.com/38454210/78279477-25c63d80-754a-11ea-92bc-313e7950424c.png)


LOG.debug('Extract resource attribute: %s %s' % (resource_type, attribute))
    
    if resource_type == 'Lambda::Function':
        actual_attribute = 'FunctionArn' if attribute == 'Arn' else attribute
        return resource['Configuration'][actual_attribute]
    elif resource_type == 'DynamoDB::Table':
        actual_attribute = 'LatestStreamArn' if attribute == 'StreamArn' else attribute
        value = resource['Table'].get(actual_attribute)
        return value
    elif resource_type == 'ApiGateway::RestApi':
        if attribute == 'PhysicalResourceId':
            return resource['id']
        if attribute == 'RootResourceId':
            resources = aws_stack.connect_to_service('apigateway').get_resources(restApiId=resource['id'])['items']
            for res in resources:
                if res['path'] == '/' and not res.get('parentId'):
                    return res['id']
    elif resource_type == 'ApiGateway::Resource':
        if attribute == 'PhysicalResourceId':
            return resource['id']
    attribute_lower = common.first_char_to_lower(attribute)
    return resource.get(attribute) or resource.get(attribute_lower)
def resolve_ref(stack_name, ref, resources, attribute):
    if ref == 'AWS::Region':
        return aws_stack.get_region()
    if ref == 'AWS::Partition':
        return 'aws'
    if ref == 'AWS::StackName':
        return stack_name