Module: Inspec

Defined in:
lib/inspec/errors.rb,
lib/inspec/ui.rb,
lib/inspec/log.rb,
lib/inspec/rule.rb,
lib/inspec/shell.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/describe.rb,
lib/inspec/metadata.rb,
lib/inspec/resource.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/file_provider.rb,
lib/inspec/method_source.rb,
lib/inspec/objects/value.rb,
lib/inspec/source_reader.rb,
lib/inspec/cached_fetcher.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/runtime_profile.rb,
lib/inspec/objects/describe.rb,
lib/inspec/rspec_extensions.rb,
lib/inspec/objects/attribute.rb,
lib/inspec/objects/each_loop.rb,
lib/inspec/plugin/v1/plugins.rb,
lib/inspec/attribute_registry.rb,
lib/inspec/dependencies/cache.rb,
lib/inspec/objects/ruby_helper.rb,
lib/inspec/control_eval_context.rb,
lib/inspec/library_eval_context.rb,
lib/inspec/dependencies/lockfile.rb,
lib/inspec/dependencies/resolver.rb,
lib/inspec/dependencies/requirement.rb,
lib/inspec/plugin/v1/plugin_types/cli.rb,
lib/inspec/dependencies/dependency_set.rb,
lib/inspec/plugin/v1/plugin_types/secret.rb,
lib/inspec/plugin/v1/plugin_types/fetcher.rb,
lib/inspec/plugin/v1/plugin_types/resource.rb,
lib/plugins/shared/core_plugin_test_helper.rb,
lib/inspec/plugin/v1/plugin_types/source_reader.rb,
lib/inspec/base_cli.rb

Overview

author: Dominik Richter author: Christoph Hartmann

Defined Under Namespace

Modules: Archive, Backend, DSL, DescribeDslLazyLoader, Exceptions, Formatters, Impact, MethodSource, Plugin, Plugins, Reporters, ResourceBehaviors, ResourceDSL, Resources, RubyHelper, TestDslLazyLoader Classes: Attribute, AttributeRegistry, BaseCLI, Cache, CachedFetcher, Control, ControlEvalContext, CyclicDependencyError, DependencySet, Describe, DescribeBase, DirProvider, DuplicateDep, EachLoop, EnvPrinter, Error, Expect, FetcherFailure, FetcherRegistry, FileProvider, FuncTestRunResult, ImpactError, InspecCLI, LibraryEvalContext, List, Lockfile, Log, Metadata, MockProvider, OrTest, PluginCtl, Profile, ProfileContext, ProfileNotFound, ProfileVendor, RelativeFileProvider, ReporterError, RequireLoader, Requirement, Resolver, Resource, Rule, Runner, RunnerMock, RunnerRspec, RuntimeProfile, Schema, Shell, ShellDetector, SourceReaderRegistry, Tag, TarProvider, Test, UI, UnsatisfiedVersionSpecification, UserInteractionRequired, Value, ZipProvider

Constant Summary collapse

Fetcher =
FetcherRegistry.new
SecretsBackend =
PluginRegistry.new
VERSION =
'3.2.6'
SourceReader =
SourceReaderRegistry.new

Class Method Summary collapse

Class Method Details

.config_dirObject



2
3
4
# File 'lib/inspec/globals.rb', line 2

def self.config_dir
  ENV['INSPEC_CONFIG_DIR'] ? ENV['INSPEC_CONFIG_DIR'] : File.join(Dir.home, '.inspec')
end

.fetcher(version) ⇒ Object



34
35
36
37
38
39
# File 'lib/inspec/fetcher.rb', line 34

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.



37
38
39
40
41
42
43
44
# File 'lib/inspec/plugin/v2.rb', line 37

def self.plugin(version, plugin_type = nil)
  unless version == 2
    raise 'Only plugins version 2 is supported!'
  end

  return Inspec::Plugin::V2::PluginBase if plugin_type.nil?
  Inspec::Plugin::V2::PluginBase.base_class_for_type(plugin_type)
end

.resource(version) ⇒ Resource

Retrieve the base class for creating a new resource. Create classes that inherit from this class.

Parameters:

  • version (int)

    the resource version to use

Returns:

  • (Resource)

    base class for creating a new resource



75
76
77
78
# File 'lib/inspec/resource.rb', line 75

def self.resource(version)
  validate_resource_dsl_version!(version)
  Inspec::Plugins::Resource
end

.secrets(version) ⇒ Object



10
11
12
13
14
15
# File 'lib/inspec/secrets.rb', line 10

def self.secrets(version)
  if version != 1
    raise 'Only secrets version 1 is supported!'
  end
  Inspec::Plugins::Secret
end

.source_reader(version) ⇒ Object



19
20
21
22
23
24
# File 'lib/inspec/source_reader.rb', line 19

def self.source_reader(version)
  if version != 1
    raise 'Only source readers version 1 is supported!'
  end
  Inspec::Plugins::SourceReader
end

.src_rootObject



6
7
8
# File 'lib/inspec/globals.rb', line 6

def self.src_root
  File.expand_path(File.join(__FILE__, '..', '..', '..'))
end

.validate_resource_dsl_version!(version) ⇒ Object



80
81
82
# File 'lib/inspec/resource.rb', line 80

def self.validate_resource_dsl_version!(version)
  raise 'Only resource version 1 is supported!' if version != 1
end