//!
//! MISP Automation API
//!
//! ### Getting Started MISP API allows you to query, create, modify data models, such as [Events](https://www.circl.lu/doc/misp/GLOSSARY.html#misp-event), [Objects](https://www.circl.lu/doc/misp/misp-objects/), [Attributes](https://www.circl.lu/doc/misp/GLOSSARY.html#misp-attribute). This is extremly useful for interconnecting MISP with external tools and feeding other systems with threat intel data. It also lets you perform administrative tasks such as creating users, organisations, altering MISP settings, and much more. To get an API key there are several options: * **[UI]** Go to [My Profile -> Auth Keys](/auth_keys/index) section and click on `+ Add authentication key` * **[UI]** As an admin go to the the [Administration -> List Users -> View](/admin/users/view/[id]) page of the user you want to create an auth key for and on the `Auth keys` section click on `+ Add authentication key` * **[CLI]** Use the following command: `./app/Console/cake user change_authkey [e-mail/user_id]` * **API** Provided you already have an admin level API key, you can create an API key for another user using the `[POST]/auth_keys/add/{{user_id}}` endpoint. > **NOTE:** The authentication key will only be displayed once, so take note of it or store it properly in your application secrets. #### Accept and Content-Type headers When performing your request, depending on the type of request, you might need to explicitly specify in what content type you want to get your results. This is done by setting one of the below `Accept` headers: Accept: application/json Accept: application/xml When submitting data in a `POST`, `PUT` or `DELETE` operation you also need to specify in what content-type you encoded the payload. This is done by setting one of the below `Content-Type` headers: Content-Type: application/json Content-Type: application/xml Example: ``` curl --header \"Authorization: YOUR_API_KEY\" \\ --header \"Accept: application/json\" \\ --header \"Content-Type: application/json\" https://<misp url>/ ``` > **NOTE**: By appending .json or .xml the content type can also be set without the need for a header. #### Automation using PyMISP [PyMISP](https://github.com/MISP/PyMISP) is a Python library to access MISP platforms via their REST [API](https://www.circl.lu/doc/misp/GLOSSARY.html#api). It allows you to fetch events, add or update events/attributes, add or update samples or search for attributes. ### FAQ * [Dev FAQ](https://www.circl.lu/doc/misp/dev-faq/) * [GitHub project FAQ](https://github.com/MISP/MISP/wiki/Frequently-Asked-Questions)
//!
//! The version of the OpenAPI document: 2.4
//!
//! Generated by: https://openapi-generator.tech
//!
use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EnrichModulesList {
#[serde(rename = "reversedns", skip_serializing_if = "Option::is_none")]
pub reversedns: Option<bool>,
#[serde(rename = "sigma_syntax_validator", skip_serializing_if = "Option::is_none")]
pub sigma_syntax_validator: Option<bool>,
#[serde(rename = "ods_enrich", skip_serializing_if = "Option::is_none")]
pub ods_enrich: Option<bool>,
#[serde(rename = "recordedfuture", skip_serializing_if = "Option::is_none")]
pub recordedfuture: Option<bool>,
#[serde(rename = "eupi", skip_serializing_if = "Option::is_none")]
pub eupi: Option<bool>,
#[serde(rename = "docx_enrich", skip_serializing_if = "Option::is_none")]
pub docx_enrich: Option<bool>,
#[serde(rename = "passivetotal", skip_serializing_if = "Option::is_none")]
pub passivetotal: Option<bool>,
#[serde(rename = "abuseipdb", skip_serializing_if = "Option::is_none")]
pub abuseipdb: Option<bool>,
#[serde(rename = "ransomcoindb", skip_serializing_if = "Option::is_none")]
pub ransomcoindb: Option<bool>,
#[serde(rename = "domaintools", skip_serializing_if = "Option::is_none")]
pub domaintools: Option<bool>,
#[serde(rename = "crowdstrike_falcon", skip_serializing_if = "Option::is_none")]
pub crowdstrike_falcon: Option<bool>,
#[serde(rename = "google_safe_browsing", skip_serializing_if = "Option::is_none")]
pub google_safe_browsing: Option<bool>,
#[serde(rename = "geoip_country", skip_serializing_if = "Option::is_none")]
pub geoip_country: Option<bool>,
#[serde(rename = "joesandbox_query", skip_serializing_if = "Option::is_none")]
pub joesandbox_query: Option<bool>,
#[serde(rename = "crowdsec", skip_serializing_if = "Option::is_none")]
pub crowdsec: Option<bool>,
#[serde(rename = "geoip_asn", skip_serializing_if = "Option::is_none")]
pub geoip_asn: Option<bool>,
#[serde(rename = "rbl", skip_serializing_if = "Option::is_none")]
pub rbl: Option<bool>,
#[serde(rename = "yeti", skip_serializing_if = "Option::is_none")]
pub yeti: Option<bool>,
#[serde(rename = "ocr_enrich", skip_serializing_if = "Option::is_none")]
pub ocr_enrich: Option<bool>,
#[serde(rename = "onyphe", skip_serializing_if = "Option::is_none")]
pub onyphe: Option<bool>,
#[serde(rename = "odt_enrich", skip_serializing_if = "Option::is_none")]
pub odt_enrich: Option<bool>,
#[serde(rename = "socialscan", skip_serializing_if = "Option::is_none")]
pub socialscan: Option<bool>,
#[serde(rename = "sophoslabs_intelix", skip_serializing_if = "Option::is_none")]
pub sophoslabs_intelix: Option<bool>,
#[serde(rename = "mmdb_lookup", skip_serializing_if = "Option::is_none")]
pub mmdb_lookup: Option<bool>,
#[serde(rename = "vmray_submit", skip_serializing_if = "Option::is_none")]
pub vmray_submit: Option<bool>,
#[serde(rename = "trustar_enrich", skip_serializing_if = "Option::is_none")]
pub trustar_enrich: Option<bool>,
#[serde(rename = "ipinfo", skip_serializing_if = "Option::is_none")]
pub ipinfo: Option<bool>,
#[serde(rename = "backscatter_io", skip_serializing_if = "Option::is_none")]
pub backscatter_io: Option<bool>,
#[serde(rename = "ipasn", skip_serializing_if = "Option::is_none")]
pub ipasn: Option<bool>,
#[serde(rename = "urlscan", skip_serializing_if = "Option::is_none")]
pub urlscan: Option<bool>,
#[serde(rename = "threatcrowd", skip_serializing_if = "Option::is_none")]
pub threatcrowd: Option<bool>,
#[serde(rename = "html_to_markdown", skip_serializing_if = "Option::is_none")]
pub html_to_markdown: Option<bool>,
#[serde(rename = "yara_query", skip_serializing_if = "Option::is_none")]
pub yara_query: Option<bool>,
#[serde(rename = "sigma_queries", skip_serializing_if = "Option::is_none")]
pub sigma_queries: Option<bool>,
#[serde(rename = "xforceexchange", skip_serializing_if = "Option::is_none")]
pub xforceexchange: Option<bool>,
#[serde(rename = "whois", skip_serializing_if = "Option::is_none")]
pub whois: Option<bool>,
#[serde(rename = "pdf_enrich", skip_serializing_if = "Option::is_none")]
pub pdf_enrich: Option<bool>,
#[serde(rename = "threatfox", skip_serializing_if = "Option::is_none")]
pub threatfox: Option<bool>,
#[serde(rename = "clamav", skip_serializing_if = "Option::is_none")]
pub clamav: Option<bool>,
#[serde(rename = "vmware_nsx", skip_serializing_if = "Option::is_none")]
pub vmware_nsx: Option<bool>,
#[serde(rename = "sigmf-expand", skip_serializing_if = "Option::is_none")]
pub sigmf_expand: Option<bool>,
#[serde(rename = "urlhaus", skip_serializing_if = "Option::is_none")]
pub urlhaus: Option<bool>,
#[serde(rename = "stix2_pattern_syntax_validator", skip_serializing_if = "Option::is_none")]
pub stix2_pattern_syntax_validator: Option<bool>,
#[serde(rename = "censys_enrich", skip_serializing_if = "Option::is_none")]
pub censys_enrich: Option<bool>,
#[serde(rename = "variotdbs", skip_serializing_if = "Option::is_none")]
pub variotdbs: Option<bool>,
#[serde(rename = "joesandbox_submit", skip_serializing_if = "Option::is_none")]
pub joesandbox_submit: Option<bool>,
#[serde(rename = "virustotal_public", skip_serializing_if = "Option::is_none")]
pub virustotal_public: Option<bool>,
#[serde(rename = "macaddress_io", skip_serializing_if = "Option::is_none")]
pub macaddress_io: Option<bool>,
#[serde(rename = "mcafee_insights_enrich", skip_serializing_if = "Option::is_none")]
pub mcafee_insights_enrich: Option<bool>,
#[serde(rename = "countrycode", skip_serializing_if = "Option::is_none")]
pub countrycode: Option<bool>,
#[serde(rename = "shodan", skip_serializing_if = "Option::is_none")]
pub shodan: Option<bool>,
#[serde(rename = "dnsdb_query", skip_serializing_if = "Option::is_none")]
pub dnsdb_query: Option<bool>,
#[serde(rename = "greynoise", skip_serializing_if = "Option::is_none")]
pub greynoise: Option<bool>,
#[serde(rename = "xlsx_enrich", skip_serializing_if = "Option::is_none")]
pub xlsx_enrich: Option<bool>,
#[serde(rename = "lastline_submit", skip_serializing_if = "Option::is_none")]
pub lastline_submit: Option<bool>,
#[serde(rename = "assemblyline_submit", skip_serializing_if = "Option::is_none")]
pub assemblyline_submit: Option<bool>,
#[serde(rename = "hashlookup", skip_serializing_if = "Option::is_none")]
pub hashlookup: Option<bool>,
#[serde(rename = "apivoid", skip_serializing_if = "Option::is_none")]
pub apivoid: Option<bool>,
#[serde(rename = "lastline_query", skip_serializing_if = "Option::is_none")]
pub lastline_query: Option<bool>,
#[serde(rename = "eql", skip_serializing_if = "Option::is_none")]
pub eql: Option<bool>,
#[serde(rename = "cuckoo_submit", skip_serializing_if = "Option::is_none")]
pub cuckoo_submit: Option<bool>,
#[serde(rename = "hyasinsight", skip_serializing_if = "Option::is_none")]
pub hyasinsight: Option<bool>,
#[serde(rename = "assemblyline_query", skip_serializing_if = "Option::is_none")]
pub assemblyline_query: Option<bool>,
#[serde(rename = "circl_passivedns", skip_serializing_if = "Option::is_none")]
pub circl_passivedns: Option<bool>,
#[serde(rename = "securitytrails", skip_serializing_if = "Option::is_none")]
pub securitytrails: Option<bool>,
#[serde(rename = "hashdd", skip_serializing_if = "Option::is_none")]
pub hashdd: Option<bool>,
#[serde(rename = "geoip_city", skip_serializing_if = "Option::is_none")]
pub geoip_city: Option<bool>,
#[serde(rename = "qrcode", skip_serializing_if = "Option::is_none")]
pub qrcode: Option<bool>,
#[serde(rename = "sourcecache", skip_serializing_if = "Option::is_none")]
pub sourcecache: Option<bool>,
#[serde(rename = "threatminer", skip_serializing_if = "Option::is_none")]
pub threatminer: Option<bool>,
#[serde(rename = "cytomic_orion", skip_serializing_if = "Option::is_none")]
pub cytomic_orion: Option<bool>,
#[serde(rename = "iprep", skip_serializing_if = "Option::is_none")]
pub iprep: Option<bool>,
#[serde(rename = "qintel_qsentry", skip_serializing_if = "Option::is_none")]
pub qintel_qsentry: Option<bool>,
#[serde(rename = "wiki", skip_serializing_if = "Option::is_none")]
pub wiki: Option<bool>,
#[serde(rename = "cve", skip_serializing_if = "Option::is_none")]
pub cve: Option<bool>,
#[serde(rename = "btc_scam_check", skip_serializing_if = "Option::is_none")]
pub btc_scam_check: Option<bool>,
#[serde(rename = "whoisfreaks", skip_serializing_if = "Option::is_none")]
pub whoisfreaks: Option<bool>,
#[serde(rename = "google_search", skip_serializing_if = "Option::is_none")]
pub google_search: Option<bool>,
#[serde(rename = "malwarebazaar", skip_serializing_if = "Option::is_none")]
pub malwarebazaar: Option<bool>,
#[serde(rename = "intel471", skip_serializing_if = "Option::is_none")]
pub intel471: Option<bool>,
#[serde(rename = "btc_steroids", skip_serializing_if = "Option::is_none")]
pub btc_steroids: Option<bool>,
#[serde(rename = "mwdb", skip_serializing_if = "Option::is_none")]
pub mwdb: Option<bool>,
#[serde(rename = "dbl_spamhaus", skip_serializing_if = "Option::is_none")]
pub dbl_spamhaus: Option<bool>,
#[serde(rename = "onyphe_full", skip_serializing_if = "Option::is_none")]
pub onyphe_full: Option<bool>,
#[serde(rename = "ipqs_fraud_and_risk_scoring", skip_serializing_if = "Option::is_none")]
pub ipqs_fraud_and_risk_scoring: Option<bool>,
#[serde(rename = "farsight_passivedns", skip_serializing_if = "Option::is_none")]
pub farsight_passivedns: Option<bool>,
#[serde(rename = "cve_advanced", skip_serializing_if = "Option::is_none")]
pub cve_advanced: Option<bool>,
#[serde(rename = "cpe", skip_serializing_if = "Option::is_none")]
pub cpe: Option<bool>,
#[serde(rename = "passive-ssh", skip_serializing_if = "Option::is_none")]
pub passive_ssh: Option<bool>,
#[serde(rename = "vulners", skip_serializing_if = "Option::is_none")]
pub vulners: Option<bool>,
#[serde(rename = "yara_syntax_validator", skip_serializing_if = "Option::is_none")]
pub yara_syntax_validator: Option<bool>,
#[serde(rename = "jinja_template_rendering", skip_serializing_if = "Option::is_none")]
pub jinja_template_rendering: Option<bool>,
#[serde(rename = "virustotal", skip_serializing_if = "Option::is_none")]
pub virustotal: Option<bool>,
#[serde(rename = "macvendors", skip_serializing_if = "Option::is_none")]
pub macvendors: Option<bool>,
#[serde(rename = "vulndb", skip_serializing_if = "Option::is_none")]
pub vulndb: Option<bool>,
#[serde(rename = "circl_passivessl", skip_serializing_if = "Option::is_none")]
pub circl_passivessl: Option<bool>,
#[serde(rename = "dns", skip_serializing_if = "Option::is_none")]
pub dns: Option<bool>,
#[serde(rename = "otx", skip_serializing_if = "Option::is_none")]
pub otx: Option<bool>,
#[serde(rename = "bgpranking", skip_serializing_if = "Option::is_none")]
pub bgpranking: Option<bool>,
#[serde(rename = "extract_url_components", skip_serializing_if = "Option::is_none")]
pub extract_url_components: Option<bool>,
#[serde(rename = "intelmq_eventdb.experimental", skip_serializing_if = "Option::is_none")]
pub intelmq_eventdb_period_experimental: Option<bool>,
#[serde(rename = "apiosintds", skip_serializing_if = "Option::is_none")]
pub apiosintds: Option<bool>,
#[serde(rename = "pptx_enrich", skip_serializing_if = "Option::is_none")]
pub pptx_enrich: Option<bool>,
#[serde(rename = "hibp", skip_serializing_if = "Option::is_none")]
pub hibp: Option<bool>,
}
impl EnrichModulesList {
pub fn new() -> EnrichModulesList {
EnrichModulesList {
reversedns: None,
sigma_syntax_validator: None,
ods_enrich: None,
recordedfuture: None,
eupi: None,
docx_enrich: None,
passivetotal: None,
abuseipdb: None,
ransomcoindb: None,
domaintools: None,
crowdstrike_falcon: None,
google_safe_browsing: None,
geoip_country: None,
joesandbox_query: None,
crowdsec: None,
geoip_asn: None,
rbl: None,
yeti: None,
ocr_enrich: None,
onyphe: None,
odt_enrich: None,
socialscan: None,
sophoslabs_intelix: None,
mmdb_lookup: None,
vmray_submit: None,
trustar_enrich: None,
ipinfo: None,
backscatter_io: None,
ipasn: None,
urlscan: None,
threatcrowd: None,
html_to_markdown: None,
yara_query: None,
sigma_queries: None,
xforceexchange: None,
whois: None,
pdf_enrich: None,
threatfox: None,
clamav: None,
vmware_nsx: None,
sigmf_expand: None,
urlhaus: None,
stix2_pattern_syntax_validator: None,
censys_enrich: None,
variotdbs: None,
joesandbox_submit: None,
virustotal_public: None,
macaddress_io: None,
mcafee_insights_enrich: None,
countrycode: None,
shodan: None,
dnsdb_query: None,
greynoise: None,
xlsx_enrich: None,
lastline_submit: None,
assemblyline_submit: None,
hashlookup: None,
apivoid: None,
lastline_query: None,
eql: None,
cuckoo_submit: None,
hyasinsight: None,
assemblyline_query: None,
circl_passivedns: None,
securitytrails: None,
hashdd: None,
geoip_city: None,
qrcode: None,
sourcecache: None,
threatminer: None,
cytomic_orion: None,
iprep: None,
qintel_qsentry: None,
wiki: None,
cve: None,
btc_scam_check: None,
whoisfreaks: None,
google_search: None,
malwarebazaar: None,
intel471: None,
btc_steroids: None,
mwdb: None,
dbl_spamhaus: None,
onyphe_full: None,
ipqs_fraud_and_risk_scoring: None,
farsight_passivedns: None,
cve_advanced: None,
cpe: None,
passive_ssh: None,
vulners: None,
yara_syntax_validator: None,
jinja_template_rendering: None,
virustotal: None,
macvendors: None,
vulndb: None,
circl_passivessl: None,
dns: None,
otx: None,
bgpranking: None,
extract_url_components: None,
intelmq_eventdb_period_experimental: None,
apiosintds: None,
pptx_enrich: None,
hibp: None,
}
}
}