Fetcher JSON Output Reference
{
"project": {
"_id": "<project_id>",
// Input Related
"name": "<project_name>",
"credentials": [
{
"platform": "<platform>",
"description": "<description>",
// ...
"regions": ["<region>"],
"services": ["<service>"]
}
],
// Fetching Related
"fetchStatus": "<fetch_status>",
"fetchMessage": "<fetch_message>",
"fetchDuration": "<fetch_duration>",
"fetchLog": "<fetch_log>",
"fetchPercentage": "<fetch_percentage>",
"startTime": "<start_time>",
"endTime": "<end_time>",
// Scanning Related
"jobID": "<job_id>",
"rulesetIDs": "<ruleset_ids>",
"disabledRuleIDs": "<disabled_rule_ids>",
"disabledRules": "<disabled_rules>",
"scanIDs": "<scan_ids>",
// Data Related
"data": "<data>",
"isModified": "<is_modified>"
}
}
_id
- Type:
string
- Description: The ID of the project.
Name
- Type:
string
- Description: The name of the project.
OwnerID
- Type:
string
- Description: The ID of the owner of the project.
Credentials
- Type:
array
- Description: The credentials of the project.
- Default:
[]
- AWS
- Azure
- GCP
- AliCloud
- Type:
object
- Description: The AWS parameters for the project.
{
"description": "<description>",
"accessKeyID": "<access_key_id>",
"secretAccessKey": "<secret_access_key>",
"regions": ["<region>"],
"services": ["<service>"]
}
- Type:
array
- Description: The Azure parameters for the project.
{
"description": "<description>",
"subscriptionID": "<subscription_id>",
"clientID": "<client_id>",
"clientSecret": "<client_secret>",
"tenantID": "<tenant_id>",
"services": ["<service>"]
}
- Type:
object
- Description: The GCP parameters for the project.
{
"description": "<description>",
"projectName": "<project_name>",
"jsonKey": "<json_key>",
"services": ["<service>"]
}
- Type:
object
- Description: The AliCloud parameters for the project.
{
"description": "<description>",
"accessKeyID": "<access_key_id>",
"accessKeySecret": "<access_key_secret>",
"regions": ["<region>"],
"services": ["<service>"]
}
Fetch Status
- Type:
string
- Description: The status of the fetch.
- Default:
"Pending"
Possible values:
Pending
: Fetch Pending.Fetching
: Fetching.Completed
: Fetch Completed.Scanning
: Fetch Completed, Scanning.ScanError
: Fetch Completed, Scan Error.Error
: Fetch Error.
Fetch Message
- Type:
string
- Description: The message of the fetch.
Fetch Duration
- Type:
string
- Description: The duration of the fetch.
Fetch Log
- Type:
string
- Description: The log of the fetch.
Fetch Percentage
- Type:
number
- Description: The percentage of the fetch.
- Possible values:
0
to1
Start Time
- Type:
string
- Description: The start time of the fetch.
- Format:
RFC3339
(2024-11-02T23:37:29.29894+08:00
)
End Time
- Type:
string
- Description: The end time of the fetch.
- Format:
RFC3339
(2024-11-02T23:37:29.29894+08:00
)
JobID
- Type:
string
- Description: The ID of the job.
- Default:
null
RulesetIDs
- Type:
array
- Description: The IDs of the rulesets.
- Default:
[]
DisabledRuleIDs
- Type:
array
- Description: The IDs of the disabled rules.
- Default:
[]
DisabledRules
- Type:
array
- Description: The disabled rules.
- Default:
[]
ScanIDs
- Type:
array
- Description: The IDs of the scans.
- Default:
[]
Data
- Type:
object
- Description: The data of the fetch.
{
"aws": "<aws_data>",
"azure": "<azure_data>",
"gcp": "<gcp_data>",
"alicloud": "<ali_cloud_data>"
}
Each provider's data is in the format of map[string]interface{}
. The output is formatted using utils.OutputToMap.