Sha256: 750e330696cd8549d73969e58d1f5ac541d27b79479ac02c75489a71286d951f

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

require "resources/azure/azure_backend"
require "inspec/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 = {})
      Inspec.deprecate(:resource_azure_generic_resource)

      # 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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
inspec-4.7.3 lib/resources/azure/azure_generic_resource.rb
inspec-4.6.9 lib/resources/azure/azure_generic_resource.rb
inspec-4.6.4 lib/resources/azure/azure_generic_resource.rb
inspec-4.6.3 lib/resources/azure/azure_generic_resource.rb