Crate virustotal_rs

Crate virustotal_rs 

Source

Re-exports§

pub use analysis::Analysis;
pub use analysis::AnalysisResponse;
pub use attack_tactics::AttackTactic;
pub use attack_tactics::AttackTacticClient;
pub use attack_techniques::AttackTechnique;
pub use attack_techniques::AttackTechniqueClient;
pub use auth::ApiKey;
pub use auth::ApiTier;
pub use client::Client;
pub use client::ClientBuilder;
pub use client_utils::detect_api_tier;
pub use client_utils::ClientUtils;
pub use client_utils::EnhancedClientBuilder;
pub use client_utils::HeaderUtils;
pub use client_utils::RateLimitStatus;
pub use client_utils::RateLimiter;
pub use client_utils::RetryConfig;
pub use client_utils::TokenBucketLimiter;
pub use client_utils::COMMON_API_KEY_VARS;
pub use client_utils::DEFAULT_RETRY_ATTEMPTS;
pub use client_utils::DEFAULT_RETRY_DELAY;
pub use client_utils::DEFAULT_TIMEOUT;
pub use client_utils::PRIVATE_API_KEY_VARS;
pub use collections::Collection as IocCollection;
pub use collections::CollectionAttributes;
pub use collections::CollectionItemsRequest;
pub use collections::CollectionOrder;
pub use collections::CollectionsClient;
pub use collections::CreateCollectionRequest;
pub use collections::DomainDescriptor;
pub use collections::ExportFormat;
pub use collections::FileDescriptor;
pub use collections::IpAddressDescriptor;
pub use collections::UpdateCollectionRequest;
pub use collections::UrlDescriptor;
pub use comments::Comment;
pub use comments::CommentIterator;
pub use comments::CommentVoteType;
pub use comments::CommentsClient;
pub use comments::VoteCommentResponse;
pub use crowdsourced_yara_rules::CrowdsourcedYaraRule;
pub use crowdsourced_yara_rules::CrowdsourcedYaraRulesClient;
pub use crowdsourced_yara_rules::YaraRuleMeta;
pub use crowdsourced_yara_rules::YaraRuleOrder;
pub use display::display_options;
pub use display::format_file_size;
pub use display::format_list;
pub use display::format_reputation;
pub use display::format_table;
pub use display::format_timestamp;
pub use display::format_timestamp_relative;
pub use display::pretty_print_json;
pub use display::truncate_hash;
pub use display::truncate_text;
pub use display::DisplayDetails;
pub use display::DisplayOptions;
pub use display::DisplayStats;
pub use display::DisplayVotes;
pub use display::ThreatLevel;
pub use display::VoteConsensus;
pub use domains::Domain;
pub use domains::DomainClient;
pub use error::Error;
pub use error::Result;
pub use feeds::BehaviorContextAttributes;
pub use feeds::BehaviorFeedItem;
pub use feeds::DomainFeedItem;
pub use feeds::FeedConfig;
pub use feeds::FeedItem;
pub use feeds::FeedSubmitter;
pub use feeds::FeedsClient;
pub use feeds::IpFeedItem;
pub use feeds::UrlFeedItem;
pub use file_behaviours::FileBehaviour;
pub use file_behaviours::FileBehaviourClient;
pub use files::File;
pub use files::FileBehavior;
pub use files::FileBehaviorSummary;
pub use files::FileBehaviorSummaryResponse;
pub use files::FileClient;
pub use files::MitreTactic;
pub use files::MitreTechnique;
pub use files::MitreTrees;
pub use graphs::AddGraphCommentRequest;
pub use graphs::CreateGraphRequest;
pub use graphs::GrantPermissionRequest;
pub use graphs::Graph;
pub use graphs::GraphClient;
pub use graphs::GraphOrder;
pub use graphs::GraphOwner;
pub use graphs::GraphPermissionCheckResponse;
pub use graphs::GraphRelationshipDescriptor;
pub use graphs::GraphVisibility;
pub use graphs::PermissionDescriptor;
pub use graphs::UpdateGraphRequest;
pub use groups::AdminsResponse;
pub use groups::Group;
pub use groups::GroupApiQuota;
pub use groups::GroupAttributes;
pub use groups::GroupQuotas;
pub use groups::GroupResponse;
pub use groups::GroupUpdate;
pub use groups::GroupUpdateAttributes;
pub use groups::GroupUpdateRequest;
pub use groups::GroupsClient;
pub use groups::UserDescriptor;
pub use groups::UserListRequest;
pub use groups::UsersResponse as GroupUsersResponse;
pub use ioc_stream::EntityType;
pub use ioc_stream::HuntingInfo;
pub use ioc_stream::IocStreamClient;
pub use ioc_stream::IocStreamContext;
pub use ioc_stream::IocStreamNotification;
pub use ioc_stream::IocStreamObject;
pub use ioc_stream::IocStreamOrder;
pub use ioc_stream::NotificationSource;
pub use ioc_stream::SourceType;
pub use ip_addresses::IpAddress;
pub use ip_addresses::IpAddressClient;
pub use iterator_utils::BatchIterator;
pub use iterator_utils::CachedIterator;
pub use iterator_utils::Collectable;
pub use iterator_utils::CollectionIteratorAdapter;
pub use iterator_utils::EnhancedCollectionIterator;
pub use iterator_utils::FilteredIterator;
pub use iterator_utils::IteratorExt;
pub use iterator_utils::MappedIterator;
pub use iterator_utils::Pageable;
pub use iterator_utils::PaginatedIterator;
pub use iterator_utils::ProgressIterator;
pub use iterator_utils::ProgressStats;
pub use iterator_utils::ProgressTracker;
pub use iterator_utils::RetryIterator;
pub use iterator_utils::SkippedIterator;
pub use iterator_utils::TakeUntilIterator;
pub use iterator_utils::ThrottledIterator;
pub use livehunt::AddEditorsRequest;
pub use livehunt::CreateLivehuntRulesetRequest;
pub use livehunt::EditorDescriptor;
pub use livehunt::LivehuntClient;
pub use livehunt::LivehuntNotification;
pub use livehunt::LivehuntRuleset;
pub use livehunt::LivehuntRulesetOrder;
pub use livehunt::MatchObjectType;
pub use livehunt::NotificationFile;
pub use livehunt::NotificationFileContext;
pub use livehunt::NotificationOrder;
pub use livehunt::OperationResponse;
pub use livehunt::PermissionCheckResponse;
pub use livehunt::TransferOwnershipRequest;
pub use livehunt::UpdateLivehuntRulesetRequest;
pub use metadata::EngineInfo;
pub use metadata::Metadata;
pub use metadata::MetadataResponse;
pub use metadata::RelationshipInfo;
pub use objects::Collection;
pub use objects::CollectionIterator;
pub use objects::Object;
pub use objects::ObjectResponse;
pub use popular_threat_categories::PopularThreatCategoriesResponse;
pub use popular_threat_categories::ThreatCategory;
pub use private_files::AnalysisStats;
pub use private_files::CreatePrivateZipData;
pub use private_files::CreatePrivateZipRequest;
pub use private_files::DroppedFile;
pub use private_files::EngineResult;
pub use private_files::FileInfo;
pub use private_files::PrivateAnalysis;
pub use private_files::PrivateAnalysisMeta;
pub use private_files::PrivateAnalysisResponse;
pub use private_files::PrivateFile;
pub use private_files::PrivateFileBehavior;
pub use private_files::PrivateFileBehaviorAttributes;
pub use private_files::PrivateFileUploadParams;
pub use private_files::PrivateFileUploadResponse;
pub use private_files::PrivateFilesClient;
pub use private_files::PrivateZipDownloadUrlResponse;
pub use private_files::PrivateZipFile;
pub use private_files::PrivateZipFileAttributes;
pub use private_files::PrivateZipFileData;
pub use private_files::ProcessInfo;
pub use private_files::ReanalyzeParams;
pub use private_files::UploadUrlResponse;
pub use private_urls::PrivateUrl;
pub use private_urls::PrivateUrlAttributes;
pub use private_urls::PrivateUrlResponse;
pub use private_urls::PrivateUrlScanData;
pub use private_urls::PrivateUrlScanParams;
pub use private_urls::PrivateUrlScanResponse;
pub use private_urls::PrivateUrlsClient;
pub use private_urls::Votes;
pub use references::CreateReferenceRequest;
pub use references::Reference;
pub use references::ReferencesClient;
pub use retrohunt::Corpus;
pub use retrohunt::CreateRetrohuntJobRequest;
pub use retrohunt::JobStatus;
pub use retrohunt::MatchingFileContext;
pub use retrohunt::RetrohuntClient;
pub use retrohunt::RetrohuntJob;
pub use retrohunt::RetrohuntMatchingFile;
pub use retrohunt::TimeRange;
pub use search::FileSearchResult;
pub use search::SearchClient;
pub use search::SearchOrder;
pub use search::SearchResult;
pub use search::SnippetResponse;
pub use sigma_rules::SigmaRule;
pub use sigma_rules::SigmaRuleResponse;
pub use sigma_rules::SigmaRulesClient;
pub use threat_actors::RelationshipOrder;
pub use threat_actors::ThreatActor;
pub use threat_actors::ThreatActorOrder;
pub use threat_actors::ThreatActorsClient;
pub use url_utils::build_query_string;
pub use url_utils::encode_path_segment;
pub use url_utils::validate_domain;
pub use url_utils::validate_hash;
pub use url_utils::validate_ip;
pub use url_utils::EndpointBuilder;
pub use url_utils::Endpoints;
pub use url_utils::QueryBuilder;
pub use url_utils::VirusTotalUrlBuilder;
pub use url_utils::VT_API_BASE;
pub use urls::Url;
pub use urls::UrlClient;
pub use users::ApiQuota;
pub use users::User;
pub use users::UserAttributes;
pub use users::UserPrivileges;
pub use users::UserQuotas;
pub use users::UserResponse;
pub use users::UserUpdate;
pub use users::UserUpdateAttributes;
pub use users::UserUpdateRequest;
pub use users::UsersClient;
pub use votes::Vote;
pub use votes::VoteVerdict;
pub use yara_rulesets::YaraRuleset;
pub use yara_rulesets::YaraRulesetResponse;
pub use yara_rulesets::YaraRulesetsClient;
pub use zip_files::CreateZipFileRequest;
pub use zip_files::ZipFile;
pub use zip_files::ZipFileStatus;
pub use zip_files::ZipFilesClient;

Modules§

analysis
attack_tactics
attack_techniques
auth
client
client_utils
Client utilities for VirusTotal API
collections
Collections management for VirusTotal threat intelligence
comments
common
crowdsourced_yara_rules
display
Display utilities for VirusTotal data types
domains
error
Enhanced error handling for VirusTotal API operations
feeds
VirusTotal Intelligence Feeds module
file_behaviours
VirusTotal File Behaviours module
files
File analysis and upload functionality for VirusTotal API
graphs
Graph module for VirusTotal API
groups
ioc_stream
ip_addresses
iterator_utils
Iterator utilities and patterns for VirusTotal API
livehunt
macros
Macros for reducing boilerplate code
metadata
objects
popular_threat_categories
private_files
Private file operations for the VirusTotal API
private_files_client
Private Files Client - Modular implementation
private_urls
rate_limit
references
retrohunt
search
sigma_rules
threat_actors
url_utils
URL building utilities for VirusTotal API
urls
users
votes
yara_rulesets
zip_files

Macros§

bail_if
Error handling macros for reducing boilerplate
context
Add context to a result
create_lookup_table
Macro to create a static lookup table for enum to string conversions
ensure
Ensure condition is true or return error
impl_common_client_methods
impl_enum_display
Macro for implementing Display trait using the to_string method This is useful when you want both to_string and Display implementations
impl_enum_string_conversion
Combined macro that implements both to_string and Display for an enum
impl_enum_to_string
Macro to generate to_string implementations for enums with simple string mappings
map_err_context
Map error with context