pa_api.xmlapi.types.operations.device

  1from typing import Optional
  2
  3from pydantic import AliasPath, ConfigDict, Field
  4
  5from pa_api.xmlapi.types.utils import Datetime, XMLBaseModel
  6
  7
  8class Device(XMLBaseModel):
  9    model_config = ConfigDict(populate_by_name=True, extra="allow")
 10
 11    serial: str
 12    connected: bool
 13    unsupported_version: bool = Field(validation_alias="unsupported-version")
 14    wildfire_rt: bool = Field(validation_alias="wildfire-rt")
 15    deactivated: Optional[str] = None
 16    hostname: Optional[str] = None
 17    ip_address: Optional[str] = Field(validation_alias="ip-address", default=None)
 18    ipv6_address: Optional[str] = Field(validation_alias="ipv6-address", default=None)
 19    mac_addr: Optional[str] = Field(validation_alias="mac-addr", default=None)
 20    uptime: Optional[str] = None
 21    family: Optional[str] = None
 22    model: Optional[str] = None
 23    sw_version: Optional[str] = Field(validation_alias="sw-version", default=None)
 24    app_version: Optional[str] = Field(validation_alias="app-version", default=None)
 25    av_version: Optional[str] = Field(validation_alias="av-version", default=None)
 26    device_dictionary_version: Optional[str] = Field(
 27        validation_alias="device-dictionary-version", default=""
 28    )
 29    wildfire_version: Optional[str] = Field(
 30        validation_alias="wildfire-version", default=None
 31    )
 32    threat_version: Optional[str] = Field(
 33        validation_alias="threat-version", default=None
 34    )
 35    url_db: Optional[str] = Field(validation_alias="url-db", default=None)
 36    url_filtering_version: Optional[str] = Field(
 37        validation_alias="url-filtering-version", default=None
 38    )
 39    logdb_version: Optional[str] = Field(validation_alias="logdb-version", default=None)
 40    vpnclient_package_version: Optional[str] = Field(
 41        validation_alias="vpnclient-package-version", default=None
 42    )
 43    global_protect_client_package_version: Optional[str] = Field(
 44        validation_alias="global-protect-client-package-version", default=None
 45    )
 46    prev_app_version: Optional[str] = Field(
 47        validation_alias="prev-app-version", default=None
 48    )
 49    prev_av_version: Optional[str] = Field(
 50        validation_alias="prev-av-version", default=None
 51    )
 52    prev_threat_version: Optional[str] = Field(
 53        validation_alias="prev-threat-version", default=None
 54    )
 55    prev_wildfire_version: Optional[str] = Field(
 56        validation_alias="prev-wildfire-version", default=None
 57    )
 58    prev_device_dictionary_version: Optional[str] = Field(
 59        validation_alias="prev-device-dictionary-version", default=""
 60    )
 61    # domain/: str
 62    # slot_count: str
 63    # type/: str
 64    # tag/: str
 65    # plugin_versions
 66    # ha_cluster
 67    ha_peer_serial: Optional[str] = Field(
 68        validation_alias=AliasPath("ha", "peer", "serial", "#text"), default=None
 69    )
 70    vpn_disable_mode: bool = Field(validation_alias="vpn-disable-mode")
 71    operational_mode: str = Field(validation_alias="operational-mode")
 72    certificate_status: Optional[str] = Field(
 73        validation_alias="certificate-status", default=None
 74    )
 75    certificate_subject_name: Optional[str] = Field(
 76        validation_alias="certificate-subject-name", default=None
 77    )
 78    certificate_expiry: Optional[Datetime] = Field(
 79        validation_alias="certificate-expiry", default=None
 80    )
 81    connected_at: Optional[Datetime] = Field(
 82        validation_alias="connected-at", default=None
 83    )
 84    custom_certificate_usage: Optional[str] = Field(
 85        validation_alias="custom-certificate-usage", default=None
 86    )
 87    multi_vsys: bool = Field(validation_alias="multi-vsys")
 88    # vsys
 89    last_masterkey_push_status: str = Field(
 90        validation_alias="last-masterkey-push-status"
 91    )
 92    last_masterkey_push_timestamp: Optional[str] = Field(
 93        validation_alias="last-masterkey-push-timestamp", default=None
 94    )
 95    express_mode: bool = Field(validation_alias="express-mode")
 96    device_cert_present: Optional[str] = Field(
 97        validation_alias="device-cert-present", default=None
 98    )
 99    device_cert_expiry_date: str = Field(validation_alias="device-cert-expiry-date")
100
101
102class VPNFlow(XMLBaseModel):
103    model_config = ConfigDict(populate_by_name=True, extra="allow")
104
105    name: str
106    id: int
107    gwid: int
108    inner_if: str = Field(validation_alias="inner-if")
109    outer_if: str = Field(validation_alias="outer-if")
110    localip: str
111    peerip: str
112    state: str
113    mon: str
114    owner: str
class Device(pa_api.xmlapi.types.utils.XMLBaseModel):
  9class Device(XMLBaseModel):
 10    model_config = ConfigDict(populate_by_name=True, extra="allow")
 11
 12    serial: str
 13    connected: bool
 14    unsupported_version: bool = Field(validation_alias="unsupported-version")
 15    wildfire_rt: bool = Field(validation_alias="wildfire-rt")
 16    deactivated: Optional[str] = None
 17    hostname: Optional[str] = None
 18    ip_address: Optional[str] = Field(validation_alias="ip-address", default=None)
 19    ipv6_address: Optional[str] = Field(validation_alias="ipv6-address", default=None)
 20    mac_addr: Optional[str] = Field(validation_alias="mac-addr", default=None)
 21    uptime: Optional[str] = None
 22    family: Optional[str] = None
 23    model: Optional[str] = None
 24    sw_version: Optional[str] = Field(validation_alias="sw-version", default=None)
 25    app_version: Optional[str] = Field(validation_alias="app-version", default=None)
 26    av_version: Optional[str] = Field(validation_alias="av-version", default=None)
 27    device_dictionary_version: Optional[str] = Field(
 28        validation_alias="device-dictionary-version", default=""
 29    )
 30    wildfire_version: Optional[str] = Field(
 31        validation_alias="wildfire-version", default=None
 32    )
 33    threat_version: Optional[str] = Field(
 34        validation_alias="threat-version", default=None
 35    )
 36    url_db: Optional[str] = Field(validation_alias="url-db", default=None)
 37    url_filtering_version: Optional[str] = Field(
 38        validation_alias="url-filtering-version", default=None
 39    )
 40    logdb_version: Optional[str] = Field(validation_alias="logdb-version", default=None)
 41    vpnclient_package_version: Optional[str] = Field(
 42        validation_alias="vpnclient-package-version", default=None
 43    )
 44    global_protect_client_package_version: Optional[str] = Field(
 45        validation_alias="global-protect-client-package-version", default=None
 46    )
 47    prev_app_version: Optional[str] = Field(
 48        validation_alias="prev-app-version", default=None
 49    )
 50    prev_av_version: Optional[str] = Field(
 51        validation_alias="prev-av-version", default=None
 52    )
 53    prev_threat_version: Optional[str] = Field(
 54        validation_alias="prev-threat-version", default=None
 55    )
 56    prev_wildfire_version: Optional[str] = Field(
 57        validation_alias="prev-wildfire-version", default=None
 58    )
 59    prev_device_dictionary_version: Optional[str] = Field(
 60        validation_alias="prev-device-dictionary-version", default=""
 61    )
 62    # domain/: str
 63    # slot_count: str
 64    # type/: str
 65    # tag/: str
 66    # plugin_versions
 67    # ha_cluster
 68    ha_peer_serial: Optional[str] = Field(
 69        validation_alias=AliasPath("ha", "peer", "serial", "#text"), default=None
 70    )
 71    vpn_disable_mode: bool = Field(validation_alias="vpn-disable-mode")
 72    operational_mode: str = Field(validation_alias="operational-mode")
 73    certificate_status: Optional[str] = Field(
 74        validation_alias="certificate-status", default=None
 75    )
 76    certificate_subject_name: Optional[str] = Field(
 77        validation_alias="certificate-subject-name", default=None
 78    )
 79    certificate_expiry: Optional[Datetime] = Field(
 80        validation_alias="certificate-expiry", default=None
 81    )
 82    connected_at: Optional[Datetime] = Field(
 83        validation_alias="connected-at", default=None
 84    )
 85    custom_certificate_usage: Optional[str] = Field(
 86        validation_alias="custom-certificate-usage", default=None
 87    )
 88    multi_vsys: bool = Field(validation_alias="multi-vsys")
 89    # vsys
 90    last_masterkey_push_status: str = Field(
 91        validation_alias="last-masterkey-push-status"
 92    )
 93    last_masterkey_push_timestamp: Optional[str] = Field(
 94        validation_alias="last-masterkey-push-timestamp", default=None
 95    )
 96    express_mode: bool = Field(validation_alias="express-mode")
 97    device_cert_present: Optional[str] = Field(
 98        validation_alias="device-cert-present", default=None
 99    )
100    device_cert_expiry_date: str = Field(validation_alias="device-cert-expiry-date")

Usage docs: https://docs.pydantic.dev/2.9/concepts/models/

A base class for creating Pydantic models.

Attributes: __class_vars__: The names of the class variables defined on the model. __private_attributes__: Metadata about the private attributes of the model. __signature__: The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
    This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
    __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.

__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
    is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.
model_config = {'populate_by_name': True, 'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

serial: str
connected: bool
unsupported_version: bool
wildfire_rt: bool
deactivated: Optional[str]
hostname: Optional[str]
ip_address: Optional[str]
ipv6_address: Optional[str]
mac_addr: Optional[str]
uptime: Optional[str]
family: Optional[str]
model: Optional[str]
sw_version: Optional[str]
app_version: Optional[str]
av_version: Optional[str]
device_dictionary_version: Optional[str]
wildfire_version: Optional[str]
threat_version: Optional[str]
url_db: Optional[str]
url_filtering_version: Optional[str]
logdb_version: Optional[str]
vpnclient_package_version: Optional[str]
global_protect_client_package_version: Optional[str]
prev_app_version: Optional[str]
prev_av_version: Optional[str]
prev_threat_version: Optional[str]
prev_wildfire_version: Optional[str]
prev_device_dictionary_version: Optional[str]
ha_peer_serial: Optional[str]
vpn_disable_mode: bool
operational_mode: str
certificate_status: Optional[str]
certificate_subject_name: Optional[str]
certificate_expiry: Optional[Annotated[datetime.datetime, PlainValidator(func=<function parse_datetime at 0x7f0db0d50670>, json_schema_input_type=Any)]]
connected_at: Optional[Annotated[datetime.datetime, PlainValidator(func=<function parse_datetime at 0x7f0db0d50670>, json_schema_input_type=Any)]]
custom_certificate_usage: Optional[str]
multi_vsys: bool
last_masterkey_push_status: str
last_masterkey_push_timestamp: Optional[str]
express_mode: bool
device_cert_present: Optional[str]
device_cert_expiry_date: str
model_fields: ClassVar[Dict[str, pydantic.fields.FieldInfo]] = {'serial': FieldInfo(annotation=str, required=True), 'connected': FieldInfo(annotation=bool, required=True), 'unsupported_version': FieldInfo(annotation=bool, required=True, alias_priority=2, validation_alias='unsupported-version'), 'wildfire_rt': FieldInfo(annotation=bool, required=True, alias_priority=2, validation_alias='wildfire-rt'), 'deactivated': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'hostname': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'ip_address': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='ip-address'), 'ipv6_address': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='ipv6-address'), 'mac_addr': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='mac-addr'), 'uptime': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'family': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'model': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'sw_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='sw-version'), 'app_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='app-version'), 'av_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='av-version'), 'device_dictionary_version': FieldInfo(annotation=Union[str, NoneType], required=False, default='', alias_priority=2, validation_alias='device-dictionary-version'), 'wildfire_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='wildfire-version'), 'threat_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='threat-version'), 'url_db': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='url-db'), 'url_filtering_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='url-filtering-version'), 'logdb_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='logdb-version'), 'vpnclient_package_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='vpnclient-package-version'), 'global_protect_client_package_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='global-protect-client-package-version'), 'prev_app_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='prev-app-version'), 'prev_av_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='prev-av-version'), 'prev_threat_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='prev-threat-version'), 'prev_wildfire_version': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='prev-wildfire-version'), 'prev_device_dictionary_version': FieldInfo(annotation=Union[str, NoneType], required=False, default='', alias_priority=2, validation_alias='prev-device-dictionary-version'), 'ha_peer_serial': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias=AliasPath(path=['ha', 'peer', 'serial', '#text'])), 'vpn_disable_mode': FieldInfo(annotation=bool, required=True, alias_priority=2, validation_alias='vpn-disable-mode'), 'operational_mode': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='operational-mode'), 'certificate_status': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='certificate-status'), 'certificate_subject_name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='certificate-subject-name'), 'certificate_expiry': FieldInfo(annotation=Union[Annotated[datetime, PlainValidator], NoneType], required=False, default=None, alias_priority=2, validation_alias='certificate-expiry'), 'connected_at': FieldInfo(annotation=Union[Annotated[datetime, PlainValidator], NoneType], required=False, default=None, alias_priority=2, validation_alias='connected-at'), 'custom_certificate_usage': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='custom-certificate-usage'), 'multi_vsys': FieldInfo(annotation=bool, required=True, alias_priority=2, validation_alias='multi-vsys'), 'last_masterkey_push_status': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='last-masterkey-push-status'), 'last_masterkey_push_timestamp': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='last-masterkey-push-timestamp'), 'express_mode': FieldInfo(annotation=bool, required=True, alias_priority=2, validation_alias='express-mode'), 'device_cert_present': FieldInfo(annotation=Union[str, NoneType], required=False, default=None, alias_priority=2, validation_alias='device-cert-present'), 'device_cert_expiry_date': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='device-cert-expiry-date')}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

model_computed_fields: ClassVar[Dict[str, pydantic.fields.ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

Inherited Members
pydantic.main.BaseModel
BaseModel
model_extra
model_fields_set
model_construct
model_copy
model_dump
model_dump_json
model_json_schema
model_parametrized_name
model_post_init
model_rebuild
model_validate
model_validate_json
model_validate_strings
dict
json
parse_obj
parse_raw
parse_file
from_orm
construct
copy
schema
schema_json
validate
update_forward_refs
pa_api.xmlapi.types.utils.XMLBaseModel
from_xml
class VPNFlow(pa_api.xmlapi.types.utils.XMLBaseModel):
103class VPNFlow(XMLBaseModel):
104    model_config = ConfigDict(populate_by_name=True, extra="allow")
105
106    name: str
107    id: int
108    gwid: int
109    inner_if: str = Field(validation_alias="inner-if")
110    outer_if: str = Field(validation_alias="outer-if")
111    localip: str
112    peerip: str
113    state: str
114    mon: str
115    owner: str

Usage docs: https://docs.pydantic.dev/2.9/concepts/models/

A base class for creating Pydantic models.

Attributes: __class_vars__: The names of the class variables defined on the model. __private_attributes__: Metadata about the private attributes of the model. __signature__: The synthesized __init__ [Signature][inspect.Signature] of the model.

__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__pydantic_custom_init__: Whether the model has a custom `__init__` function.
__pydantic_decorators__: Metadata containing the decorators defined on the model.
    This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
__pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
    __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
__pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
__pydantic_post_init__: The name of the post-init method for the model, if defined.
__pydantic_root_model__: Whether the model is a [`RootModel`][pydantic.root_model.RootModel].
__pydantic_serializer__: The `pydantic-core` `SchemaSerializer` used to dump instances of the model.
__pydantic_validator__: The `pydantic-core` `SchemaValidator` used to validate instances of the model.

__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
    is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.
model_config = {'populate_by_name': True, 'extra': 'allow'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

name: str
id: int
gwid: int
inner_if: str
outer_if: str
localip: str
peerip: str
state: str
mon: str
owner: str
model_fields: ClassVar[Dict[str, pydantic.fields.FieldInfo]] = {'name': FieldInfo(annotation=str, required=True), 'id': FieldInfo(annotation=int, required=True), 'gwid': FieldInfo(annotation=int, required=True), 'inner_if': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='inner-if'), 'outer_if': FieldInfo(annotation=str, required=True, alias_priority=2, validation_alias='outer-if'), 'localip': FieldInfo(annotation=str, required=True), 'peerip': FieldInfo(annotation=str, required=True), 'state': FieldInfo(annotation=str, required=True), 'mon': FieldInfo(annotation=str, required=True), 'owner': FieldInfo(annotation=str, required=True)}

Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo] objects.

This replaces Model.__fields__ from Pydantic V1.

model_computed_fields: ClassVar[Dict[str, pydantic.fields.ComputedFieldInfo]] = {}

A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

Inherited Members
pydantic.main.BaseModel
BaseModel
model_extra
model_fields_set
model_construct
model_copy
model_dump
model_dump_json
model_json_schema
model_parametrized_name
model_post_init
model_rebuild
model_validate
model_validate_json
model_validate_strings
dict
json
parse_obj
parse_raw
parse_file
from_orm
construct
copy
schema
schema_json
validate
update_forward_refs
pa_api.xmlapi.types.utils.XMLBaseModel
from_xml