Octopoes Models
octopoes.models.ooi.service
- pydantic model octopoes.models.ooi.service.HostnameIPService[source]
A named service exposed by an IP service.
This is the generic hostname-to-IPService relationship used when a protocol may depend on the hostname (for example TLS SNI). It is not specific to HTTP.
Formerly named HostnameService; renamed because the object captures the full (hostname, IP, port, service) tuple, symmetric with IPService.
Show JSON schema
{ "title": "HostnameIPService", "description": "A named service exposed by an IP service.\n\nThis is the generic hostname-to-IPService relationship used when a\nprotocol may depend on the hostname (for example TLS SNI). It is not\nspecific to HTTP.\n\nFormerly named HostnameService; renamed because the object captures the\nfull (hostname, IP, port, service) tuple, symmetric with IPService.", "type": "object", "properties": { "object_type": { "const": "HostnameIPService", "default": "HostnameIPService", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ip_service": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPService", "title": "Ip Service", "type": "string" }, "hostname": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ip_service", "hostname" ] }
- Fields:
- field hostname: Reference [Required]
- field ip_service: Reference [Required]
- field object_type: Literal['HostnameIPService'] = 'HostnameIPService'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.service.IPService[source]
Show JSON schema
{ "title": "IPService", "type": "object", "properties": { "object_type": { "const": "IPService", "default": "IPService", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ip_port": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPPort", "title": "Ip Port", "type": "string" }, "service": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Service", "title": "Service", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ip_port", "service" ] }
- Fields:
- field ip_port: Reference [Required]
- field object_type: Literal['IPService'] = 'IPService'
- field service: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.service.Service[source]
Show JSON schema
{ "title": "Service", "type": "object", "properties": { "object_type": { "const": "Service", "default": "Service", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name" ] }
- field name: str [Required]
- field object_type: Literal['Service'] = 'Service'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.service.TLSCipher[source]
Show JSON schema
{ "title": "TLSCipher", "type": "object", "properties": { "object_type": { "const": "TLSCipher", "default": "TLSCipher", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ip_service": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPService", "title": "Ip Service", "type": "string" }, "hostname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname" }, "hostname_ip_service": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "HostnameIPService", "title": "Hostname Ip Service" }, "suites": { "additionalProperties": true, "title": "Suites", "type": "object" }, "server_preference": { "additionalProperties": { "type": "string" }, "title": "Server Preference", "type": "object" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ip_service", "suites" ] }
- Fields:
- field hostname: Reference | None = None
- field hostname_ip_service: Reference | None = None
- field ip_service: Reference [Required]
- field object_type: Literal['TLSCipher'] = 'TLSCipher'
- field server_preference: dict[str, str] [Optional]
- field suites: dict [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str
octopoes.models.ooi.findings
- pydantic model octopoes.models.ooi.findings.ADRFindingType[source]
Represents the API Design Rules (ADR) Finding Types
Show JSON schema
{ "title": "ADRFindingType", "description": "Represents the API Design Rules (ADR) Finding Types", "type": "object", "properties": { "object_type": { "const": "ADRFindingType", "default": "ADRFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field object_type: Literal['ADRFindingType'] = 'ADRFindingType'
- pydantic model octopoes.models.ooi.findings.CAPECFindingType[source]
Represents the CAPEC Finding Types
Show JSON schema
{ "title": "CAPECFindingType", "description": "Represents the CAPEC Finding Types", "type": "object", "properties": { "object_type": { "const": "CAPECFindingType", "default": "CAPECFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field id: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=True)] [Required]
- Constraints:
strip_whitespace = True
to_upper = True
- field object_type: Literal['CAPECFindingType'] = 'CAPECFindingType'
- pydantic model octopoes.models.ooi.findings.CVEFindingType[source]
Represents the CVE Finding Types
Show JSON schema
{ "title": "CVEFindingType", "description": "Represents the CVE Finding Types", "type": "object", "properties": { "object_type": { "const": "CVEFindingType", "default": "CVEFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field id: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=True)] [Required]
- Constraints:
strip_whitespace = True
to_upper = True
- field object_type: Literal['CVEFindingType'] = 'CVEFindingType'
- pydantic model octopoes.models.ooi.findings.CWEFindingType[source]
Represents the CWE Finding Types
Show JSON schema
{ "title": "CWEFindingType", "description": "Represents the CWE Finding Types", "type": "object", "properties": { "object_type": { "const": "CWEFindingType", "default": "CWEFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field id: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=True)] [Required]
- Constraints:
strip_whitespace = True
to_upper = True
- field object_type: Literal['CWEFindingType'] = 'CWEFindingType'
- pydantic model octopoes.models.ooi.findings.Finding[source]
Represents all OpenKAT Findings, including CVE’s and CWE’s. #TODO Update once new findings/finding types are complete.
Show JSON schema
{ "title": "Finding", "description": "Represents all OpenKAT Findings, including CVE's and CWE's.\n#TODO Update once new findings/finding types are complete.", "type": "object", "properties": { "object_type": { "const": "Finding", "default": "Finding", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "finding_type": { "object_type": "FindingType", "title": "Finding Type", "type": "string" }, "ooi": { "object_type": "OOI", "title": "Ooi", "type": "string" }, "proof": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Proof" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "reproduce": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Reproduce" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "finding_type", "ooi" ] }
- Fields:
- field description: str | None = None
- field finding_type: Reference [Required]
- field object_type: Literal['Finding'] = 'Finding'
- field ooi: Reference [Required]
- field proof: str | None = None
- field reproduce: str | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str
- pydantic model octopoes.models.ooi.findings.FindingType[source]
Represents finding types. #TODO: Update once new structure of findings/finding types is complete.
Possible values
name, description, source, impact, recommendation, risk_score, risk_severity
Example value
#TODO once new structure is complete.
Show JSON schema
{ "title": "FindingType", "description": "Represents finding types. #TODO: Update once new structure of findings/finding types is complete.\n\nPossible values\n---------------\nname, description, source, impact, recommendation, risk_score, risk_severity\n\nExample value\n-------------\n#TODO once new structure is complete.", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "id" ] }
- Fields:
- field description: str | None = None
- field id: str [Required]
- field impact: str | None = None
- field name: str | None = None
- field recommendation: str | None = None
- field risk_score: float | None = None
- field risk_severity: RiskLevelSeverity | None = None
- field source: AnyUrl | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.findings.KATFindingType[source]
Represents the OpenKAT Finding Types
Show JSON schema
{ "title": "KATFindingType", "description": "Represents the OpenKAT Finding Types", "type": "object", "properties": { "object_type": { "const": "KATFindingType", "default": "KATFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field object_type: Literal['KATFindingType'] = 'KATFindingType'
- pydantic model octopoes.models.ooi.findings.MutedFinding[source]
Represents muted findings.
Muted findings can be attached to findings. This will make the findings not show up on the Findings page.
Possible values
finding, reason
Show JSON schema
{ "title": "MutedFinding", "description": "Represents muted findings.\n\nMuted findings can be attached to findings. This will make the findings not show up on the Findings page.\n\nPossible values\n---------------\nfinding, reason", "type": "object", "properties": { "object_type": { "const": "MutedFinding", "default": "MutedFinding", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "finding": { "object_type": "Finding", "title": "Finding", "type": "string" }, "reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Reason" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "finding" ] }
- Fields:
- field finding: Reference [Required]
- field object_type: Literal['MutedFinding'] = 'MutedFinding'
- field reason: str | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.findings.RetireJSFindingType[source]
Represents the RetireJS Finding Types
Show JSON schema
{ "title": "RetireJSFindingType", "description": "Represents the RetireJS Finding Types", "type": "object", "properties": { "object_type": { "const": "RetireJSFindingType", "default": "RetireJSFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- field object_type: Literal['RetireJSFindingType'] = 'RetireJSFindingType'
- class octopoes.models.ooi.findings.RiskLevelSeverity(*values)[source]
Represents the risk level severity of findings
Possible values
critical, high, medium, low, recommendation, pending, unknown
Example value
high
- pydantic model octopoes.models.ooi.findings.SnykFindingType[source]
Represents the Snyk Finding Types
Show JSON schema
{ "title": "SnykFindingType", "description": "Represents the Snyk Finding Types", "type": "object", "properties": { "object_type": { "const": "SnykFindingType", "default": "SnykFindingType", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "id": { "title": "Id", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "source": { "anyOf": [ { "format": "uri", "minLength": 1, "type": "string" }, { "type": "null" } ], "default": null, "title": "Source" }, "impact": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Impact" }, "recommendation": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Recommendation" }, "risk_score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Risk Score" }, "risk_severity": { "anyOf": [ { "$ref": "#/$defs/RiskLevelSeverity" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "RiskLevelSeverity": { "description": "Represents the risk level severity of findings\n\nPossible values\n---------------\ncritical, high, medium, low, recommendation, pending, unknown\n\nExample value\n-------------\nhigh", "enum": [ "critical", "high", "medium", "low", "recommendation", "pending", "unknown" ], "title": "RiskLevelSeverity", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "id" ] }
- Fields:
- field id: Annotated[str, StringConstraints(strip_whitespace=True, to_upper=True)] [Required]
- Constraints:
strip_whitespace = True
to_upper = True
- field object_type: Literal['SnykFindingType'] = 'SnykFindingType'
octopoes.models.ooi.email_security
- pydantic model octopoes.models.ooi.email_security.DKIMExists[source]
Represents whether a DKIM can exist by checking the DNS response of _domainkey.hostname.
Show JSON schema
{ "title": "DKIMExists", "description": "Represents whether a DKIM can exist by checking the DNS response of _domainkey.hostname.", "type": "object", "properties": { "object_type": { "const": "DKIMExists", "default": "DKIMExists", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname" ] }
- field hostname: Reference [Required]
- field object_type: Literal['DKIMExists'] = 'DKIMExists'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DKIMKey[source]
Represents the value of the DKIM key.
Show JSON schema
{ "title": "DKIMKey", "description": "Represents the value of the DKIM key.", "type": "object", "properties": { "object_type": { "const": "DKIMKey", "default": "DKIMKey", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "key": { "title": "Key", "type": "string" }, "dkim_selector": { "object_type": "DKIMSelector", "title": "Dkim Selector", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "key", "dkim_selector" ] }
- field dkim_selector: Reference [Required]
- field key: str [Required]
- field object_type: Literal['DKIMKey'] = 'DKIMKey'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DKIMSelector[source]
Represents the DKIM Selector object if present.
Object is currently unused.
Show JSON schema
{ "title": "DKIMSelector", "description": "Represents the DKIM Selector object if present.\n\nObject is currently unused.", "type": "object", "properties": { "object_type": { "const": "DKIMSelector", "default": "DKIMSelector", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "selector": { "title": "Selector", "type": "string" }, "hostname": { "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "selector", "hostname" ] }
- field hostname: Reference [Required]
- field object_type: Literal['DKIMSelector'] = 'DKIMSelector'
- field selector: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DMARCTXTRecord[source]
Represents the DMARC TXT record for a hostname.
Example value:
v=DMARC1;p=none;rua=dmarc@mispo.es;ruf=dmarc@mispo.es
Show JSON schema
{ "title": "DMARCTXTRecord", "description": "Represents the DMARC TXT record for a hostname.\n\nExample value:\n--------------\nv=DMARC1;p=none;rua=dmarc@mispo.es;ruf=dmarc@mispo.es", "type": "object", "properties": { "object_type": { "const": "DMARCTXTRecord", "default": "DMARCTXTRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Ttl" }, "hostname": { "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "value", "ttl", "hostname" ] }
- Fields:
- field hostname: Reference [Required]
- field object_type: Literal['DMARCTXTRecord'] = 'DMARCTXTRecord'
- field ttl: int | None [Required]
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DNSSPFMechanism[source]
Represents the DNS SPF Mechanism
Example value
+a
Show JSON schema
{ "title": "DNSSPFMechanism", "description": "Represents the DNS SPF Mechanism\n\nExample value\n-------------\n+a", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "spf_record": { "max_inherit_scan_level": 1, "object_type": "DNSSPFRecord", "title": "Spf Record", "type": "string" }, "mechanism": { "title": "Mechanism", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "spf_record", "mechanism" ] }
- field mechanism: str [Required]
- field spf_record: Reference [Required]
- pydantic model octopoes.models.ooi.email_security.DNSSPFMechanismHostname[source]
Represents the DNS SPF Mechanism for Hostnames.
Example value:
+a:mispo.es
Show JSON schema
{ "title": "DNSSPFMechanismHostname", "description": "Represents the DNS SPF Mechanism for Hostnames.\n\nExample value:\n--------------\n+a:mispo.es", "type": "object", "properties": { "object_type": { "const": "DNSSPFMechanismHostname", "default": "DNSSPFMechanismHostname", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "spf_record": { "max_inherit_scan_level": 1, "object_type": "DNSSPFRecord", "title": "Spf Record", "type": "string" }, "mechanism": { "title": "Mechanism", "type": "string" }, "hostname": { "object_type": "Hostname", "title": "Hostname", "type": "string" }, "qualifier": { "$ref": "#/$defs/MechanismQualifier", "default": "+" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "MechanismQualifier": { "description": "Represents the SPF Mechanism Qualifiers: allow' fail, softfail or neutral\nto specify how e-mail should be handled.\n\nSpecification: http://www.open-spf.org/SPF_Record_Syntax/#0.1\n\nPossible values\n---------------\n+, -, ~, ?\n\nExample value\n-------------\n+", "enum": [ "+", "-", "~", "?" ], "title": "MechanismQualifier", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "spf_record", "mechanism", "hostname" ] }
- Fields:
- field hostname: Reference [Required]
- field object_type: Literal['DNSSPFMechanismHostname'] = 'DNSSPFMechanismHostname'
- field qualifier: MechanismQualifier = MechanismQualifier.ALLOW
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DNSSPFMechanismIP[source]
Represents the DNS SPF Mechanism for IPs.
Possible values
+ip4, +ip6
Example value
+ip4
Show JSON schema
{ "title": "DNSSPFMechanismIP", "description": "Represents the DNS SPF Mechanism for IPs.\n\nPossible values\n---------------\n+ip4, +ip6\n\nExample value\n-------------\n+ip4", "type": "object", "properties": { "object_type": { "const": "DNSSPFMechanismIP", "default": "DNSSPFMechanismIP", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "spf_record": { "max_inherit_scan_level": 1, "object_type": "DNSSPFRecord", "title": "Spf Record", "type": "string" }, "mechanism": { "title": "Mechanism", "type": "string" }, "ip": { "object_type": "IPAddress", "title": "Ip", "type": "string" }, "qualifier": { "$ref": "#/$defs/MechanismQualifier", "default": "+" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "MechanismQualifier": { "description": "Represents the SPF Mechanism Qualifiers: allow' fail, softfail or neutral\nto specify how e-mail should be handled.\n\nSpecification: http://www.open-spf.org/SPF_Record_Syntax/#0.1\n\nPossible values\n---------------\n+, -, ~, ?\n\nExample value\n-------------\n+", "enum": [ "+", "-", "~", "?" ], "title": "MechanismQualifier", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "spf_record", "mechanism", "ip" ] }
- Fields:
- field ip: Reference [Required]
- field object_type: Literal['DNSSPFMechanismIP'] = 'DNSSPFMechanismIP'
- field qualifier: MechanismQualifier = MechanismQualifier.ALLOW
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DNSSPFMechanismNetBlock[source]
Represents the DNS SPF Mechanism for net blocks.
Example value:
+ip4:192.168.0.0/24
Show JSON schema
{ "title": "DNSSPFMechanismNetBlock", "description": "Represents the DNS SPF Mechanism for net blocks.\n\nExample value:\n--------------\n+ip4:192.168.0.0/24", "type": "object", "properties": { "object_type": { "const": "DNSSPFMechanismNetBlock", "default": "DNSSPFMechanismNetBlock", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "spf_record": { "max_inherit_scan_level": 1, "object_type": "DNSSPFRecord", "title": "Spf Record", "type": "string" }, "mechanism": { "title": "Mechanism", "type": "string" }, "netblock": { "object_type": "NetBlock", "title": "Netblock", "type": "string" }, "qualifier": { "$ref": "#/$defs/MechanismQualifier", "default": "+" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "MechanismQualifier": { "description": "Represents the SPF Mechanism Qualifiers: allow' fail, softfail or neutral\nto specify how e-mail should be handled.\n\nSpecification: http://www.open-spf.org/SPF_Record_Syntax/#0.1\n\nPossible values\n---------------\n+, -, ~, ?\n\nExample value\n-------------\n+", "enum": [ "+", "-", "~", "?" ], "title": "MechanismQualifier", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "spf_record", "mechanism", "netblock" ] }
- Fields:
- field netblock: Reference [Required]
- field object_type: Literal['DNSSPFMechanismNetBlock'] = 'DNSSPFMechanismNetBlock'
- field qualifier: MechanismQualifier = MechanismQualifier.ALLOW
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.email_security.DNSSPFRecord[source]
Represents the DNS SPF record.
Example value
v=spf1 a mx ~all
Show JSON schema
{ "title": "DNSSPFRecord", "description": "Represents the DNS SPF record.\n\nExample value\n-------------\nv=spf1 a mx ~all", "type": "object", "properties": { "object_type": { "const": "DNSSPFRecord", "default": "DNSSPFRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "all": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "All" }, "exp": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Exp" }, "dns_txt_record": { "max_inherit_scan_level": 1, "object_type": "DNSTXTRecord", "title": "Dns Txt Record", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "value", "dns_txt_record" ] }
- Fields:
- field all: str | None = None
- field dns_txt_record: Reference [Required]
- field exp: str | None = None
- field object_type: Literal['DNSSPFRecord'] = 'DNSSPFRecord'
- field ttl: int | None = None
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str
- class octopoes.models.ooi.email_security.MechanismQualifier(*values)[source]
Represents the SPF Mechanism Qualifiers: allow’ fail, softfail or neutral to specify how e-mail should be handled.
Specification: http://www.open-spf.org/SPF_Record_Syntax/#0.1
Possible values
+, -, ~, ?
Example value
octopoes.models.ooi.web
- pydantic model octopoes.models.ooi.web.APIDesignRule[source]
Show JSON schema
{ "title": "APIDesignRule", "type": "object", "properties": { "object_type": { "const": "APIDesignRule", "default": "APIDesignRule", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name" ] }
- field name: str [Required]
- field object_type: Literal['APIDesignRule'] = 'APIDesignRule'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.APIDesignRuleResult[source]
Show JSON schema
{ "title": "APIDesignRuleResult", "type": "object", "properties": { "object_type": { "const": "APIDesignRuleResult", "default": "APIDesignRuleResult", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "rest_api": { "object_type": "RESTAPI", "title": "Rest Api", "type": "string" }, "rule": { "object_type": "APIDesignRule", "title": "Rule", "type": "string" }, "passed": { "title": "Passed", "type": "boolean" }, "message": { "title": "Message", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "rest_api", "rule", "passed", "message" ] }
- Fields:
- field message: str [Required]
- field object_type: Literal['APIDesignRuleResult'] = 'APIDesignRuleResult'
- field passed: bool [Required]
- field rest_api: Reference [Required]
- field rule: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.CSPDirective[source]
A single directive parsed out of a Content-Security-Policy header, e.g. script-src.
Show JSON schema
{ "title": "CSPDirective", "description": "A single directive parsed out of a Content-Security-Policy header, e.g. `script-src`.", "type": "object", "properties": { "object_type": { "const": "CSPDirective", "default": "CSPDirective", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "header": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "HTTPHeader", "title": "Header", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "header", "name" ] }
- field header: Reference [Required]
- field name: str [Required]
- field object_type: Literal['CSPDirective'] = 'CSPDirective'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.CSPSource[source]
A single source expression of a CSP directive, e.g. ‘self’, https://cdn.example.com or *.
Show JSON schema
{ "title": "CSPSource", "description": "A single source expression of a CSP directive, e.g. `'self'`, `https://cdn.example.com` or `*`.", "type": "object", "properties": { "object_type": { "const": "CSPSource", "default": "CSPSource", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "directive": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "CSPDirective", "title": "Directive", "type": "string" }, "value": { "title": "Value", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "directive", "value" ] }
- field directive: Reference [Required]
- field object_type: Literal['CSPSource'] = 'CSPSource'
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.Cookie[source]
A cookie slot observed via a Set-Cookie response header.
Identity is name + domain + path — deliberately not the value: session tokens change on every request (we hold no cookie jar), so keying on the value would mint a new object per observation. The raw value is not stored at all; only a coarse size bucket is kept as a performance signal. See https://github.com/SSC-ICT-Innovatie/nl-kat-coordination/issues/213.
Show JSON schema
{ "title": "Cookie", "description": "A cookie slot observed via a Set-Cookie response header.\n\nIdentity is name + domain + path \u2014 deliberately not the value: session\ntokens change on every request (we hold no cookie jar), so keying on the\nvalue would mint a new object per observation. The raw value is not stored\nat all; only a coarse size bucket is kept as a performance signal.\nSee https://github.com/SSC-ICT-Innovatie/nl-kat-coordination/issues/213.", "type": "object", "properties": { "object_type": { "const": "Cookie", "default": "Cookie", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" }, "domain": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Domain", "type": "string" }, "path": { "default": "/", "title": "Path", "type": "string" }, "secure_only": { "default": false, "title": "Secure Only", "type": "boolean" }, "http_only": { "default": false, "title": "Http Only", "type": "boolean" }, "same_site": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Same Site" }, "host_only": { "default": true, "title": "Host Only", "type": "boolean" }, "persistent": { "default": false, "title": "Persistent", "type": "boolean" }, "lifetime": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Lifetime" }, "value_size": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Value Size" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name", "domain" ] }
- Fields:
- field domain: Reference [Required]
- field host_only: bool = True
- field http_only: bool = False
- field lifetime: str | None = None
- field name: str [Required]
- field object_type: Literal['Cookie'] = 'Cookie'
- field path: str = '/'
- field persistent: bool = False
- field same_site: str | None = None
- field secure_only: bool = False
- field value_size: str | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.HTTPHeader[source]
Show JSON schema
{ "title": "HTTPHeader", "type": "object", "properties": { "object_type": { "const": "HTTPHeader", "default": "HTTPHeader", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "resource": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "HTTPResource", "title": "Resource", "type": "string" }, "key": { "title": "Key", "type": "string" }, "value": { "title": "Value", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "resource", "key", "value" ] }
- Fields:
- field key: str [Required]
- field object_type: Literal['HTTPHeader'] = 'HTTPHeader'
- field resource: Reference [Required]
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.HTTPHeaderHostname[source]
Show JSON schema
{ "title": "HTTPHeaderHostname", "type": "object", "properties": { "object_type": { "const": "HTTPHeaderHostname", "default": "HTTPHeaderHostname", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "header": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "HTTPHeader", "title": "Header", "type": "string" }, "hostname": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "header", "hostname" ] }
- Fields:
- field header: Reference [Required]
- field hostname: Reference [Required]
- field object_type: Literal['HTTPHeaderHostname'] = 'HTTPHeaderHostname'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.HTTPHeaderURL[source]
Show JSON schema
{ "title": "HTTPHeaderURL", "type": "object", "properties": { "object_type": { "const": "HTTPHeaderURL", "default": "HTTPHeaderURL", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "header": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "HTTPHeader", "title": "Header", "type": "string" }, "url": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "URL", "title": "Url", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "header", "url" ] }
- Fields:
- field header: Reference [Required]
- field object_type: Literal['HTTPHeaderURL'] = 'HTTPHeaderURL'
- field url: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.HTTPResource[source]
Show JSON schema
{ "title": "HTTPResource", "type": "object", "properties": { "object_type": { "const": "HTTPResource", "default": "HTTPResource", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "website": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Website", "title": "Website", "type": "string" }, "web_url": { "max_inherit_scan_level": 4, "max_issue_scan_level": 1, "object_type": "WebURL", "title": "Web Url", "type": "string" }, "redirects_to": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "WebURL", "title": "Redirects To" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "website", "web_url" ] }
- Fields:
- field object_type: Literal['HTTPResource'] = 'HTTPResource'
- field redirects_to: Reference | None = None
- field web_url: Reference [Required]
- field website: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.HostnameHTTPURL[source]
Show JSON schema
{ "title": "HostnameHTTPURL", "type": "object", "properties": { "object_type": { "const": "HostnameHTTPURL", "default": "HostnameHTTPURL", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "scheme": { "$ref": "#/$defs/WebScheme" }, "port": { "title": "Port", "type": "integer" }, "path": { "title": "Path", "type": "string" }, "netloc": { "max_inherit_scan_level": 4, "max_issue_scan_level": 2, "object_type": "Hostname", "title": "Netloc", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" }, "WebScheme": { "enum": [ "http", "https" ], "title": "WebScheme", "type": "string" } }, "required": [ "network", "scheme", "port", "path", "netloc" ] }
- field netloc: Reference [Required]
- field object_type: Literal['HostnameHTTPURL'] = 'HostnameHTTPURL'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.IPAddressHTTPURL[source]
Show JSON schema
{ "title": "IPAddressHTTPURL", "type": "object", "properties": { "object_type": { "const": "IPAddressHTTPURL", "default": "IPAddressHTTPURL", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "scheme": { "$ref": "#/$defs/WebScheme" }, "port": { "title": "Port", "type": "integer" }, "path": { "title": "Path", "type": "string" }, "netloc": { "max_inherit_scan_level": 4, "max_issue_scan_level": 1, "object_type": "IPAddress", "title": "Netloc", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" }, "WebScheme": { "enum": [ "http", "https" ], "title": "WebScheme", "type": "string" } }, "required": [ "network", "scheme", "port", "path", "netloc" ] }
- field netloc: Reference [Required]
- field object_type: Literal['IPAddressHTTPURL'] = 'IPAddressHTTPURL'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.ImageMetadata[source]
Show JSON schema
{ "title": "ImageMetadata", "type": "object", "properties": { "object_type": { "const": "ImageMetadata", "default": "ImageMetadata", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "resource": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "HTTPResource", "title": "Resource", "type": "string" }, "image_info": { "additionalProperties": true, "title": "Image Info", "type": "object" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "resource", "image_info" ] }
- Fields:
- field image_info: dict [Required]
- field object_type: Literal['ImageMetadata'] = 'ImageMetadata'
- field resource: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.RESTAPI[source]
Show JSON schema
{ "title": "RESTAPI", "type": "object", "properties": { "object_type": { "const": "RESTAPI", "default": "RESTAPI", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "api_url": { "object_type": "WebURL", "title": "Api Url", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "api_url" ] }
- field api_url: Reference [Required]
- field object_type: Literal['RESTAPI'] = 'RESTAPI'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.SecurityTXT[source]
Show JSON schema
{ "title": "SecurityTXT", "type": "object", "properties": { "object_type": { "const": "SecurityTXT", "default": "SecurityTXT", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "website": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Website", "title": "Website", "type": "string" }, "url": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "URL", "title": "Url", "type": "string" }, "redirects_to": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 0, "max_issue_scan_level": 2, "object_type": "SecurityTXT", "title": "Redirects To" }, "security_txt": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Security Txt" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "website", "url" ] }
- Fields:
- field object_type: Literal['SecurityTXT'] = 'SecurityTXT'
- field redirects_to: Reference | None = None
- field security_txt: str | None = None
- field url: Reference [Required]
- field website: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.URL[source]
Show JSON schema
{ "title": "URL", "type": "object", "properties": { "object_type": { "const": "URL", "default": "URL", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "raw": { "format": "uri", "minLength": 1, "title": "Raw", "type": "string" }, "web_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_issue_scan_level": 2, "object_type": "WebURL", "title": "Web Url" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "network", "raw" ] }
- Fields:
- field network: Reference [Required]
- field object_type: Literal['URL'] = 'URL'
- field raw: AnyUrl [Required]
- field web_url: Reference | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.web.WebURL[source]
Show JSON schema
{ "title": "WebURL", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "scheme": { "$ref": "#/$defs/WebScheme" }, "port": { "title": "Port", "type": "integer" }, "path": { "title": "Path", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" }, "WebScheme": { "enum": [ "http", "https" ], "title": "WebScheme", "type": "string" } }, "required": [ "object_type", "network", "scheme", "port", "path" ] }
- Fields:
- field network: Reference [Required]
- field path: str [Required]
- field port: int [Required]
- pydantic model octopoes.models.ooi.web.Website[source]
Show JSON schema
{ "title": "Website", "type": "object", "properties": { "object_type": { "const": "Website", "default": "Website", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ip_service": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "IPService", "title": "Ip Service", "type": "string" }, "hostname": { "max_inherit_scan_level": 4, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "certificate": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_issue_scan_level": 1, "object_type": "X509Certificate", "title": "Certificate" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ip_service", "hostname" ] }
- Fields:
- field certificate: Reference | None = None
- field hostname: Reference [Required]
- field ip_service: Reference [Required]
- field object_type: Literal['Website'] = 'Website'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.config
- pydantic model octopoes.models.ooi.config.Config[source]
Represents Config objects used for specifying organisation specific policies.
Show JSON schema
{ "title": "Config", "description": "Represents Config objects used for specifying organisation specific policies.", "type": "object", "properties": { "object_type": { "const": "Config", "default": "Config", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ooi": { "object_type": "OOI", "title": "Ooi", "type": "string" }, "bit_id": { "title": "Bit Id", "type": "string" }, "config": { "additionalProperties": { "$ref": "#/$defs/JsonValue" }, "title": "Config", "type": "object" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "JsonValue": {}, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ooi", "bit_id", "config" ] }
- Fields:
- field bit_id: str [Required]
- field config: dict[str, JsonValue] [Required]
- field object_type: Literal['Config'] = 'Config'
- field ooi: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.certificate
- class octopoes.models.ooi.certificate.AlgorithmType(*values)[source]
Represents the Algorithm Type from TLS certificates.
Possible values
RSA, ECC, EdDSA
- pydantic model octopoes.models.ooi.certificate.CertificateIssuerCandidate[source]
A certificate whose subject matches another certificate’s claimed issuer.
Verification status records whether the candidate’s public key successfully verifies the certificate’s signature.
Never yielded since the V2 pipeline replaced candidate objects with signed_by edges; kept for historical data.
Show JSON schema
{ "title": "CertificateIssuerCandidate", "description": "A certificate whose subject matches another certificate's claimed issuer.\n\nVerification status records whether the candidate's public key\nsuccessfully verifies the certificate's signature.\n\nNever yielded since the V2 pipeline replaced candidate objects with\nsigned_by edges; kept for historical data.", "type": "object", "properties": { "object_type": { "const": "CertificateIssuerCandidate", "default": "CertificateIssuerCandidate", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509Certificate", "title": "Certificate", "type": "string" }, "candidate_issuer": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509Certificate", "title": "Candidate Issuer", "type": "string" }, "verification_status": { "$ref": "#/$defs/SignatureVerificationStatus" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" }, "SignatureVerificationStatus": { "enum": [ "verified", "issuer_name_mismatch", "invalid_signature", "unsupported_algorithm", "invalid_parameters", "unsupported_key_type" ], "title": "SignatureVerificationStatus", "type": "string" } }, "required": [ "certificate", "candidate_issuer", "verification_status" ] }
- Fields:
- field candidate_issuer: Reference [Required]
- field certificate: Reference [Required]
- field object_type: Literal['CertificateIssuerCandidate'] = 'CertificateIssuerCandidate'
- field verification_status: SignatureVerificationStatus [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeName[source]
Represents alternative subject names in X509 Certificate objects.
Show JSON schema
{ "title": "SubjectAlternativeName", "description": "Represents alternative subject names in X509 Certificate objects.", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "object_type": "X509Certificate", "title": "Certificate", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "certificate" ] }
- field certificate: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameHostname[source]
Represents subject alternative names for hostnames in X509 Certificate objects.
Possible values
hostnames
Example value
mispo.es
Show JSON schema
{ "title": "SubjectAlternativeNameHostname", "description": "Represents subject alternative names for hostnames in X509 Certificate objects.\n\nPossible values\n---------------\nhostnames\n\nExample value\n-------------\nmispo.es", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameHostname", "default": "SubjectAlternativeNameHostname", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "object_type": "X509Certificate", "title": "Certificate", "type": "string" }, "hostname": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "hostname" ] }
- field hostname: Reference [Required]
- field object_type: Literal['SubjectAlternativeNameHostname'] = 'SubjectAlternativeNameHostname'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameHostnameV2[source]
A subject alternative name that is a hostname, on an X509CertificateV2.
Mirrors SubjectAlternativeNameHostname for the fingerprint-identified certificate.
Show JSON schema
{ "title": "SubjectAlternativeNameHostnameV2", "description": "A subject alternative name that is a hostname, on an X509CertificateV2.\n\nMirrors SubjectAlternativeNameHostname for the fingerprint-identified\ncertificate.", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameHostnameV2", "default": "SubjectAlternativeNameHostnameV2", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509CertificateV2", "title": "Certificate", "type": "string" }, "hostname": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "hostname" ] }
- Fields:
- field certificate: Reference [Required]
- field hostname: Reference [Required]
- field object_type: Literal['SubjectAlternativeNameHostnameV2'] = 'SubjectAlternativeNameHostnameV2'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameIP[source]
Represents subject alternative names for IPs in X509 Certificate objects.
Possible values
IPv4 or IPv6 address
Example value
192.168.1.1
Show JSON schema
{ "title": "SubjectAlternativeNameIP", "description": "Represents subject alternative names for IPs in X509 Certificate objects.\n\nPossible values\n---------------\nIPv4 or IPv6 address\n\nExample value\n-------------\n192.168.1.1", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameIP", "default": "SubjectAlternativeNameIP", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "object_type": "X509Certificate", "title": "Certificate", "type": "string" }, "address": { "object_type": "IPAddress", "title": "Address", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "address" ] }
- field address: Reference [Required]
- field object_type: Literal['SubjectAlternativeNameIP'] = 'SubjectAlternativeNameIP'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameIPV2[source]
A subject alternative name that is an IP address, on an X509CertificateV2.
Mirrors SubjectAlternativeNameIP for the fingerprint-identified certificate.
Show JSON schema
{ "title": "SubjectAlternativeNameIPV2", "description": "A subject alternative name that is an IP address, on an\nX509CertificateV2.\n\nMirrors SubjectAlternativeNameIP for the fingerprint-identified\ncertificate.", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameIPV2", "default": "SubjectAlternativeNameIPV2", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509CertificateV2", "title": "Certificate", "type": "string" }, "address": { "max_inherit_scan_level": 0, "max_issue_scan_level": 4, "object_type": "IPAddress", "title": "Address", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "address" ] }
- Fields:
- field address: Reference [Required]
- field certificate: Reference [Required]
- field object_type: Literal['SubjectAlternativeNameIPV2'] = 'SubjectAlternativeNameIPV2'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameQualifier[source]
Represents subject alternative names qualifier in X509 Certificate objects.
Possible values
hostnames
Example value
mispo.es
Show JSON schema
{ "title": "SubjectAlternativeNameQualifier", "description": "Represents subject alternative names qualifier in X509 Certificate objects.\n\nPossible values\n---------------\nhostnames\n\nExample value\n-------------\nmispo.es", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameQualifier", "default": "SubjectAlternativeNameQualifier", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "object_type": "X509Certificate", "title": "Certificate", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "name" ] }
- field name: str [Required]
- field object_type: Literal['SubjectAlternativeNameQualifier'] = 'SubjectAlternativeNameQualifier'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.SubjectAlternativeNameQualifierV2[source]
A subject alternative name that is not a plain hostname (e.g. a wildcard), on an X509CertificateV2.
Mirrors SubjectAlternativeNameQualifier for the fingerprint-identified certificate.
Show JSON schema
{ "title": "SubjectAlternativeNameQualifierV2", "description": "A subject alternative name that is not a plain hostname (e.g. a\nwildcard), on an X509CertificateV2.\n\nMirrors SubjectAlternativeNameQualifier for the fingerprint-identified\ncertificate.", "type": "object", "properties": { "object_type": { "const": "SubjectAlternativeNameQualifierV2", "default": "SubjectAlternativeNameQualifierV2", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "certificate": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509CertificateV2", "title": "Certificate", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "certificate", "name" ] }
- Fields:
- field certificate: Reference [Required]
- field name: str [Required]
- field object_type: Literal['SubjectAlternativeNameQualifierV2'] = 'SubjectAlternativeNameQualifierV2'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.TLSCertificateChain[source]
A certificate presentation observed at a TLS endpoint.
Records what the server actually transmitted for a specific server name — not a reconstructed trust path. A connection is made for a HostnameIPService (the endpoint, referenced and named in hostname); a connection without a server name is a presentation of the IPService itself: it is valid for the null server name only, not for the service’s other hostnames.
presented_certificates is ordered leaf-first as received, and the order is durable: XTDB stores vector values as ordered lists, so the first entry is the leaf wherever the chain is read — through the entity API, an indexed pull or a reverse-relation join alike. Entries that failed to parse produce no certificate object; the normalizer emits a Finding on the chain for each, with position and raw hash as proof.
The presentation_hash (computed over the ordered entries at observation time) anchors the identity, and the wire order is re-derivable from raw scanner output in Bytes.
Show JSON schema
{ "title": "TLSCertificateChain", "description": "A certificate presentation observed at a TLS endpoint.\n\nRecords what the server actually transmitted for a specific server name \u2014\nnot a reconstructed trust path. A connection is made for a HostnameIPService\n(the endpoint, referenced and named in `hostname`); a connection without a\nserver name is a presentation of the IPService itself: it is valid for the\nnull server name only, not for the service's other hostnames.\n\npresented_certificates is ordered leaf-first as received, and the\norder is durable: XTDB stores vector values as ordered lists, so the\nfirst entry is the leaf wherever the chain is read \u2014 through the\nentity API, an indexed pull or a reverse-relation join alike.\nEntries that failed to parse produce no certificate object; the\nnormalizer emits a Finding on the chain for each, with position and\nraw hash as proof.\n\nThe presentation_hash (computed over the ordered entries at\nobservation time) anchors the identity, and the wire order is\nre-derivable from raw scanner output in Bytes.", "type": "object", "properties": { "object_type": { "const": "TLSCertificateChain", "default": "TLSCertificateChain", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname_ip_service": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "HostnameIPService", "title": "Hostname Ip Service" }, "ip_service": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPService", "title": "Ip Service", "type": "string" }, "hostname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Hostname" }, "presentation_hash": { "title": "Presentation Hash", "type": "string" }, "presented_certificates": { "items": { "type": "string" }, "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509CertificateV2", "title": "Presented Certificates", "type": "array" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ip_service", "presentation_hash" ] }
- Fields:
- field hostname: str | None = None
- field hostname_ip_service: Reference | None = None
- field ip_service: Reference [Required]
- field object_type: Literal['TLSCertificateChain'] = 'TLSCertificateChain'
- field presentation_hash: str [Required]
- field presented_certificates: list[Reference] [Optional]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.certificate.X509Certificate[source]
Represents X509 certificates.
Possible values
Subject, issuer, valid from, valid intil, PK Algorithm, PK size, PK number, serial number, expires in
Show JSON schema
{ "title": "X509Certificate", "description": "Represents X509 certificates.\n\nPossible values\n---------------\nSubject, issuer, valid from, valid intil, PK Algorithm, PK size, PK number, serial number,\nexpires in", "type": "object", "properties": { "object_type": { "const": "X509Certificate", "default": "X509Certificate", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "subject": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Subject" }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Issuer" }, "issuer_distinguished_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Issuer Distinguished Name" }, "valid_from": { "title": "Valid From", "type": "string" }, "valid_until": { "title": "Valid Until", "type": "string" }, "pk_algorithm": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pk Algorithm" }, "pk_size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Pk Size" }, "pk_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pk Number" }, "signed_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509Certificate", "title": "Signed By" }, "serial_number": { "title": "Serial Number", "type": "string" }, "expires_in": { "anyOf": [ { "format": "duration", "type": "string" }, { "type": "null" } ], "default": null, "title": "Expires In" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "valid_from", "valid_until", "serial_number" ] }
- Fields:
- field expires_in: timedelta | None = None
- field issuer: str | None = None
- field issuer_distinguished_name: str | None = None
- field object_type: Literal['X509Certificate'] = 'X509Certificate'
- field pk_algorithm: str | None = None
- field pk_number: str | None = None
- field pk_size: int | None = None
- field serial_number: str [Required]
- field signed_by: Reference | None = None
- field subject: str | None = None
- field valid_from: str [Required]
- field valid_until: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property expired
- pydantic model octopoes.models.ooi.certificate.X509CertificateV2[source]
An X.509 certificate, identified by the SHA-256 fingerprint of its DER encoding.
Fixes the identity problems of X509Certificate: the fingerprint is a collision-free content address (lowercase hex SHA-256 of the DER encoding), and serial_number is the actual serial number. The fingerprint is the identity: every writer observes it, whether by computing it from the presented bytes or by obtaining the certificate (or its hash) from a third-party source. There is no fallback — a certificate that cannot be tied to its SHA-256 is not written.
subject and issuer are RFC4514 distinguished names. Sources that parse the DER provide the full DN; API-based sources provide the DN as their API renders it, which may be partial or non-canonical — comparisons between DNs are only meaningful within one source.
The full certificate is carried in raw when the bytes were observed; a source that saw only the fingerprint and metadata leaves it unset.
There is exactly one active certificate object version: V1 is deprecated and no longer written.
Show JSON schema
{ "title": "X509CertificateV2", "description": "An X.509 certificate, identified by the SHA-256 fingerprint of its\nDER encoding.\n\nFixes the identity problems of X509Certificate: the fingerprint is a\ncollision-free content address (lowercase hex SHA-256 of the DER\nencoding), and serial_number is the actual serial number. The\nfingerprint is the identity: every writer observes it, whether by\ncomputing it from the presented bytes or by obtaining the certificate\n(or its hash) from a third-party source. There is no fallback \u2014 a\ncertificate that cannot be tied to its SHA-256 is not written.\n\nsubject and issuer are RFC4514 distinguished names. Sources that parse\nthe DER provide the full DN; API-based sources provide the DN as their\nAPI renders it, which may be partial or non-canonical \u2014 comparisons\nbetween DNs are only meaningful within one source.\n\nThe full certificate is carried in raw when the bytes were observed;\na source that saw only the fingerprint and metadata leaves it unset.\n\nThere is exactly one active certificate object version: V1 is\ndeprecated and no longer written.", "type": "object", "properties": { "object_type": { "const": "X509CertificateV2", "default": "X509CertificateV2", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "fingerprint": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Fingerprint" }, "raw": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Raw" }, "subject": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Subject" }, "issuer": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Issuer" }, "serial_number": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Serial Number" }, "valid_from": { "format": "date-time", "title": "Valid From", "type": "string" }, "valid_until": { "format": "date-time", "title": "Valid Until", "type": "string" }, "pk_algorithm": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Pk Algorithm" }, "signed_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "X509CertificateV2", "title": "Signed By" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "valid_from", "valid_until" ] }
- Fields:
- field fingerprint: str | None = None
- field issuer: str | None = None
- field object_type: Literal['X509CertificateV2'] = 'X509CertificateV2'
- field pk_algorithm: str | None = None
- field raw: str | None = None
- field serial_number: str | None = None
- field signed_by: Reference | None = None
- field subject: str | None = None
- field valid_from: datetime [Required]
- field valid_until: datetime [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.monitoring
- pydantic model octopoes.models.ooi.monitoring.Application[source]
Represents Application objects.
Show JSON schema
{ "title": "Application", "description": "Represents Application objects.", "type": "object", "properties": { "object_type": { "const": "Application", "default": "Application", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name" ] }
- field name: str [Required]
- field object_type: Literal['Application'] = 'Application'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.monitoring.Incident[source]
Represents Incident objects.
Can be used to document incidents.
Possible values
application, event_id, event_type, event_title, severity, meta_data
Show JSON schema
{ "title": "Incident", "description": "Represents Incident objects.\n\nCan be used to document incidents.\n\nPossible values\n---------------\napplication, event_id, event_type, event_title, severity, meta_data", "type": "object", "properties": { "object_type": { "const": "Incident", "default": "Incident", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "application": { "object_type": "Application", "title": "Application", "type": "string" }, "event_id": { "title": "Event Id", "type": "string" }, "event_type": { "title": "Event Type", "type": "string" }, "event_title": { "title": "Event Title", "type": "string" }, "severity": { "title": "Severity", "type": "string" }, "meta_data": { "additionalProperties": { "$ref": "#/$defs/JsonValue" }, "title": "Meta Data", "type": "object" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "JsonValue": {}, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "application", "event_id", "event_type", "event_title", "severity", "meta_data" ] }
- Fields:
- field application: Reference [Required]
- field event_id: str [Required]
- field event_title: str [Required]
- field event_type: str [Required]
- field meta_data: dict[str, JsonValue] [Required]
- field object_type: Literal['Incident'] = 'Incident'
- field severity: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.question
- pydantic model octopoes.models.ooi.question.Question[source]
Show JSON schema
{ "title": "Question", "type": "object", "properties": { "object_type": { "const": "Question", "default": "Question", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ooi": { "object_type": "OOI", "title": "Ooi", "type": "string" }, "schema_id": { "title": "Schema Id", "type": "string" }, "json_schema": { "title": "Json Schema", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ooi", "schema_id", "json_schema" ] }
- Fields:
- Validators:
- field json_schema: str [Required]
- Validated by:
- field object_type: Literal['Question'] = 'Question'
- field ooi: Reference [Required]
- field schema_id: str [Required]
- validator json_schema_valid » json_schema[source]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property config_pk: str
octopoes.models.ooi.network
- pydantic model octopoes.models.ooi.network.AutonomousSystem[source]
Represents the Autonomous System number object.
Possible value
number, name
Example value
AS1000
Show JSON schema
{ "title": "AutonomousSystem", "description": "Represents the Autonomous System number object.\n\nPossible value\n--------------\nnumber, name\n\nExample value\n-------------\nAS1000", "type": "object", "properties": { "object_type": { "const": "AutonomousSystem", "default": "AutonomousSystem", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "number": { "title": "Number", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "number", "name" ] }
- field name: str | None [Required]
- field number: str [Required]
- field object_type: Literal['AutonomousSystem'] = 'AutonomousSystem'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPAddress[source]
Represents IPv4 or IPv6 address objects.
Show JSON schema
{ "title": "IPAddress", "description": "Represents IPv4 or IPv6 address objects.", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "address": { "anyOf": [ { "format": "ipv4", "type": "string" }, { "format": "ipv6", "type": "string" } ], "title": "Address" }, "network": { "object_type": "Network", "title": "Network", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "address", "network" ] }
- field address: IPv4Address | IPv6Address [Required]
- field network: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPAddressV4[source]
Represents IPv4 address objects.
Example value
192.168.1.2
Show JSON schema
{ "title": "IPAddressV4", "description": "Represents IPv4 address objects.\n\nExample value\n-------------\n192.168.1.2", "type": "object", "properties": { "object_type": { "const": "IPAddressV4", "default": "IPAddressV4", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "address": { "format": "ipv4", "title": "Address", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "netblock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPV4NetBlock", "optional": true, "title": "Netblock" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "address", "network" ] }
- field address: IPv4Address [Required]
- field netblock: Reference | None = None
- field object_type: Literal['IPAddressV4'] = 'IPAddressV4'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPAddressV6[source]
Represents IPv6 address objects.
Example value
fdf8:f53b:82e4::53
Show JSON schema
{ "title": "IPAddressV6", "description": "Represents IPv6 address objects.\n\nExample value\n-------------\nfdf8:f53b:82e4::53", "type": "object", "properties": { "object_type": { "const": "IPAddressV6", "default": "IPAddressV6", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "address": { "format": "ipv6", "title": "Address", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "netblock": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPV6NetBlock", "optional": true, "title": "Netblock" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "address", "network" ] }
- field address: IPv6Address [Required]
- field netblock: Reference | None = None
- field object_type: Literal['IPAddressV6'] = 'IPAddressV6'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPPort[source]
Represents the IP-Port combination.
Possible value
address, protocol, port, port state
Example value
192.168.1.5:22/tcp
Show JSON schema
{ "title": "IPPort", "description": "Represents the IP-Port combination.\n\nPossible value\n--------------\naddress, protocol, port, port state\n\nExample value\n-------------\n192.168.1.5:22/tcp", "type": "object", "properties": { "object_type": { "const": "IPPort", "default": "IPPort", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "address": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "IPAddress", "title": "Address", "type": "string" }, "protocol": { "$ref": "#/$defs/Protocol" }, "port": { "exclusiveMaximum": 65536, "exclusiveMinimum": 0, "title": "Port", "type": "integer" }, "state": { "anyOf": [ { "$ref": "#/$defs/PortState" }, { "type": "null" } ], "default": null } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "PortState": { "description": "Represents the state of the identified ports.\n\nThis is deprecated. OpenKAT assumes that all ports are always open.\n\nPossible value\n--------------\nopen, closed, filtered, unfiltered, open|filtered, closed|filtered\n\nExample value\n-------------\nclosed", "enum": [ "open", "closed", "filtered", "unfiltered", "open|filtered", "closed|filtered" ], "title": "PortState", "type": "string" }, "Protocol": { "description": "Represents the protocol used for ports.\n\nPossible value\n--------------\ntcp, udp\n\nExample value\n-------------\ntcp", "enum": [ "tcp", "udp" ], "title": "Protocol", "type": "string" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "address", "protocol", "port" ] }
- Fields:
- field address: Reference [Required]
- field object_type: Literal['IPPort'] = 'IPPort'
- field port: Annotated[int, Field(gt=0, lt=2 ** 16)] [Required]
- Constraints:
gt = 0
lt = 65536
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPV4NetBlock[source]
Represents the IPv4 Netblock object.
Possible value
start IPv4 address, netmask
Example value
192.168.5.0/24
Show JSON schema
{ "title": "IPV4NetBlock", "description": "Represents the IPv4 Netblock object.\n\nPossible value\n--------------\nstart IPv4 address, netmask\n\nExample value\n-------------\n192.168.5.0/24", "type": "object", "properties": { "object_type": { "const": "IPV4NetBlock", "default": "IPV4NetBlock", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "announced_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "AutonomousSystem", "title": "Announced By" }, "parent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "IPV4NetBlock", "title": "Parent" }, "start_ip": { "max_issue_scan_level": 4, "object_type": "IPAddressV4", "title": "Start Ip", "type": "string" }, "mask": { "exclusiveMaximum": 32, "minimum": 0, "title": "Mask", "type": "integer" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "network", "start_ip", "mask" ] }
- Fields:
- field mask: Annotated[int, Field(ge=0, lt=32)] [Required]
- Constraints:
ge = 0
lt = 32
- field object_type: Literal['IPV4NetBlock'] = 'IPV4NetBlock'
- field parent: Reference | None = None
- field start_ip: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.IPV6NetBlock[source]
Represents the IPv6 Netblock object.
Possible value
start IPv6 address, netmask
Example value
2001:0002::/48
Show JSON schema
{ "title": "IPV6NetBlock", "description": "Represents the IPv6 Netblock object.\n\nPossible value\n--------------\nstart IPv6 address, netmask\n\nExample value\n-------------\n2001:0002::/48", "type": "object", "properties": { "object_type": { "const": "IPV6NetBlock", "default": "IPV6NetBlock", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "announced_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "AutonomousSystem", "title": "Announced By" }, "parent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "IPV6NetBlock", "title": "Parent" }, "start_ip": { "max_issue_scan_level": 4, "object_type": "IPAddressV6", "title": "Start Ip", "type": "string" }, "mask": { "exclusiveMaximum": 128, "minimum": 0, "title": "Mask", "type": "integer" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "network", "start_ip", "mask" ] }
- Fields:
- field mask: Annotated[int, Field(ge=0, lt=128)] [Required]
- Constraints:
ge = 0
lt = 128
- field object_type: Literal['IPV6NetBlock'] = 'IPV6NetBlock'
- field parent: Reference | None = None
- field start_ip: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.NetBlock[source]
Represents the Netblock object for subnets.
Show JSON schema
{ "title": "NetBlock", "description": "Represents the Netblock object for subnets.", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Description" }, "announced_by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "AutonomousSystem", "title": "Announced By" }, "parent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "object_type": "NetBlock", "title": "Parent" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "network" ] }
- Fields:
- field announced_by: Reference | None = None
- field description: str | None = None
- field name: str | None = None
- field network: Reference [Required]
- field parent: Reference | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.network.Network[source]
Represents the Network object.
Can be used to describe how/where scans took place.
Example value
internet
Show JSON schema
{ "title": "Network", "description": "Represents the Network object.\n\nCan be used to describe how/where scans took place.\n\nExample value\n-------------\ninternet", "type": "object", "properties": { "object_type": { "const": "Network", "default": "Network", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name" ] }
- field name: str [Required]
- field object_type: Literal['Network'] = 'Network'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.reports
- pydantic model octopoes.models.ooi.reports.AssetReport[source]
Show JSON schema
{ "title": "AssetReport", "type": "object", "properties": { "object_type": { "const": "AssetReport", "default": "AssetReport", "title": "Object Type", "type": "string" }, "AssetReport/scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Assetreport/Scan Profile" }, "AssetReport/user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Assetreport/User Id" }, "AssetReport/primary_key": { "default": "", "title": "Assetreport/Primary Key", "type": "string" }, "AssetReport/name": { "title": "Assetreport/Name", "type": "string" }, "AssetReport/template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Assetreport/Template" }, "AssetReport/date_generated": { "format": "date-time", "title": "Assetreport/Date Generated", "type": "string" }, "AssetReport/reference_date": { "format": "date-time", "title": "Assetreport/Reference Date", "type": "string" }, "AssetReport/organization_code": { "title": "Assetreport/Organization Code", "type": "string" }, "AssetReport/organization_name": { "title": "Assetreport/Organization Name", "type": "string" }, "AssetReport/organization_tags": { "items": { "type": "string" }, "title": "Assetreport/Organization Tags", "type": "array" }, "AssetReport/data_raw_id": { "title": "Assetreport/Data Raw Id", "type": "string" }, "AssetReport/observed_at": { "format": "date-time", "title": "Assetreport/Observed At", "type": "string" }, "AssetReport/report_recipe": { "object_type": "ReportRecipe", "title": "Assetreport/Report Recipe", "type": "string" }, "AssetReport/report_type": { "title": "Assetreport/Report Type", "type": "string" }, "AssetReport/input_ooi": { "title": "Assetreport/Input Ooi", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "AssetReport/name", "AssetReport/date_generated", "AssetReport/reference_date", "AssetReport/organization_code", "AssetReport/organization_name", "AssetReport/organization_tags", "AssetReport/data_raw_id", "AssetReport/observed_at", "AssetReport/report_recipe", "AssetReport/report_type", "AssetReport/input_ooi" ] }
- Config:
alias_generator: AliasGenerator = AliasGenerator(alias=None, validation_alias=<function AssetReport.<lambda> at 0x7fc9db0379c0>, serialization_alias=None)
populate_by_name: bool = True
validate_by_alias: bool = True
validate_by_name: bool = True
- Fields:
- field input_ooi: str [Required]
- field object_type: Literal['AssetReport'] = 'AssetReport'
- field report_type: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str
- pydantic model octopoes.models.ooi.reports.BaseReport[source]
Show JSON schema
{ "title": "BaseReport", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" }, "template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Template" }, "date_generated": { "format": "date-time", "title": "Date Generated", "type": "string" }, "reference_date": { "format": "date-time", "title": "Reference Date", "type": "string" }, "organization_code": { "title": "Organization Code", "type": "string" }, "organization_name": { "title": "Organization Name", "type": "string" }, "organization_tags": { "items": { "type": "string" }, "title": "Organization Tags", "type": "array" }, "data_raw_id": { "title": "Data Raw Id", "type": "string" }, "observed_at": { "format": "date-time", "title": "Observed At", "type": "string" }, "report_recipe": { "object_type": "ReportRecipe", "title": "Report Recipe", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "name", "date_generated", "reference_date", "organization_code", "organization_name", "organization_tags", "data_raw_id", "observed_at", "report_recipe" ] }
- Fields:
- field data_raw_id: str [Required]
- field date_generated: datetime [Required]
- field name: str [Required]
- field observed_at: datetime [Required]
- field organization_code: str [Required]
- field organization_name: str [Required]
- field organization_tags: list[str] [Required]
- field reference_date: datetime [Required]
- field report_recipe: Reference [Required]
- field template: str | None = None
- pydantic model octopoes.models.ooi.reports.HydratedReport[source]
Show JSON schema
{ "title": "HydratedReport", "type": "object", "properties": { "object_type": { "const": "HydratedReport", "default": "HydratedReport", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" }, "template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Template" }, "date_generated": { "format": "date-time", "title": "Date Generated", "type": "string" }, "reference_date": { "format": "date-time", "title": "Reference Date", "type": "string" }, "organization_code": { "title": "Organization Code", "type": "string" }, "organization_name": { "title": "Organization Name", "type": "string" }, "organization_tags": { "items": { "type": "string" }, "title": "Organization Tags", "type": "array" }, "data_raw_id": { "title": "Data Raw Id", "type": "string" }, "observed_at": { "format": "date-time", "title": "Observed At", "type": "string" }, "report_recipe": { "object_type": "ReportRecipe", "title": "Report Recipe", "type": "string" }, "report_type": { "title": "Report Type", "type": "string" }, "input_oois": { "items": { "anyOf": [ { "$ref": "#/$defs/AssetReport" }, { "type": "string" } ] }, "title": "Input Oois", "type": "array" } }, "$defs": { "AssetReport": { "properties": { "object_type": { "const": "AssetReport", "default": "AssetReport", "title": "Object Type", "type": "string" }, "AssetReport/scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Assetreport/Scan Profile" }, "AssetReport/user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Assetreport/User Id" }, "AssetReport/primary_key": { "default": "", "title": "Assetreport/Primary Key", "type": "string" }, "AssetReport/name": { "title": "Assetreport/Name", "type": "string" }, "AssetReport/template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Assetreport/Template" }, "AssetReport/date_generated": { "format": "date-time", "title": "Assetreport/Date Generated", "type": "string" }, "AssetReport/reference_date": { "format": "date-time", "title": "Assetreport/Reference Date", "type": "string" }, "AssetReport/organization_code": { "title": "Assetreport/Organization Code", "type": "string" }, "AssetReport/organization_name": { "title": "Assetreport/Organization Name", "type": "string" }, "AssetReport/organization_tags": { "items": { "type": "string" }, "title": "Assetreport/Organization Tags", "type": "array" }, "AssetReport/data_raw_id": { "title": "Assetreport/Data Raw Id", "type": "string" }, "AssetReport/observed_at": { "format": "date-time", "title": "Assetreport/Observed At", "type": "string" }, "AssetReport/report_recipe": { "object_type": "ReportRecipe", "title": "Assetreport/Report Recipe", "type": "string" }, "AssetReport/report_type": { "title": "Assetreport/Report Type", "type": "string" }, "AssetReport/input_ooi": { "title": "Assetreport/Input Ooi", "type": "string" } }, "required": [ "AssetReport/name", "AssetReport/date_generated", "AssetReport/reference_date", "AssetReport/organization_code", "AssetReport/organization_name", "AssetReport/organization_tags", "AssetReport/data_raw_id", "AssetReport/observed_at", "AssetReport/report_recipe", "AssetReport/report_type", "AssetReport/input_ooi" ], "title": "AssetReport", "type": "object" }, "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name", "date_generated", "reference_date", "organization_code", "organization_name", "organization_tags", "data_raw_id", "observed_at", "report_recipe", "report_type", "input_oois" ] }
- Fields:
- field input_oois: list[AssetReport | str] [Required]
- field object_type: Literal['HydratedReport'] = 'HydratedReport'
- field report_type: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.reports.Report[source]
Show JSON schema
{ "title": "Report", "type": "object", "properties": { "object_type": { "const": "Report", "default": "Report", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" }, "template": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Template" }, "date_generated": { "format": "date-time", "title": "Date Generated", "type": "string" }, "reference_date": { "format": "date-time", "title": "Reference Date", "type": "string" }, "organization_code": { "title": "Organization Code", "type": "string" }, "organization_name": { "title": "Organization Name", "type": "string" }, "organization_tags": { "items": { "type": "string" }, "title": "Organization Tags", "type": "array" }, "data_raw_id": { "title": "Data Raw Id", "type": "string" }, "observed_at": { "format": "date-time", "title": "Observed At", "type": "string" }, "report_recipe": { "object_type": "ReportRecipe", "title": "Report Recipe", "type": "string" }, "report_type": { "title": "Report Type", "type": "string" }, "input_oois": { "items": { "type": "string" }, "title": "Input Oois", "type": "array" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name", "date_generated", "reference_date", "organization_code", "organization_name", "organization_tags", "data_raw_id", "observed_at", "report_recipe", "report_type", "input_oois" ] }
- field input_oois: list[str] [Required]
- field object_type: Literal['Report'] = 'Report'
- field report_type: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.reports.ReportData[source]
Show JSON schema
{ "title": "ReportData", "type": "object", "properties": { "object_type": { "const": "ReportData", "default": "ReportData", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "organization_code": { "title": "Organization Code", "type": "string" }, "organization_name": { "title": "Organization Name", "type": "string" }, "organization_tags": { "items": { "type": "string" }, "title": "Organization Tags", "type": "array" }, "data": { "additionalProperties": true, "title": "Data", "type": "object" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "organization_code", "organization_name", "organization_tags", "data" ] }
- Fields:
- field data: dict [Required]
- field object_type: Literal['ReportData'] = 'ReportData'
- field organization_code: str [Required]
- field organization_name: str [Required]
- field organization_tags: list[str] [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.reports.ReportRecipe[source]
Show JSON schema
{ "title": "ReportRecipe", "type": "object", "properties": { "object_type": { "const": "ReportRecipe", "default": "ReportRecipe", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "recipe_id": { "format": "uuid", "title": "Recipe Id", "type": "string" }, "report_name_format": { "minLength": 1, "title": "Report Name Format", "type": "string" }, "input_recipe": { "additionalProperties": true, "title": "Input Recipe", "type": "object" }, "report_type": { "minLength": 1, "title": "Report Type", "type": "string" }, "asset_report_types": { "items": { "type": "string" }, "title": "Asset Report Types", "type": "array" }, "cron_expression": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cron Expression" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "recipe_id", "report_name_format", "input_recipe", "report_type", "asset_report_types" ] }
- Fields:
- field asset_report_types: list[str] [Required]
- field cron_expression: str | None = None
- field input_recipe: dict[str, Any] [Required]
- field object_type: Literal['ReportRecipe'] = 'ReportRecipe'
- field recipe_id: UUID [Required]
- field report_name_format: <lambda>, json_schema_input_type=PydanticUndefined), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] [Required]
- Constraints:
func = <function ReportRecipe.<lambda> at 0x7fc9db1b7060>
json_schema_input_type = PydanticUndefined
min_length = 1
- field report_type: <lambda>, json_schema_input_type=PydanticUndefined), FieldInfo(annotation=NoneType, required=True, metadata=[MinLen(min_length=1)])] [Required]
- Constraints:
func = <function ReportRecipe.<lambda> at 0x7fc9db1b79c0>
json_schema_input_type = PydanticUndefined
min_length = 1
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.dns.records
- class octopoes.models.ooi.dns.records.CAATAGS(*values)[source]
Represents CAA tags.
Possible values
issue, issuewild, iodef, contactemail, contactphone, issuevmc, issuemail, tbs
- pydantic model octopoes.models.ooi.dns.records.DNSAAAARecord[source]
Represents the DNS AAAA record.
Example value
2001:0002:6c::430
Show JSON schema
{ "title": "DNSAAAARecord", "description": "Represents the DNS AAAA record.\n\nExample value\n-------------\n2001:0002:6c::430", "type": "object", "properties": { "object_type": { "const": "DNSAAAARecord", "default": "DNSAAAARecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "AAAA", "default": "AAAA", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "address": { "object_type": "IPAddressV6", "title": "Address", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "address" ] }
- Fields:
- field address: Reference [Required]
- field dns_record_type: Literal['AAAA'] = 'AAAA'
- field object_type: Literal['DNSAAAARecord'] = 'DNSAAAARecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSARecord[source]
Represents the DNS A record.
Example value
134.209.85.72
Show JSON schema
{ "title": "DNSARecord", "description": "Represents the DNS A record.\n\nExample value\n-------------\n134.209.85.72", "type": "object", "properties": { "object_type": { "const": "DNSARecord", "default": "DNSARecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "A", "default": "A", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "address": { "object_type": "IPAddressV4", "title": "Address", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "address" ] }
- Fields:
- field address: Reference [Required]
- field dns_record_type: Literal['A'] = 'A'
- field object_type: Literal['DNSARecord'] = 'DNSARecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSCAAAccountURI[source]
Represents the CAA record account uri value. https://www.rfc-editor.org/info/rfc8657/#name-extensions-to-the-caa-recor
Show JSON schema
{ "title": "DNSCAAAccountURI", "description": "Represents the CAA record account uri value.\nhttps://www.rfc-editor.org/info/rfc8657/#name-extensions-to-the-caa-recor", "type": "object", "properties": { "object_type": { "const": "DNSCAAAccountURI", "default": "DNSCAAAccountURI", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "uri": { "title": "Uri", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "uri" ] }
- field object_type: Literal['DNSCAAAccountURI'] = 'DNSCAAAccountURI'
- field uri: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSCAARecord[source]
Represents the DNS CAA record.
Example value
“letsencrypt.org”
Show JSON schema
{ "title": "DNSCAARecord", "description": "Represents the DNS CAA record.\n\nExample value\n-------------\n\"letsencrypt.org\"", "type": "object", "properties": { "object_type": { "const": "DNSCAARecord", "default": "DNSCAARecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "CAA", "default": "CAA", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "flags": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Flags" }, "tag": { "$ref": "#/$defs/CAATAGS" }, "accounturi": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_issue_scan_level": 1, "object_type": "DNSCAAAccountURI", "title": "Accounturi" } }, "$defs": { "CAATAGS": { "description": "Represents CAA tags.\n\nPossible values\n---------------\nissue, issuewild, iodef, contactemail, contactphone, issuevmc, issuemail, tbs", "enum": [ "issue", "issuewild", "iodef", "contactemail", "contactphone", "issuevmc", "issuemail", "tbs" ], "title": "CAATAGS", "type": "string" }, "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "tag" ] }
- Fields:
- field accounturi: Reference | None = None
- field dns_record_type: Literal['CAA'] = 'CAA'
- field flags: int | None = None
- field object_type: Literal['DNSCAARecord'] = 'DNSCAARecord'
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property validationmethods: list[str] | None
- pydantic model octopoes.models.ooi.dns.records.DNSCNAMERecord[source]
Represents the DNS CNAME record.
Show JSON schema
{ "title": "DNSCNAMERecord", "description": "Represents the DNS CNAME record.", "type": "object", "properties": { "object_type": { "const": "DNSCNAMERecord", "default": "DNSCNAMERecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "CNAME", "default": "CNAME", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "target_hostname": { "object_type": "Hostname", "title": "Target Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "target_hostname" ] }
- Fields:
- field dns_record_type: Literal['CNAME'] = 'CNAME'
- field object_type: Literal['DNSCNAMERecord'] = 'DNSCNAMERecord'
- field target_hostname: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSGPOSRecord[source]
Show JSON schema
{ "title": "DNSGPOSRecord", "type": "object", "properties": { "object_type": { "const": "DNSGPOSRecord", "default": "DNSGPOSRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "GPOS", "default": "GPOS", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "latitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Latitude" }, "longitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longitude" }, "altitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Altitude" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value" ] }
- field dns_record_type: Literal['GPOS'] = 'GPOS'
- field object_type: Literal['DNSGPOSRecord'] = 'DNSGPOSRecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSLOCRecord[source]
Show JSON schema
{ "title": "DNSLOCRecord", "type": "object", "properties": { "object_type": { "const": "DNSLOCRecord", "default": "DNSLOCRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "LOC", "default": "LOC", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "latitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Latitude" }, "longitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longitude" }, "altitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Altitude" }, "horizontal_precision": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Horizontal Precision" }, "vertical_precision": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Vertical Precision" }, "size": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Size" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value" ] }
- Fields:
- field dns_record_type: Literal['LOC'] = 'LOC'
- field horizontal_precision: float | None = None
- field object_type: Literal['DNSLOCRecord'] = 'DNSLOCRecord'
- field size: float | None = None
- field vertical_precision: float | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSLocation[source]
Show JSON schema
{ "title": "DNSLocation", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "enum": [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "LOC", "GPOS" ], "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "latitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Latitude" }, "longitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Longitude" }, "altitude": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "title": "Altitude" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "hostname", "dns_record_type", "value" ] }
- field altitude: float | None = None
- field latitude: float | None = None
- field longitude: float | None = None
- property natural_key: str
- pydantic model octopoes.models.ooi.dns.records.DNSMXRecord[source]
Represents the DNS MX record.
Show JSON schema
{ "title": "DNSMXRecord", "description": "Represents the DNS MX record.", "type": "object", "properties": { "object_type": { "const": "DNSMXRecord", "default": "DNSMXRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "MX", "default": "MX", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "mail_hostname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 1, "object_type": "Hostname", "title": "Mail Hostname" }, "preference": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Preference" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value" ] }
- Fields:
- field dns_record_type: Literal['MX'] = 'MX'
- field mail_hostname: Reference | None = None
- field object_type: Literal['DNSMXRecord'] = 'DNSMXRecord'
- field preference: int | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSNSRecord[source]
Represents the DNS NS record.
Example value
ns0.transip.net
Show JSON schema
{ "title": "DNSNSRecord", "description": "Represents the DNS NS record.\n\nExample value\n-------------\nns0.transip.net", "type": "object", "properties": { "object_type": { "const": "DNSNSRecord", "default": "DNSNSRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "NS", "default": "NS", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "name_server_hostname": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Hostname", "title": "Name Server Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "name_server_hostname" ] }
- Fields:
- field dns_record_type: Literal['NS'] = 'NS'
- field name_server_hostname: Reference [Required]
- field object_type: Literal['DNSNSRecord'] = 'DNSNSRecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSPTRRecord[source]
Represents DNS PTR records.
Show JSON schema
{ "title": "DNSPTRRecord", "description": "Represents DNS PTR records.", "type": "object", "properties": { "object_type": { "const": "DNSPTRRecord", "default": "DNSPTRRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "PTR", "default": "PTR", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "address": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "object_type": "IPAddress", "title": "Address" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "address" ] }
- Fields:
- field address: Reference | None [Required]
- field dns_record_type: Literal['PTR'] = 'PTR'
- field object_type: Literal['DNSPTRRecord'] = 'DNSPTRRecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSRecord[source]
Represents the DNS record
Show JSON schema
{ "title": "DNSRecord", "description": "Represents the DNS record", "type": "object", "properties": { "object_type": { "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "enum": [ "A", "AAAA", "CAA", "CNAME", "MX", "NS", "PTR", "SOA", "SRV", "TXT", "LOC", "GPOS" ], "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "object_type", "hostname", "dns_record_type", "value" ] }
- Fields:
- field dns_record_type: Literal['A', 'AAAA', 'CAA', 'CNAME', 'MX', 'NS', 'PTR', 'SOA', 'SRV', 'TXT', 'LOC', 'GPOS'] [Required]
- field hostname: Reference [Required]
- field ttl: int | None = None
- field value: str [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSSOARecord[source]
Represents the DNS SOA record.
Example value
ns1.domaindiscount24.net. tech.key-systems.net. 2023012324 10800 3600 604800 3600
Show JSON schema
{ "title": "DNSSOARecord", "description": "Represents the DNS SOA record.\n\nExample value\n-------------\nns1.domaindiscount24.net. tech.key-systems.net. 2023012324 10800 3600 604800 3600", "type": "object", "properties": { "object_type": { "const": "DNSSOARecord", "default": "DNSSOARecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "SOA", "default": "SOA", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" }, "soa_hostname": { "object_type": "Hostname", "title": "Soa Hostname", "type": "string" }, "rname": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Rname" }, "serial": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Serial" }, "retry": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Retry" }, "refresh": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Refresh" }, "expire": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Expire" }, "minimum": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Minimum" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value", "soa_hostname" ] }
- Fields:
- field dns_record_type: Literal['SOA'] = 'SOA'
- field expire: int | None = None
- field minimum: int | None = None
- field object_type: Literal['DNSSOARecord'] = 'DNSSOARecord'
- field refresh: int | None = None
- field retry: int | None = None
- field rname: str | None = None
- field serial: int | None = None
- field soa_hostname: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.records.DNSTXTRecord[source]
Represents the DNS TXT record.
Example value
v=DMARC1;p=none;rua=dmarc@mispo.es;ruf=dmarc@mispo.es
Show JSON schema
{ "title": "DNSTXTRecord", "description": "Represents the DNS TXT record.\n\nExample value\n-------------\nv=DMARC1;p=none;rua=dmarc@mispo.es;ruf=dmarc@mispo.es", "type": "object", "properties": { "object_type": { "const": "DNSTXTRecord", "default": "DNSTXTRecord", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 2, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "dns_record_type": { "const": "TXT", "default": "TXT", "title": "Dns Record Type", "type": "string" }, "value": { "title": "Value", "type": "string" }, "ttl": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "Ttl" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "value" ] }
- field dns_record_type: Literal['TXT'] = 'TXT'
- field object_type: Literal['DNSTXTRecord'] = 'DNSTXTRecord'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str
- pydantic model octopoes.models.ooi.dns.records.NXDOMAIN[source]
Represents non-existing domains.
Show JSON schema
{ "title": "NXDOMAIN", "description": "Represents non-existing domains.", "type": "object", "properties": { "object_type": { "const": "NXDOMAIN", "default": "NXDOMAIN", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "object_type": "Hostname", "title": "Hostname", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname" ] }
- field hostname: Reference [Required]
- field object_type: Literal['NXDOMAIN'] = 'NXDOMAIN'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.dns.zone
- pydantic model octopoes.models.ooi.dns.zone.DNSZone[source]
Represents the DNS zone.
Example value
mispo.es
Show JSON schema
{ "title": "DNSZone", "description": "Represents the DNS zone.\n\nExample value\n-------------\nmispo.es", "type": "object", "properties": { "object_type": { "const": "DNSZone", "default": "DNSZone", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 1, "max_issue_scan_level": 2, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "parent": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "DNSZone", "title": "Parent" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname" ] }
- Fields:
- field hostname: Reference [Required]
- field object_type: Literal['DNSZone'] = 'DNSZone'
- field parent: Reference | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.zone.Hostname[source]
Represents the Hostname object.
Example value
mispo.es
Show JSON schema
{ "title": "Hostname", "description": "Represents the Hostname object.\n\nExample value\n-------------\nmispo.es", "type": "object", "properties": { "object_type": { "const": "Hostname", "default": "Hostname", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "network": { "object_type": "Network", "title": "Network", "type": "string" }, "name": { "title": "Name", "type": "string" }, "dns_zone": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 2, "max_issue_scan_level": 1, "object_type": "DNSZone", "title": "Dns Zone" }, "registered_domain": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "max_inherit_scan_level": 2, "max_issue_scan_level": 1, "object_type": "Hostname", "title": "Registered Domain" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "network", "name" ] }
- Fields:
- Validators:
- field dns_zone: Reference | None = None
- field name: Annotated[str, StringConstraints(to_lower=True)] [Required]
- Constraints:
to_lower = True
- Validated by:
- field network: Reference [Required]
- field object_type: Literal['Hostname'] = 'Hostname'
- field registered_domain: Reference | None = None
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.dns.zone.ResolvedHostname[source]
Represents resolved hostnames.
Example value
ns1.domaindiscount24.net -> 193.227.117.34
Show JSON schema
{ "title": "ResolvedHostname", "description": "Represents resolved hostnames.\n\nExample value\n-------------\nns1.domaindiscount24.net -> 193.227.117.34", "type": "object", "properties": { "object_type": { "const": "ResolvedHostname", "default": "ResolvedHostname", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "hostname": { "max_inherit_scan_level": 4, "max_issue_scan_level": 0, "object_type": "Hostname", "title": "Hostname", "type": "string" }, "address": { "max_inherit_scan_level": 0, "max_issue_scan_level": 4, "object_type": "IPAddress", "title": "Address", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "hostname", "address" ] }
- Fields:
- field address: Reference [Required]
- field hostname: Reference [Required]
- field object_type: Literal['ResolvedHostname'] = 'ResolvedHostname'
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
octopoes.models.ooi.software
- pydantic model octopoes.models.ooi.software.Software[source]
Show JSON schema
{ "title": "Software", "type": "object", "properties": { "object_type": { "const": "Software", "default": "Software", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "name": { "title": "Name", "type": "string" }, "version": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Version" }, "cpe": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "title": "Cpe" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "name" ] }
- Fields:
- Validators:
- field cpe: str | None = None
- Validated by:
- field name: str [Required]
- Validated by:
- field object_type: Literal['Software'] = 'Software'
- field version: str | None = None
- Validated by:
- validator coerce_numeric_to_string » version, cpe, name[source]
Coerce a numeric version to a string.
External APIs (e.g. shodan, censys, binaryedge) deliver numeric versions, which would otherwise fail field validation and abort the whole scan’s normalization. Only numbers are coerced — a bool/list/dict is left for pydantic to reject, so a structurally wrong value surfaces as a normalizer bug instead of being stored as garbage. The reference-separator escaping (issue #5299) lives in OOI.natural_key, so it is not repeated here.
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- pydantic model octopoes.models.ooi.software.SoftwareInstance[source]
Show JSON schema
{ "title": "SoftwareInstance", "type": "object", "properties": { "object_type": { "const": "SoftwareInstance", "default": "SoftwareInstance", "title": "Object Type", "type": "string" }, "scan_profile": { "anyOf": [ { "$ref": "#/$defs/EmptyScanProfile" }, { "$ref": "#/$defs/InheritedScanProfile" }, { "$ref": "#/$defs/DeclaredScanProfile" }, { "type": "null" } ], "default": null, "title": "Scan Profile" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" }, "primary_key": { "default": "", "title": "Primary Key", "type": "string" }, "ooi": { "max_inherit_scan_level": 1, "max_issue_scan_level": 0, "object_type": "OOI", "title": "Ooi", "type": "string" }, "software": { "max_inherit_scan_level": 0, "max_issue_scan_level": 1, "object_type": "Software", "title": "Software", "type": "string" } }, "$defs": { "DeclaredScanProfile": { "properties": { "scan_profile_type": { "const": "declared", "default": "declared", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "DeclaredScanProfile", "type": "object" }, "EmptyScanProfile": { "properties": { "scan_profile_type": { "const": "empty", "default": "empty", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel", "default": 0 }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference" ], "title": "EmptyScanProfile", "type": "object" }, "InheritedScanProfile": { "properties": { "scan_profile_type": { "const": "inherited", "default": "inherited", "title": "Scan Profile Type", "type": "string" }, "reference": { "title": "Reference", "type": "string" }, "level": { "$ref": "#/$defs/ScanLevel" }, "user_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "title": "User Id" } }, "required": [ "reference", "level" ], "title": "InheritedScanProfile", "type": "object" }, "ScanLevel": { "enum": [ 0, 1, 2, 3, 4 ], "title": "ScanLevel", "type": "integer" } }, "required": [ "ooi", "software" ] }
- Fields:
- field object_type: Literal['SoftwareInstance'] = 'SoftwareInstance'
- field ooi: Reference [Required]
- field software: Reference [Required]
- model_post_init(_OOI__context: Any) None
Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.
- property natural_key: str