Class: Tenable::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/tenable/client.rb

Overview

Primary entry point for the Tenable.io API.

Examples:

Basic usage

client = Tenable::Client.new(access_key: "ak", secret_key: "sk")
client.vulnerabilities.list

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeClient

Creates a new Tenable API client.

Examples:

client = Tenable::Client.new(
  access_key: "your-access-key",
  secret_key: "your-secret-key",
  timeout: 60
)

Parameters:

Raises:

  • (ArgumentError)

    if required credentials are missing or options are invalid



46
47
48
49
50
51
52
53
54
55
# File 'lib/tenable/client.rb', line 46

def initialize(**)
  @configuration = Configuration.new(**)
  connection = Connection.new(@configuration)
  @vulnerabilities = Resources::Vulnerabilities.new(connection)
  @exports = Resources::Exports.new(connection)
  @asset_exports = Resources::AssetExports.new(connection)
  @scans = Resources::Scans.new(connection)
  @web_app_scans = Resources::WebAppScans.new(connection)
  freeze
end

Instance Attribute Details

#asset_exportsResources::AssetExports (readonly)



20
21
22
# File 'lib/tenable/client.rb', line 20

def asset_exports
  @asset_exports
end

#configurationConfiguration (readonly)

Returns the client configuration.

Returns:



11
12
13
# File 'lib/tenable/client.rb', line 11

def configuration
  @configuration
end

#exportsResources::Exports (readonly)

Returns:



17
18
19
# File 'lib/tenable/client.rb', line 17

def exports
  @exports
end

#scansResources::Scans (readonly)

Returns:



23
24
25
# File 'lib/tenable/client.rb', line 23

def scans
  @scans
end

#vulnerabilitiesResources::Vulnerabilities (readonly)



14
15
16
# File 'lib/tenable/client.rb', line 14

def vulnerabilities
  @vulnerabilities
end

#web_app_scansResources::WebAppScans (readonly)



26
27
28
# File 'lib/tenable/client.rb', line 26

def web_app_scans
  @web_app_scans
end