def create_firewall_resource_from_context(shell_name, supported_os, context):
    """
    Creates an instance of Firewall Resource by given context
    :param shell_name: Shell Name
    :type shell_name: str
    :param supported_os: list of supported OS
    :type supported_os: list
    :param context: cloudshell.shell.core.driver_context.ResourceCommandContext
    :type context: cloudshell.shell.core.driver_context.ResourceCommandContext
    :return:
    :rtype GenericNetworkingResource
    """

    result = GenericFirewallResource(shell_name=shell_name, name=context.resource.name, supported_os=supported_os)
    result.address = context.resource.address
    result.family = context.resource.family
    result.fullname = context.resource.fullname

    result.attributes = dict(context.resource.attributes)

    return result