diff --git a/libraries/azure_backend.rb b/libraries/azure_backend.rb index 3ab4c984c..4855cb73b 100644 --- a/libraries/azure_backend.rb +++ b/libraries/azure_backend.rb @@ -433,13 +433,6 @@ def catch_failed_resource_queries resource_fail(message) end - # Track the status of the resource at InSpec Azure resource pack level. - # - # @return [TrueClass, FalseClass] Whether the resource is failed or not. - def failed_resource? - @failed_resource ||= false - end - # Ensure required parameters have been set to perform backend operations. # # Some resources may require several parameters to be set, in which case use `required`. diff --git a/libraries/azure_generic_resource.rb b/libraries/azure_generic_resource.rb index ee1fcd970..b2d62efe0 100644 --- a/libraries/azure_generic_resource.rb +++ b/libraries/azure_generic_resource.rb @@ -137,4 +137,11 @@ def resource_group res_group, _provider, _res_type = Helpers.res_group_provider_type_from_uri(id) res_group end + + # Track the status of the resource at InSpec Azure resource pack level. + # + # @return [TrueClass, FalseClass] Whether the resource is failed or not. + def failed_resource? + @failed_resource ||= false + end end diff --git a/libraries/azure_graph_generic_resource.rb b/libraries/azure_graph_generic_resource.rb index 563fb13f1..1ae689377 100644 --- a/libraries/azure_graph_generic_resource.rb +++ b/libraries/azure_graph_generic_resource.rb @@ -76,4 +76,11 @@ def to_s(class_name = nil) "#{class_name.name.split('_').map(&:capitalize).join(' ')} #{api_info}: #{@display_name}" end end + + # Track the status of the resource at InSpec Azure resource pack level. + # + # @return [TrueClass, FalseClass] Whether the resource is failed or not. + def failed_resource? + @failed_resource ||= false + end end diff --git a/libraries/azure_graph_generic_resources.rb b/libraries/azure_graph_generic_resources.rb index 006a9a884..35fb4f041 100644 --- a/libraries/azure_graph_generic_resources.rb +++ b/libraries/azure_graph_generic_resources.rb @@ -126,4 +126,12 @@ def self.populate_filter_table(raw_data, table_scheme) end filter_table.install_filter_methods_on_resource(self, raw_data) end + + # Return the InSpec level resource failure. + # This is a diversion from singular resources + # since an empty response from API should not be considered as failure. + # FilterTable will respond properly when it is an empty response. + def failed_resource? + resource_failed? + end end