def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, end_ip_address: Optional[pulumi.Input[str]]=None, firewall_rule_name: Optional[pulumi.Input[str]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, server_name: Optional[pulumi.Input[str]]=None, start_ip_address: Optional[pulumi.Input[str]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        Represents a server firewall rule.\n        API Version: 2014-04-01.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] end_ip_address: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses.\n        :param pulumi.Input[str] firewall_rule_name: The name of the firewall rule.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.\n        :param pulumi.Input[str] server_name: The name of the server.\n        :param pulumi.Input[str] start_ip_address: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses.\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        if ((end_ip_address is None) and (not opts.urn)):
            raise TypeError("Missing required property 'end_ip_address'")
        __props__['end_ip_address'] = end_ip_address
        __props__['firewall_rule_name'] = firewall_rule_name
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        if ((server_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'server_name'")
        __props__['server_name'] = server_name
        if ((start_ip_address is None) and (not opts.urn)):
            raise TypeError("Missing required property 'start_ip_address'")
        __props__['start_ip_address'] = start_ip_address
        __props__['kind'] = None
        __props__['location'] = None
        __props__['name'] = None
        __props__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:sql/latest:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20140401:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20150501preview:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20200202preview:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20200801preview:FirewallRule')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(FirewallRule, __self__).__init__('azure-nextgen:sql:FirewallRule', resource_name, __props__, opts)
Represents a server firewall rule.
API Version: 2014-04-01.

:param str resource_name: The name of the resource.
:param pulumi.ResourceOptions opts: Options for the resource.
:param pulumi.Input[str] end_ip_address: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses.
:param pulumi.Input[str] firewall_rule_name: The name of the firewall rule.
:param pulumi.Input[str] resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
:param pulumi.Input[str] server_name: The name of the server.
:param pulumi.Input[str] start_ip_address: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses.
def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, end_ip_address: Optional[pulumi.Input[str]]=None, firewall_rule_name: Optional[pulumi.Input[str]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, server_name: Optional[pulumi.Input[str]]=None, start_ip_address: Optional[pulumi.Input[str]]=None, __props__=None, __name__=None, __opts__=None):
    "\n        Represents a server firewall rule.\n        API Version: 2014-04-01.\n\n        :param str resource_name: The name of the resource.\n        :param pulumi.ResourceOptions opts: Options for the resource.\n        :param pulumi.Input[str] end_ip_address: The end IP address of the firewall rule. Must be IPv4 format. Must be greater than or equal to startIpAddress. Use value '0.0.0.0' to represent all Azure-internal IP addresses.\n        :param pulumi.Input[str] firewall_rule_name: The name of the firewall rule.\n        :param pulumi.Input[str] resource_group_name: The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.\n        :param pulumi.Input[str] server_name: The name of the server.\n        :param pulumi.Input[str] start_ip_address: The start IP address of the firewall rule. Must be IPv4 format. Use value '0.0.0.0' to represent all Azure-internal IP addresses.\n        "
    if (__name__ is not None):
        warnings.warn('explicit use of __name__ is deprecated', DeprecationWarning)
        resource_name = __name__
    if (__opts__ is not None):
        warnings.warn("explicit use of __opts__ is deprecated, use 'opts' instead", DeprecationWarning)
        opts = __opts__
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = dict()
        if ((end_ip_address is None) and (not opts.urn)):
            raise TypeError("Missing required property 'end_ip_address'")
        __props__['end_ip_address'] = end_ip_address
        __props__['firewall_rule_name'] = firewall_rule_name
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__['resource_group_name'] = resource_group_name
        if ((server_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'server_name'")
        __props__['server_name'] = server_name
        if ((start_ip_address is None) and (not opts.urn)):
            raise TypeError("Missing required property 'start_ip_address'")
        __props__['start_ip_address'] = start_ip_address
        __props__['kind'] = None
        __props__['location'] = None
        __props__['name'] = None
        __props__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:sql/latest:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20140401:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20150501preview:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20200202preview:FirewallRule'), pulumi.Alias(type_='azure-nextgen:sql/v20200801preview:FirewallRule')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(FirewallRule, __self__).__init__('azure-nextgen:sql:FirewallRule', resource_name, __props__, opts)