Module: Inspec
  
  
  
  
  
  
  
      - Extended by:
- InstallContextHelpers
    - Defined in:
- lib/inspec/cli.rb,
 lib/inspec/ui.rb,
 lib/inspec/log.rb,
 lib/inspec/dist.rb,
 lib/inspec/rule.rb,
 lib/inspec/input.rb,
 lib/inspec/input.rb,
 lib/inspec/shell.rb,
 lib/inspec/config.rb,
 lib/inspec/errors.rb,
 lib/inspec/expect.rb,
 lib/inspec/runner.rb,
 lib/inspec/schema.rb,
 lib/inspec/backend.rb,
 lib/inspec/fetcher.rb,
 lib/inspec/globals.rb,
 lib/inspec/objects.rb,
 lib/inspec/profile.rb,
 lib/inspec/secrets.rb,
 lib/inspec/version.rb,
 lib/inspec/metadata.rb,
 lib/inspec/resource.rb,
 lib/inspec/run_data.rb,
 lib/inspec/plugin/v2.rb,
 lib/inspec/plugin/v2.rb,
 lib/inspec/dsl_shared.rb,
 lib/inspec/exceptions.rb,
 lib/inspec/env_printer.rb,
 lib/inspec/objects/tag.rb,
 lib/inspec/runner_mock.rb,
 lib/inspec/objects/list.rb,
 lib/inspec/objects/test.rb,
 lib/inspec/runner_rspec.rb,
 lib/inspec/utils/parser.rb,
 lib/inspec/describe_base.rb,
 lib/inspec/file_provider.rb,
 lib/inspec/method_source.rb,
 lib/inspec/objects/input.rb,
 lib/inspec/objects/value.rb,
 lib/inspec/source_reader.rb,
 lib/inspec/cached_fetcher.rb,
 lib/inspec/input_registry.rb,
 lib/inspec/profile_vendor.rb,
 lib/inspec/require_loader.rb,
 lib/inspec/shell_detector.rb,
 lib/inspec/objects/control.rb,
 lib/inspec/objects/or_test.rb,
 lib/inspec/profile_context.rb,
 lib/inspec/run_data/result.rb,
 lib/inspec/runtime_profile.rb,
 lib/inspec/ui_table_helper.rb,
 lib/inspec/objects/describe.rb,
 lib/inspec/rspec_extensions.rb,
 lib/inspec/run_data/control.rb,
 lib/inspec/run_data/profile.rb,
 lib/inspec/schema/exec_json.rb,
 lib/inspec/input_dsl_helpers.rb,
 lib/inspec/objects/each_loop.rb,
 lib/inspec/plugin/v1/plugins.rb,
 lib/inspec/schema/primitives.rb,
 lib/inspec/dependencies/cache.rb,
 lib/inspec/objects/ruby_helper.rb,
 lib/inspec/run_data/statistics.rb,
 lib/inspec/schema/profile_json.rb,
 lib/inspec/control_eval_context.rb,
 lib/inspec/library_eval_context.rb,
 lib/inspec/schema/exec_json_min.rb,
 lib/inspec/schema/output_schema.rb,
 lib/inspec/dependencies/lockfile.rb,
 lib/inspec/dependencies/resolver.rb,
 lib/inspec/utils/install_context.rb,
 lib/inspec/dependencies/requirement.rb,
 lib/inspec/utils/deprecation/errors.rb,
 lib/inspec/plugin/v1/plugin_types/cli.rb,
 lib/inspec/utils/json_profile_summary.rb,
 lib/inspec/dependencies/dependency_set.rb,
 lib/inspec/utils/telemetry/data_series.rb,
 lib/inspec/utils/deprecation/deprecator.rb,
 lib/inspec/plugin/v1/plugin_types/secret.rb,
 lib/inspec/utils/deprecation/config_file.rb,
 lib/inspec/plugin/v1/plugin_types/fetcher.rb,
 lib/inspec/utils/telemetry/global_methods.rb,
 lib/inspec/utils/deprecation/global_method.rb,
 lib/inspec/plugin/v1/plugin_types/source_reader.rb,
 lib/inspec/base_cli.rb
 
Overview
  
    
These type occur only when running “exec –reporter json-min <file>”.
   
 
  
Defined Under Namespace
  
    
      Modules: Archive, DSL, Deprecation, DescribeDslLazyLoader, Dist, Exceptions, Fetcher, Formatters, HashLikeStruct, Impact, InputDslHelpers, InstallContextHelpers, MethodSource, Plugin, Plugins, Reporters, Resources, RubyHelper, Schema, Telemetry, TestDslLazyLoader, Utils
    
  
    
      Classes: Attribute, Backend, BaseCLI, Cache, CachedFetcher, Config, ConfigError, Control, ControlEvalContext, CyclicDependencyError, DependencySet, Describe, DescribeBase, DirProvider, DuplicateDep, EachLoop, EnvPrinter, Error, Expect, FetcherFailure, FetcherRegistry, FileProvider, ImpactError, Input, InputRegistry, InspecCLI, LibraryEvalContext, List, Lockfile, Log, Metadata, MockProvider, OrTest, PluginCtl, Profile, ProfileContext, ProfileNotFound, ProfileVendor, RelativeFileProvider, ReporterError, RequireLoader, Requirement, Resolver, Resource, Rule, RunData, Runner, RunnerMock, RunnerRspec, RuntimeProfile, Shell, ShellDetector, SourceReaderRegistry, Tag, TarProvider, Test, UI, UnsatisfiedVersionSpecification, UserInteractionRequired, Value, ZipProvider
    
  
  
    
      Constant Summary
      collapse
    
    
      
        - SecretsBackend =
          
        
- PluginRegistry.new 
- VERSION =
          
        
- "4.20.6".freeze 
- SourceReader =
          
        
- SourceReaderRegistry.new 
      Class Method Summary
      collapse
    
    
  
  
  
  
  
  
  
  
  
  
  guess_install_context
  
    Class Method Details
    
      
  
  
    .config_dir  ⇒ Object 
  
  
  
  
    | 
7
8
9 | # File 'lib/inspec/globals.rb', line 7
def self.config_dir
  ENV["INSPEC_CONFIG_DIR"] ? ENV["INSPEC_CONFIG_DIR"] : File.join(Dir.home, ".inspec")
end | 
 
    
      
  
  
    .deprecate(group, msg = "", opts = {})  ⇒ Object 
  
  
  
  
    | 
4
5
6
7
8 | # File 'lib/inspec/utils/deprecation/global_method.rb', line 4
def self.deprecate(group, msg = "", opts = {})
  config_io = opts.delete(:config_io)
  deprecator = Inspec::Deprecation::Deprecator.new(config_io: config_io)
  deprecator.handle_deprecation(group, msg, opts)
end | 
 
    
      
  
  
    .fetcher(version)  ⇒ Object 
  
  
  
  
    | 
33
34
35
36
37
38
39 | # File 'lib/inspec/fetcher.rb', line 33
def self.fetcher(version)
  if version != 1
    raise "Only fetcher version 1 is supported!"
  end
  Inspec::Plugins::Fetcher
end | 
 
    
      
  
  
    .plugin(version, plugin_type = nil)  ⇒ Object 
  
  
  
  
    
Provides the base class that plugin implementors should use.
   
 
  
 
    
      
  
  
    .record_telemetry_data(data_series_name, data_point = nil)  ⇒ Object 
  
  
  
  
    
A Global method to add a data series object to the Telemetry Collection. ‘data_series_name`s are unique, so `:dependency_group` will always return the same object. `data_point` is optional, you may also supply a block with several data points. All data points should allow #to_s
   
 
  
  
    | 
9
10
11
12
13
14
15
16
17
18
19
20
21 | # File 'lib/inspec/utils/telemetry/global_methods.rb', line 9
def self.record_telemetry_data(data_series_name, data_point = nil)
  coll = Inspec::Telemetry::Collector.instance
  return unless coll.telemetry_enabled?
  ds = coll.find_or_create_data_series(data_series_name)
  return unless ds.enabled?
  if block_given?
    ds << yield
  else
    ds << data_point
  end
end | 
 
    
      
  
  
    .resource(version)  ⇒ Resource 
  
  
  
  
    
Retrieve the base class for creating a new resource. Create classes that inherit from this class.
   
 
  
    | 
241
242
243
244 | # File 'lib/inspec/resource.rb', line 241
def self.resource(version)
  validate_resource_dsl_version!(version)
  Inspec::Resource
end | 
 
    
      
  
  
    .secrets(version)  ⇒ Object 
  
  
  
  
    | 
6
7
8
9
10
11
12 | # File 'lib/inspec/secrets.rb', line 6
def self.secrets(version)
  if version != 1
    raise "Only secrets version 1 is supported!"
  end
  Inspec::Plugins::Secret
end | 
 
    
      
  
  
    .source_reader(version)  ⇒ Object 
  
  
  
  
    | 
16
17
18
19
20
21
22 | # File 'lib/inspec/source_reader.rb', line 16
def self.source_reader(version)
  if version != 1
    raise "Only source readers version 1 is supported!"
  end
  Inspec::Plugins::SourceReader
end | 
 
    
      
  
  
    .src_root  ⇒ Object 
  
  
  
  
    | 
11
12
13 | # File 'lib/inspec/globals.rb', line 11
def self.src_root
  @src_root ||= File.expand_path(File.join(__FILE__, "../../.."))
end | 
 
    
      
  
  
    .validate_resource_dsl_version!(version)  ⇒ Object 
  
  
  
  
    | 
246
247
248 | # File 'lib/inspec/resource.rb', line 246
def self.validate_resource_dsl_version!(version)
  raise "Only resource version 1 is supported!" if version != 1
end |