securitycenter-go: github.com/AustinDizzy/securitycenter-go Index | Files

package sc

import "github.com/AustinDizzy/securitycenter-go"

Index

Package Files

api.go asset.go asset_template.go auth.go group.go lce.go organization.go repository.go role.go scan_policy.go scanner.go status.go types.go user.go utils.go zone.go

Variables

var (
    // SkipSSLVerify sets http.Client to skip SSL verification, useful for testing
    // in development environments without valid certificates
    SkipSSLVerify = false
    // TimeoutDuration is the default number of seconds to wait before requests to
    // SecurityCenter will timeout.
    TimeoutDuration = 90
    // Proxy URL for client connections. Supports HTTP, HTTPS, and SOCKS.
    Proxy *url.URL
    // Verbose truthfulness used to determine whether to log HTTP requests to Stdout
    Verbose = false
)

type AssetTemplate Uses

type AssetTemplate struct {
    ID          int              `json:"id" sc:"id"`
    Name        string           `json:"name" sc:"name"`
    Description string           `json:"description" sc:"description"`
    Summary     string           `json:"summary" sc:"summary"`
    Type        string           `json:"type" sc:"type"`
    Category    TemplateCategory `json:"category" sc:"category"`
    Definition  struct {
        Rules           assetTemplateDefinitionRules `json:"rules" sc:"rules"`
        AssetDataFields []map[string]interface{}
    }   `json:"definition" sc:"definition"`
    AssetType             string              `json:"assetType" sc:"assetType"`
    Enabled               bool                `json:"-" sc:"enabled"`
    EnabledStr            string              `json:"enabled"`
    MinUpgradeVersion     string              `json:"minUpgradeVersion"`
    TemplatePubTime       time.Time           `json:"-" sc:"templatePubTime"`
    TemplatePubTimeStr    string              `json:"templatePubTime"`
    TemplateModTime       time.Time           `json:"-" sc:"templateModTime"`
    TemplateModTimeStr    string              `json:"templateModTime"`
    TemplateDefModTime    time.Time           `json:"-" sc:"templateDefModTime"`
    TemplateDefModTimeStr string              `json:"templateDefModTime"`
    DefinitionModTime     time.Time           `json:"-" sc:"definitionModTime"`
    DefinitionModTimeStr  string              `json:"definitionModTime"`
    CreatedTime           time.Time           `json:"-" sc:"createdTime"`
    CreatedTimeStr        string              `json:"createdTime"`
    ModifiedTime          time.Time           `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr       string              `json:"modifiedTime"`
    Tags                  []string            `json:"tags" sc:"tags"`
    Requirements          []map[string]string `json:"requirements" sc:"requirements"`
}

AssetTemplate https://docs.tenable.com/sccv/api/Asset-Template.html

type Group Uses

type Group struct {
    ID              string       `json:"id"`
    Name            string       `json:"name"`
    Description     string       `json:"description"`
    UserCount       int          `json:"userCount"`
    Users           []User       `json:"users"`
    CreatedTimeStr  string       `json:"createdTime"`
    CreatedTime     time.Time    `json:"-" sc:"createdTime"`
    ModifiedTimeStr string       `json:"modifiedTime"`
    ModifiedTime    time.Time    `json:"-" sc:"modifiedTime"`
    LCEs            []LCE        `json:"lces" sc:"lces"`
    Repositories    []Repository `json:"repositories" sc:"repositories"`
    DefiningAssets  []Asset      `json:"definingAssets" sc:"definingAssets"`
    Assets          []Asset      `json:"assets" sc:"assets"`
    Policies        []Policy     `json:"policies" sc:"policies"`
}

Group is the application group located within SecurityCenter

type LCE Uses

type LCE struct {
    ID                string         `json:"id" sc:"id"`
    Name              string         `json:"name" sc:"name"`
    Description       string         `json:"description" sc:"description"`
    IP                net.IP         `json:"-" sc:"ip"`
    IPStr             string         `json:"ip"`
    NTPIP             net.IP         `json:"-" sc:"ntpIP"`
    NTPIPStr          string         `json:"ntpIP"`
    Port              string         `json:"port" sc:"port"`
    Username          string         `json:"username" sc:"username"`
    Password          string         `json:"password" sc:"password"`
    ManagedRanges     string         `json:"managedRanges" sc:"managedRanges"`
    Version           string         `json:"version" sc:"version"`
    DownloadVulnsStr  string         `json:"downloadVulns"`
    DownloadVulns     bool           `json:"-" sc:"downloadVulns"`
    Status            string         `json:"status" sc:"status"`
    VulnStatus        string         `json:"vulnStatus" sc:"vulnStatus"`
    LastReportTime    time.Time      `json:"-" sc:"lastReportTime"`
    LastReportTimeStr string         `json:"lastReportTime"`
    CreatedTime       time.Time      `json:"-" sc:"createdTime"`
    CreatedTimeStr    string         `json:"createdTime"`
    ModifiedTime      time.Time      `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr   string         `json:"modifiedTime"`
    Organizations     []Organization `json:"organizations" sc:"organizations"`
    CanUse            bool           `json:"-" sc:"canUse"`
    CanUseStr         string         `json:"canUse"`
    CanManage         bool           `json:"-" sc:"canManage"`
    CanManageStr      string         `json:"canManage"`
}

LCE https://docs.tenable.com/sccv/api/LCE.html

type Organization Uses

type Organization struct {
    ID                string              `json:"id" sc:"id"`
    Name              string              `json:"name" sc:"name"`
    Description       string              `json:"description" sc:"description"`
    Email             string              `json:"email" sc:"email"`
    Address           string              `json:"address" sc:"address"`
    City              string              `json:"city" sc:"city"`
    State             string              `json:"state" sc:"state"`
    Country           string              `json:"country" sc:"country"`
    Phone             string              `json:"phone" sc:"phone"`
    Fax               string              `json:"fax" sc:"fax"`
    IPinfoLinks       []map[string]string `json:"ipInfoLinks" sc:"ipInfoLinks"`
    ZoneSelection     string              `json:"zoneSelection" sc:"zoneSelection"`
    RestrictedIPs     string              `json:"restrictedIPs" sc:"restrictedIPs"`
    VulnScoreLow      string              `json:"vulnScoreLow" sc:"vulnScoreLow"`
    VulnScoreMedium   string              `json:"vulnScoreMedium" sc:"vulnScoreMedium"`
    VulnScoreHigh     string              `json:"vulnScoreHigh" sc:"vulnScoreHigh"`
    VulnScoreCritical string              `json:"vulnScoreCritical" sc:"vulnScoreCritical"`
    CreatedTime       time.Time           `json:"-" sc:"createdTime"`
    CreatedTimeStr    string              `json:"createdTime"`
    ModifiedTime      time.Time           `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr   string              `json:"modifiedTime"`
    UserCount         int                 `json:"-" sc:"userCount"`
    UserCountStr      string              `json:"userCount"`
    LCEs              []LCE               `json:"lces" sc:"lces"`
}

Organization https://docs.tenable.com/sccv/api/Organization.html

type Policy Uses

type Policy struct {
    ID              string    `json:"id" sc:"id"`
    Name            string    `json:"name" sc:"name"`
    Status          string    `json:"status" sc:"status"`
    Description     string    `json:"description" sc:"description"`
    CanUseStr       string    `json:"canUse"`
    CanUse          bool      `json:"-" sc:"canUse"`
    CanManageStr    string    `json:"canManage"`
    CanManage       bool      `json:"-" sc:"canManage"`
    CreatedTime     time.Time `json:"-" sc:"createdTime"`
    CreatedTimeStr  string    `json:"createdTime"`
    ModifiedTime    time.Time `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr string    `json:"modifiedTime"`
    Owner           User      `json:"owner" sc:"owner"`
    OwnerGroup      Group     `json:"ownerGroup" sc:"ownerGroup"`
    Groups          []Group   `json:"groups" sc:"groups"`
}

Policy https://docs.tenable.com/sccv/api/Scan-Policy.html

type Repository Uses

type Repository struct {
    ID                string               `json:"id" sc:"id"`
    Name              string               `json:"name" sc:"name"`
    Description       string               `json:"description" sc:"description"`
    Type              string               `json:"type" sc:"type"`
    DataFormat        string               `json:"dataFormat" sc:"dataFormat"`
    VulnCount         int                  `json:"-" sc:"vulnCount"`
    VulnCountStr      string               `json:"vulnCount"`
    RemoteID          string               `json:"remoteID" sc:"remoteID"`
    RemoteIP          string               `json:"remoteIP" sc:"remoteIP"`
    IsRunning         bool                 `json:"-" sc:"running"`
    Running           string               `json:"running"`
    DownloadFormat    string               `json:"downloadFormat" sc:"downloadFormat"`
    LastSyncTime      time.Time            `json:"-" sc:"lastSyncTime"`
    LastSyncTimeStr   string               `json:"lastSyncTime"`
    LastVulnUpdate    time.Time            `json:"-" sc:"lastVulnUpdate"`
    LastVulnUpdateStr string               `json:"lastVulnUpdate"`
    CreatedTime       time.Time            `json:"-" sc:"createdTime"`
    CreatedTimeStr    string               `json:"createdTime"`
    ModifiedTime      time.Time            `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr   string               `json:"modifiedTime"`
    Organizations     []Organization       `json:"organization" sc:"organizations"`
    TypeFields        repositoryTypeFields `json:"typeFields" sc:"typeFields"`
}

Repository https://docs.tenable.com/sccv/api/Repository.html

type Request Uses

type Request struct {
    // contains filtered or unexported fields
}

Request is the request factory for raw requests to SC

func (*Request) Do Uses

func (r *Request) Do() (*Response, error)

Do does the http request prepared from Request r, returning a Response and an error if there was one

type Response Uses

type Response struct {
    // Status code of the HTTP request made
    Status int
    // URL of the HTTP request made
    URL string
    // Data response from the API in simplejson/json format
    Data *simplejson.Json
    // RespBody is the []byte of the API response body
    RespBody []byte
    // HTTPResp is the raw net/http request for easy request customizations
    HTTPResp *http.Response
}

Response is the result returned from a raw request to SC

type Role Uses

type Role struct {
    ID                           string              `json:"id" sc:"id"`
    Name                         string              `json:"name" sc:"name"`
    Description                  string              `json:"description" sc:"description"`
    Creator                      User                `json:"creator" sc:"creator"`
    CreatedTime                  time.Time           `json:"-" sc:"createdTime"`
    CreatedTimeStr               string              `json:"createdTime"`
    ModifiedTime                 time.Time           `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr              string              `json:"modifiedTime"`
    PermManageApp                string              `json:"permManageApp"`
    PermManageGroups             string              `json:"permManageGroups"`
    PermManageRoles              string              `json:"permManageRoles"`
    PermManageImages             string              `json:"permManageImages"`
    PermManageGroupRelationships string              `json:"permManageGroupRelationships"`
    PermManageBlackoutWindows    string              `json:"permManageBlackoutWindows"`
    PermManageAttributeSets      string              `json:"permManageAttributeSets"`
    PermCreateTickets            string              `json:"permCreateTickets"`
    PermCreateAlerts             string              `json:"permCreateAlerts"`
    PermCreateAuditFiles         string              `json:"permCreateAuditFiles"`
    PermCreateLDAPAssets         string              `json:"permCreateLDAPAssets"`
    PermCreatePolicies           string              `json:"permCreatePolicies"`
    PermPurgeTickets             string              `json:"permPurgeTickets"`
    PermPurgeScanResults         string              `json:"permPurgeScanResults"`
    PermPurgeReportResults       string              `json:"permPurgeReportResults"`
    PermScan                     string              `json:"permScan"`
    PermAgentScan                string              `json:"permAgentScan"`
    PermShareObjects             string              `json:"permShareObjects"`
    PermUpdateFeeds              string              `json:"permUpdateFeeds"`
    PermUploadNessusResults      string              `json:"permUploadNessusResults"`
    PermViewOrgLogs              string              `json:"permViewOrgLogs"`
    PermManageAcceptRiskRules    string              `json:"permManageAcceptRiskRules"`
    PermManageRecastRiskRules    string              `json:"permManageRecastRiskRules"`
    OrganizationCounts           []map[string]string `json:"organizationCounts" sc:"organizationCounts"`
    CanManageApp                 bool                `json:"-" sc:"permManageApp"`
    CanManageGroups              bool                `json:"-" sc:"permManageGroups"`
    CanManageRoles               bool                `json:"-" sc:"permManageRoles"`
    CanManageImages              bool                `json:"-" sc:"permManageImages"`
    CanManageGroupRelationships  bool                `json:"-" sc:"permManageGroupRelationships"`
    CanManageBlackoutWindows     bool                `json:"-" sc:"permManageBlackoutWindows"`
    CanManageAttributeSets       bool                `json:"-" sc:"permManageAttributeSets"`
    CanCreateTickets             bool                `json:"-" sc:"permCreateTickets"`
    CanCreateAlerts              bool                `json:"-" sc:"permCreateAlerts"`
    CanCreateAuditFiles          bool                `json:"-" sc:"permCreateAuditFiles"`
    CanCreateLDAPAssets          bool                `json:"-" sc:"permCreateLDAPAssets"`
    CanCreatePolicies            bool                `json:"-" sc:"permCreatePolicies"`
    CanPurgeTickets              bool                `json:"-" sc:"permPurgeTickets"`
    CanPurgeScanResults          bool                `json:"-" sc:"permPurgeScanResults"`
    CanPurgeReportResults        bool                `json:"-" sc:"permPurgeReportResults"`
    CanScan                      bool                `json:"-" sc:"permScan"`
    CanAgentScan                 bool                `json:"-" sc:"permAgentScan"`
    CanShareObjects              bool                `json:"-" sc:"permShareObjects"`
    CanUpdateFeeds               bool                `json:"-" sc:"permUpdateFeeds"`
    CanUploadNessusResults       bool                `json:"-" sc:"permUploadNessusResults"`
    CanViewOrgLogs               bool                `json:"-" sc:"permViewOrgLogs"`
    CanManageAcceptRiskRules     bool                `json:"-" sc:"permManageAcceptRiskRules"`
    CanManageRecastRiskRules     bool                `json:"-" sc:"permManageRecastRiskRules"`
}

Role https://docs.tenable.com/sccv/api/Role.html

type SC Uses

type SC struct {
    Host string
    Keys map[string]string
}

SC is the request multiplexor for various SC API requsts

func NewSC Uses

func NewSC(h string) *SC

NewSC returns a new instance of a SC request multiplexor

func (*SC) DoAuth Uses

func (sc *SC) DoAuth(username, password string) (bool, error)

DoAuth uses the supplied username and pasword to authenticate with the SecurityCenter instance and stores an authentication token and session ID in the SC multiplexor to be used with future requests. Returns a boolean regarding the success or failure of the authentication attempt, along with an error if there was one.

func (*SC) GetCurrentUser Uses

func (sc *SC) GetCurrentUser(fields ...string) (*User, error)

GetCurrentUser returns the current user authenticated with the SC instance, using /rest/currentUser endpoint response, with the optionally user-supplied or default user fields

func (*SC) GetPolicies Uses

func (sc *SC) GetPolicies(fields ...string) ([]Policy, error)

GetPolicies gets a list of policies with the optionally user-supplied fields and an error if there was one

func (*SC) GetPolicy Uses

func (sc *SC) GetPolicy(id int, fields ...string) (*Policy, error)

GetPolicy gets the policy associated with the supplied id

func (*SC) GetRole Uses

func (sc *SC) GetRole(id int, fields ...string) (*Role, error)

GetRole returns the role in associated with the supplied id and the optionally user-supplied fields, including an error if there was one

func (*SC) GetRoles Uses

func (sc *SC) GetRoles(fields ...string) ([]Role, error)

GetRoles gets the list of roles with the optionally user-supplied fields and an error if there was one

func (*SC) GetStatus Uses

func (sc *SC) GetStatus(fields ...string) (*Status, error)

GetStatus returns the current SecurityCenter status including license information

func (*SC) GetUser Uses

func (sc *SC) GetUser(id int, fields ...string) (*User, error)

GetUser returns the user in the default organization with the supplied user id and the optionally user-supplied or default user fields

func (*SC) GetUserFromOrg Uses

func (sc *SC) GetUserFromOrg(id, orgID int, fields ...string) (*User, error)

GetUserFromOrg returns the user in the organization with the user-supplied orgID and user id and the optionally user-supplied or default user fields

func (*SC) GetUsers Uses

func (sc *SC) GetUsers(fields ...string) ([]User, error)

GetUsers returns the users in the current organization with the optionally user-supplied or default user fields

func (*SC) GetUsersFromOrg Uses

func (sc *SC) GetUsersFromOrg(orgID int, fields ...string) ([]User, error)

GetUsersFromOrg returns the users in the organization with the user-supplied orgID and the optionally user-supplied or default user fields

func (*SC) GetZones Uses

func (sc *SC) GetZones(fields ...string) ([]Zone, error)

GetZones retrieves a slice of Zones with either the user-supplied fields or their default values

func (*SC) HasAuth Uses

func (sc *SC) HasAuth() bool

HasAuth returns true if the SC multiplexor has valid authentication information

func (*SC) NewRequest Uses

func (sc *SC) NewRequest(method, path string, data ...map[string]interface{}) *Request

NewRequest creates a new Request

func (*SC) WithAuth Uses

func (sc *SC) WithAuth(session, token string) *SC

WithAuth authenticates the SC instance with the user-supplied session and tokens. Note this does nothing to validate the supplied session and token are valid.

type Scanner Uses

type Scanner struct {
    ID                string    `json:"id" sc:"id"`
    Name              string    `json:"name" sc:"name"`
    Description       string    `json:"description" sc:"description"`
    Status            string    `json:"status" sc:"status"`
    IP                net.IP    `json:"-" sc:"ip"`
    IPStr             string    `json:"ip"`
    Port              int       `json:"-" sc:"port"`
    PortStr           string    `json:"port"`
    UseProxy          bool      `json:"-" sc:"useProxy"`
    UseProxyStr       string    `json:"useProxy"`
    Enabled           bool      `json:"-" sc:"enabled"`
    EnabledStr        string    `json:"enabled"`
    VerifyHost        bool      `json:"-" sc:"verifyHost"`
    VerifyHostStr     string    `json:"verifyHost"`
    ManagePlugins     bool      `json:"-" sc:"managePlugins"`
    ManagePluginsStr  string    `json:"managePlugins"`
    AuthType          string    `json:"authType" sc:"authType"`
    Username          string    `json:"username" sc:"username"`
    Password          string    `json:"password" sc:"password"`
    Admin             bool      `json:"-" sc:"admin"`
    AdminStr          string    `json:"admin"`
    MSP               bool      `json:"-" sc:"msp"`
    MSPStr            string    `json:"msp"`
    NumScans          int       `json:"-" sc:"numScans"`
    NumScansStr       string    `json:"numScans"`
    NumHosts          int       `json:"-" sc:"numHosts"`
    NumHostsStr       string    `json:"numHosts"`
    NumSessions       int       `json:"-" sc:"numSessions"`
    NumSessionsStr    string    `json:"numSessions"`
    NumTCPSessions    int       `json:"-" sc:"numTCPSessions"`
    NumTCPSessionsStr string    `json:"numTCPSessions"`
    CreatedTime       time.Time `json:"-" sc:"createdTime"`
    CreatedTimeStr    string    `json:"createdTime"`
    ModifedTime       time.Time `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr   string    `json:"modifiedTime"`
    Zones             []Zone    `json:"zones" sc:"zones"`
}

Scanner https://docs.tenable.com/sccv/api/Scanner.html

type Status Uses

type Status struct {
    Jobd                            string                   `json:"jobd" sc:"jobd"`
    LicenseStatus                   string                   `json:"licenseStatus" sc:"licenseStatus"`
    PluginSubscriptionStatus        string                   `json:"PluginSubscriptionStatus" sc:"PluginSubscriptionStatus"`
    LCEPluginSubscriptionStatus     string                   `json:"LCEPluginSubscriptionStatus" sc:"LCEPluginSubscriptionStatus"`
    PassivePluginSubscriptionStatus string                   `json:"PassivePluginSubscriptionStatus" sc:"PassivePluginSubscriptionStatus"`
    PluginUpdates                   map[string]*statusUpdate `json:"pluginUpdates" sc:"pluginUpdates"`
    FeedUpdates                     statusUpdate             `json:"feedUpdates" sc:"feedUpdates"`
    ActiveIPs                       int                      `json:"-" sc:"activeIPs"`
    ActiveIPsStr                    string                   `json:"activeIPs"`
    LicensedIPs                     int                      `json:"-" sc:"licensedIPs"`
    LicensedIPsStr                  string                   `json:"licensedIPs"`
    NoLCEs                          bool                     `json:"-" sc:"noLCEs"`
    NoLCEsStr                       string                   `json:"noLCEs"`
    NoReps                          bool                     `json:"-" sc:"noReps"`
    NoRepsStr                       string                   `json:"noReps"`
    Zones                           []Zone                   `json:"zones" sc:"zones"`
}

Status https://docs.tenable.com/sccv/api/Status.html

type TemplateCategory Uses

type TemplateCategory struct {
    ID          string `json:"id" sc:"id"`
    Name        string `json:"name" sc:"name"`
    Description string `json:"description" sc:"description"`
    CountStr    string `json:"count"`
    Count       int    `json:"-" sc:"count"`
    Status      string `json:"status" sc:"status"`
}

TemplateCategory https://docs.tenable.com/sccv/api/Asset-Template.html#AssetTemplateRESTReference-/assetTemplate/categories

type User Uses

type User struct {
    ID                    string                 `json:"id" sc:"id"`
    Status                string                 `json:"status" sc:"status"`
    Username              string                 `json:"username" sc:"username"`
    LdapUsername          string                 `json:"ldapUsername" sc:"ldapUsername"`
    FirstName             string                 `json:"firstname" sc:"firstname"`
    LastName              string                 `json:"lastname" sc:"lastname"`
    Title                 string                 `json:"title" sc:"title"`
    Email                 string                 `json:"email" sc:"email"`
    Address               string                 `json:"address" sc:"address"`
    City                  string                 `json:"city" sc:"city"`
    State                 string                 `json:"state" sc:"state"`
    Country               string                 `json:"country" sc:"country"`
    Phone                 string                 `json:"phone" sc:"phone"`
    Fax                   string                 `json:"fax" sc:"fax"`
    CreatedTime           time.Time              `json:"-" sc:"createdTime"`
    CreatedTimeStr        string                 `json:"createdTime"`
    ModifiedTime          time.Time              `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr       string                 `json:"modifiedTime"`
    LastLogin             time.Time              `json:"-" sc:"lastLogin"`
    LastLoginStr          string                 `json:"lastLogin"`
    LastLoginIP           net.IP                 `json:"-" sc:"lastLoginIP"`
    LastLoginIPStr        string                 `json:"lastLoginIP"`
    MustChangePassword    bool                   `json:"-" sc:"mustChangePassword"`
    MustChangePasswordStr string                 `json:"mustChangePassword"`
    IsLocked              bool                   `json:"-" sc:"locked"`
    Locked                string                 `json:"locked"`
    FailedLogins          string                 `json:"failedLogins" sc:"failedLogins"`
    AuthType              string                 `json:"authType" sc:"authType"`
    Fingerprint           string                 `json:"fingerprint" sc:"fingerprint"`
    Password              string                 `json:"password" sc:"password"`
    ManagedUsersGroups    []Group                `json:"managedUsersGroups" sc:"managedUsersGroups"`
    ManagedObjectsGroups  []userPropStr          `json:"managedObjectsGroups" sc:"managedObjectsGroups"`
    UserPreferences       []userPref             `json:"userPrefs" sc:"userPrefs"`
    Preferences           []userPref             `json:"preferences" sc:"preferences"`
    CanUse                bool                   `json:"canUse" sc:"canUse"`
    CanManage             bool                   `json:"canManage" sc:"canManage"`
    Role                  userPropStr            `json:"role" sc:"role"`
    ResponsibleAsset      userPropInt            `json:"responsibleAsset" sc:"responsibleAsset"`
    Organization          userPropStr            `json:"organization" sc:"organization"`
    Group                 Group                  `json:"group" sc:"group"`
    Ldap                  map[string]interface{} `json:"ldap" sc:"ldap"`
}

User https://docs.tenable.com/sccv/api/User.html

func (*User) String Uses

func (u *User) String() string

type Zone Uses

type Zone struct {
    ID              string       `json:"id" sc:"id"`
    Name            string       `json:"name" sc:"name"`
    Description     string       `json:"description" sc:"description"`
    Status          string       `json:"status" sc:"status"`
    IPList          []*net.IPNet `json:"-" sc:"ipList"`
    IPListStr       string       `json:"ipList"`
    CreatedTime     time.Time    `json:"-" sc:"createdTime"`
    CreatedTimeStr  string       `json:"createdTime"`
    ModifiedTime    time.Time    `json:"-" sc:"modifiedTime"`
    ModifiedTimeStr string       `json:"modifiedTime"`
    Scanners        []Scanner    `json:"scanners" sc:"scanners"`
    ActiveScanners  int          `json:"activeScanners" sc:"activeScaners"`
    TotalScanners   int          `json:"totalScanners" sc:"totalScanners"`
}

Zone https://docs.tenable.com/sccv/api/Scan-Zone.html

Package sc imports 15 packages (graph). Updated 2019-02-08. Refresh now. Tools for package owners.