<commit_before>Puppet::Type.newtype(:ospf_area) do
  @doc = %q{ OSPF area parameters

    Example:

      ospf_area { '0.0.0.0':
        default_cost       => 10,
        access_list_export => 'ACCESS_LIST_EXPORT',
        access_list_import => 'ACCESS_LIST_IPMORT',
        prefix_list_export => 'PREFIX_LIST_EXPORT',
        prefix_list_import => 'PREFIX_LIST_IMPORT',
        network            => [ '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16' ],
        shortcut           => 'default',
      }

      ospf_area { '0.0.0.1':
        stub => true,
      }

      ospf_area { '0.0.0.2':
        stub => 'no-summary',
      }
  }

  ensurable do
    newvalues(:present) do
      provider.create
    end

    newvalues(:absent) do
      provider.destroy
    end

    defaultto(:present)
  end

  newparam(:name) do
    desc %q{ OSPF area }

    block = /\d{,2}|1\d{2}|2[0-4]\d|25[0-5]/
    re = /\A#{block}\.#{block}\.#{block}\.#{block}\Z/

    newvalues(re)
  end

  newproperty(:default_cost) do
    desc %q{ Set the summary-default cost of a NSSA or stub area }

    newvalues(/\A\d+\Z/)

    munge do |value|
      value.to_i
    end
  end

  newproperty(:access_list_export) do
    desc %q{ Set the filter for networks announced to other areas }

    newvalues(/\A[[:alpha:]][\w-]+\Z/)<commit_msg>Removed the custom ensurable method<commit_after>Puppet::Type.newtype(:ospf_area) do
  @doc = %q{ OSPF area parameters

    Example:

      ospf_area { '0.0.0.0':
        default_cost       => 10,
        access_list_export => 'ACCESS_LIST_EXPORT',
        access_list_import => 'ACCESS_LIST_IPMORT',
        prefix_list_export => 'PREFIX_LIST_EXPORT',
        prefix_list_import => 'PREFIX_LIST_IMPORT',
        network            => [ '10.0.0.0/8', '172.16.0.0/12', '192.168.0.0/16' ],
        shortcut           => 'default',
      }

      ospf_area { '0.0.0.1':
        stub => true,
      }

      ospf_area { '0.0.0.2':
        stub => 'no-summary',
      }
  }

  ensurable

  newparam(:name) do
    desc %q{ OSPF area }

    block = /\d{,2}|1\d{2}|2[0-4]\d|25[0-5]/
    re = /\A#{block}\.#{block}\.#{block}\.#{block}\Z/

    newvalues(re)
  end

  newproperty(:default_cost) do
    desc %q{ Set the summary-default cost of a NSSA or stub area }

    newvalues(/\A\d+\Z/)

    munge do |value|
      value.to_i
    end
  end

  newproperty(:access_list_export) do
    desc %q{ Set the filter for networks announced to other areas }

    newvalues(/\A[[:alpha:]][\w-]+\Z/)
{'fraction_non_alphanumeric': 0.15975855130784708, 'fraction_numerical': 0.03943661971830986, 'mean_word_length': 2.1152882205513786, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 12, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '638164', 'n_tokens_mistral': 985, 'n_tokens_neox': 928, 'n_words': 178}