Class: RuboCop::Cop::Chef::Deprecations::DeprecatedYumRepositoryProperties

Inherits:
Base
  • Object
show all
Extended by:
AutoCorrector, TargetChefVersion
Includes:
RuboCop::Chef::CookbookHelpers
Defined in:
lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb

Overview

With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the ‘yum_repository` resource were renamed. `url` -> `baseurl`, `keyurl` -> `gpgkey`, and `mirrorexpire` -> `mirror_expire`.

Examples:


### incorrect
yum_repository 'OurCo' do
  description 'OurCo yum repository'
  url 'http://artifacts.ourco.org/foo/bar'
  keyurl 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
  mirrorexpire 1440
  action :create
end

### correct
yum_repository 'OurCo' do
  description 'OurCo yum repository'
  baseurl 'http://artifacts.ourco.org/foo/bar'
  gpgkey 'http://artifacts.ourco.org/pub/yum/RPM-GPG-KEY-OURCO-6'
  mirror_expire 1440
  action :create
end

Constant Summary collapse

MSG =
'With the release of Chef Infra Client 12.14 and the yum cookbook 3.0 several properties in the yum_repository resource were renamed. url -> baseurl, keyurl -> gpgkey, and mirrorexpire -> mirror_expire.'

Instance Method Summary collapse

Methods included from TargetChefVersion

minimum_target_chef_version, required_minimum_chef_version, support_target_chef_version?

Methods included from RuboCop::Chef::CookbookHelpers

#match_property_in_resource?, #match_resource_type?, #method_arg_ast_to_string, #resource_block_name_if_string

Methods inherited from Base

#target_chef_version

Instance Method Details

#on_block(node) ⇒ Object



53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/rubocop/cop/chef/deprecation/deprecated_yum_repository_properties.rb', line 53

def on_block(node)
  %w(url keyurl mirrorexpire).each do |prop|
    match_property_in_resource?(:yum_repository, prop, node) do |prop_node|
      add_offense(prop_node, severity: :warning) do |corrector|
        corrector.replace(prop_node, prop_node.source
          .gsub(/^url/, 'baseurl')
          .gsub(/^keyurl/, 'gpgkey')
          .gsub(/^mirrorexpire/, 'mirror_expire'))
      end
    end
  end
end