Skip to content

ConsolidatedAccessDeviceMultipleIdentityEndpointAndContactModify

Bases: OCIType

Access device end point used in the context of modify. . The endpoint is identified by its linePort (public Identity) and possibly a private Identity. Only Static Registration capable devices may have more than one contact defined. Only the first contact in contactList is used in XS data mode. Port numbers are only used by devices with static line ordering.

In the case an access device referenced by accessDevice does not exist, the device will be added.
When the device needs to be added, if the linePort is not specified, the request will fail

If the deviceType is included in the request a new device will be created using the type unless a
device with the same name already exists.

The device attributes protocol, netAddress, port, outboundProxyServerNetAddress,
stunServerNetAddress, macAddress, serialNumber, description, physicalLocation, transportProtocol,
useCustomUserNamePassword and accessDeviceCredentials will be ignored if the access device already
exists.

The following elements are only used in AS data mode and ignored in XS data mode:
  useHotline
  hotlineContact

Attributes:

access_device (Optional[AccessDevice]):

line_port (Optional[str]):

private_identity (Optional[Nillable[str]]):

contact_list (Optional[Nillable[ReplacementContactList]]):

port_number (Optional[int]):

device_type (Optional[str]):

protocol (Optional[str]):

net_address (Optional[str]):

port (Optional[int]):

outbound_proxy_server_net_address (Optional[str]):

stun_server_net_address (Optional[str]):

mac_address (Optional[str]):

serial_number (Optional[str]):

description (Optional[str]):

physical_location (Optional[str]):

transport_protocol (Optional[str]):

use_custom_user_name_password (Optional[bool]):

access_device_credentials (Optional[DeviceManagementUserNamePassword16]):

use_hotline (Optional[bool]):

hotline_contact (Optional[Nillable[str]]):
Source code in src/mercury_ocip/commands/commands.py
@dataclass(kw_only=True)
class ConsolidatedAccessDeviceMultipleIdentityEndpointAndContactModify(OCIType):
    """Access device end point used in the context of modify. .
        The endpoint is identified by its linePort (public Identity) and possibly a private Identity.
        Only Static Registration capable devices may have more than one contact defined.
        Only the first contact in contactList is used in XS data mode.
        Port numbers are only used by devices with static line ordering.

        In the case an access device referenced by accessDevice does not exist, the device will be added.
        When the device needs to be added, if the linePort is not specified, the request will fail

        If the deviceType is included in the request a new device will be created using the type unless a
        device with the same name already exists.

        The device attributes protocol, netAddress, port, outboundProxyServerNetAddress,
        stunServerNetAddress, macAddress, serialNumber, description, physicalLocation, transportProtocol,
        useCustomUserNamePassword and accessDeviceCredentials will be ignored if the access device already
        exists.

        The following elements are only used in AS data mode and ignored in XS data mode:
          useHotline
          hotlineContact

    Attributes:

        access_device (Optional[AccessDevice]):

        line_port (Optional[str]):

        private_identity (Optional[Nillable[str]]):

        contact_list (Optional[Nillable[ReplacementContactList]]):

        port_number (Optional[int]):

        device_type (Optional[str]):

        protocol (Optional[str]):

        net_address (Optional[str]):

        port (Optional[int]):

        outbound_proxy_server_net_address (Optional[str]):

        stun_server_net_address (Optional[str]):

        mac_address (Optional[str]):

        serial_number (Optional[str]):

        description (Optional[str]):

        physical_location (Optional[str]):

        transport_protocol (Optional[str]):

        use_custom_user_name_password (Optional[bool]):

        access_device_credentials (Optional[DeviceManagementUserNamePassword16]):

        use_hotline (Optional[bool]):

        hotline_contact (Optional[Nillable[str]]):

    """

    access_device: Optional[AccessDevice] = field(
        default=None, metadata={"alias": "accessDevice"}
    )

    line_port: Optional[str] = field(default=None, metadata={"alias": "linePort"})

    private_identity: Optional[Nillable[str]] = field(
        default=None, metadata={"alias": "privateIdentity"}
    )

    contact_list: Optional[Nillable[ReplacementContactList]] = field(
        default=None, metadata={"alias": "contactList"}
    )

    port_number: Optional[int] = field(default=None, metadata={"alias": "portNumber"})

    device_type: Optional[str] = field(default=None, metadata={"alias": "deviceType"})

    protocol: Optional[str] = field(default=None, metadata={"alias": "protocol"})

    net_address: Optional[str] = field(default=None, metadata={"alias": "netAddress"})

    port: Optional[int] = field(default=None, metadata={"alias": "port"})

    outbound_proxy_server_net_address: Optional[str] = field(
        default=None, metadata={"alias": "outboundProxyServerNetAddress"}
    )

    stun_server_net_address: Optional[str] = field(
        default=None, metadata={"alias": "stunServerNetAddress"}
    )

    mac_address: Optional[str] = field(default=None, metadata={"alias": "macAddress"})

    serial_number: Optional[str] = field(
        default=None, metadata={"alias": "serialNumber"}
    )

    description: Optional[str] = field(default=None, metadata={"alias": "description"})

    physical_location: Optional[str] = field(
        default=None, metadata={"alias": "physicalLocation"}
    )

    transport_protocol: Optional[str] = field(
        default=None, metadata={"alias": "transportProtocol"}
    )

    use_custom_user_name_password: Optional[bool] = field(
        default=None, metadata={"alias": "useCustomUserNamePassword"}
    )

    access_device_credentials: Optional[DeviceManagementUserNamePassword16] = field(
        default=None, metadata={"alias": "accessDeviceCredentials"}
    )

    use_hotline: Optional[bool] = field(default=None, metadata={"alias": "useHotline"})

    hotline_contact: Optional[Nillable[str]] = field(
        default=None, metadata={"alias": "hotlineContact"}
    )

    def __post_init__(self):
        nillable_fields = ["private_identity", "contact_list", "hotline_contact"]
        for field_name in nillable_fields:
            value = getattr(self, field_name)
            if value == "" or value == "None":
                object.__setattr__(self, field_name, OCINil)