inspec/lib/resources/azure/azure_generic_resource.rb
Clinton Wolfe 8683c54510 Update core resources with filtertable API changes (#3117)
* Search and replace filtertable methods to use new names, and rely on automatic methods
* Remove spurious exists? matchers - see https://relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/exist-matcher
* Revert removing exists? - we'll do it on a separate PR
* Gah, didn't save before resolving conflict
* Add back name column on aws cloudtrail trails

Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
2018-06-26 15:14:21 -04:00

57 lines
1.5 KiB
Ruby

# encoding: utf-8
require 'resources/azure/azure_backend'
require 'utils/filter'
module Inspec::Resources
class AzureGenericResource < AzureResourceBase
name 'azure_generic_resource'
desc '
Inspec Resource to interrogate any Resource type in Azure
'
supports platform: 'azure'
attr_accessor :filter, :total, :counts, :name, :type, :location, :probes
def initialize(opts = {})
warn "[DEPRECATED] use a specific azure resources instead of 'azure_generic_resource'. See https://github.com/inspec/inspec/issues/3131"
# Call the parent class constructor
super(opts)
# Get the resource group
resource_group
# Get the resources
resources
# Create the tag methods
create_tag_methods
end
# Define the filter table so that it can be interrogated
@filter = FilterTable.create
@filter.register_filter_method(:contains)
.register_column(:type, field: 'type')
.register_column(:name, field: 'name')
.register_column(:location, field: 'location')
.register_column(:properties, field: 'properties')
@filter.install_filter_methods_on_resource(self, :probes)
def parse_resource(resource)
# return a hash of information
parsed = {
'location' => resource.location,
'name' => resource.name,
'type' => resource.type,
'exist?' => true,
'properties' => AzureResourceProbe.new(resource.properties),
}
parsed
end
end
end