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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field name: str [Required]
field object_type: Literal['Service'] = 'Service'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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 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"
   ]
}

Fields:
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"
   ]
}

Fields:
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"
   ]
}

Fields:
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"
   ]
}

Fields:
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
classmethod format_reference_human_readable(reference: Reference) → str[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 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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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"
   ]
}

Fields:
field hostname: Reference [Required]
field object_type: Literal['DKIMExists'] = 'DKIMExists'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field dkim_selector: Reference [Required]
field key: str [Required]
field object_type: Literal['DKIMKey'] = 'DKIMKey'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field hostname: Reference [Required]
field object_type: Literal['DKIMSelector'] = 'DKIMSelector'
field selector: str [Required]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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 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"
   ]
}

Fields:
field name: str [Required]
field object_type: Literal['APIDesignRule'] = 'APIDesignRule'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field header: Reference [Required]
field name: str [Required]
field object_type: Literal['CSPDirective'] = 'CSPDirective'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field directive: Reference [Required]
field object_type: Literal['CSPSource'] = 'CSPSource'
field value: str [Required]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field netloc: Reference [Required]
field object_type: Literal['HostnameHTTPURL'] = 'HostnameHTTPURL'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field netloc: Reference [Required]
field object_type: Literal['IPAddressHTTPURL'] = 'IPAddressHTTPURL'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field api_url: Reference [Required]
field object_type: Literal['RESTAPI'] = 'RESTAPI'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

class octopoes.models.ooi.web.WebScheme(*values)[source]
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]
field scheme: WebScheme [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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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.

class octopoes.models.ooi.certificate.SignatureVerificationStatus(*values)[source]
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"
   ]
}

Fields:
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"
   ]
}

Fields:
field hostname: Reference [Required]
field object_type: Literal['SubjectAlternativeNameHostname'] = 'SubjectAlternativeNameHostname'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field address: Reference [Required]
field object_type: Literal['SubjectAlternativeNameIP'] = 'SubjectAlternativeNameIP'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field name: str [Required]
field object_type: Literal['SubjectAlternativeNameQualifier'] = 'SubjectAlternativeNameQualifier'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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 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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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"
   ]
}

Fields:
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"
   ]
}

Fields:
field address: IPv4Address | IPv6Address [Required]
field network: Reference [Required]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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"
   ]
}

Fields:
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

field protocol: Protocol [Required]
field state: PortState | None = None
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
field name: str [Required]
field object_type: Literal['Network'] = 'Network'
classmethod format_reference_human_readable(reference: Reference) → str[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.

class octopoes.models.ooi.network.PortState(*values)[source]

Represents the state of the identified ports.

This is deprecated. OpenKAT assumes that all ports are always open.

Possible value

open, closed, filtered, unfiltered, open|filtered, closed|filtered

Example value

closed

class octopoes.models.ooi.network.Protocol(*values)[source]

Represents the protocol used for ports.

Possible value

tcp, udp

Example value

tcp

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]
classmethod format_reference_human_readable(reference: Reference) → str[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 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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

to_report() → Report[source]
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"
   ]
}

Fields:
field input_oois: list[str] [Required]
field object_type: Literal['Report'] = 'Report'
field report_type: str [Required]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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 tag: CAATAGS [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.

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"
   ]
}

Fields:
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"
   ]
}

Fields:
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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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.

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"
   ]
}

Fields:
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"
   ]
}

Fields:
field hostname: Reference [Required]
field object_type: Literal['NXDOMAIN'] = 'NXDOMAIN'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[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.

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
classmethod format_reference_human_readable(reference: Reference) → str[source]
validator hostname_valid  »  name[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.

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'
classmethod format_reference_human_readable(reference: Reference) → str[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.

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.

classmethod format_reference_human_readable(reference: Reference) → str[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.

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]
classmethod format_reference_human_readable(reference: Reference) → str[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 natural_key: str