# coding: utf-8

"""
    Graphiant APIs

    Graphiant API documentation.

    The version of the OpenAPI document: 1.0.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

    Do not edit the class manually.
"""  # noqa: E501


import unittest

from graphiant_sdk.models.v1_devices_device_id_config_put_request_edge_lag_interfaces_value_interface import V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface

class TestV1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface(unittest.TestCase):
    """V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface:
        """Test V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface
            include_optional is a boolean, when False only required
            params are included, when True both required and
            optional params are included """
        # uncomment below to create an instance of `V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface`
        """
        model = V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface()
        if include_optional:
            return V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface(
                admin_status = True,
                alias = 'example string',
                description = 'example string',
                ipv4 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw(
                    address = graphiant_sdk.models._v1_global_config_patch_request_snmps_value_config_engine_endpoints_value_engine_endpoint_addresses_value._v1_global_config_patch_request_snmps_value_config_engineEndpoints_value_engineEndpoint_addresses_value(), 
                    dhcp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp(
                        dhcp_client = True, 
                        dhcp_relay = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcp_relay._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcpRelay(
                            relay_servers = [
                                'example string'
                                ], ), ), 
                    vrrp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp(
                        group = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group(
                            accept_mode = True, 
                            allow_inter_operability = True, 
                            description = 'example string', 
                            enabled = True, 
                            preempt = True, 
                            priority = 123, 
                            tracked_interfaces = [
                                graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_interfaces_inner_ipv4_vrrp_group_tracked_interfaces_inner._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_interfaces_inner_ipv4_vrrpGroup_trackedInterfaces_inner(
                                    interface = 'example string', 
                                    priority_decrement = 123, )
                                ], 
                            virtual_ip = 'example string', 
                            virtual_router_id = 123, ), ), ),
                ipv6 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw(
                    address = graphiant_sdk.models._v1_global_config_patch_request_snmps_value_config_engine_endpoints_value_engine_endpoint_addresses_value._v1_global_config_patch_request_snmps_value_config_engineEndpoints_value_engineEndpoint_addresses_value(), 
                    dhcp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp(
                        dhcp_client = True, 
                        dhcp_relay = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcp_relay._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcpRelay(
                            relay_servers = [
                                'example string'
                                ], ), ), 
                    vrrp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp(
                        group = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group(
                            accept_mode = True, 
                            allow_inter_operability = True, 
                            description = 'example string', 
                            enabled = True, 
                            preempt = True, 
                            priority = 123, 
                            tracked_interfaces = [
                                graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_interfaces_inner_ipv4_vrrp_group_tracked_interfaces_inner._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_interfaces_inner_ipv4_vrrpGroup_trackedInterfaces_inner(
                                    interface = 'example string', 
                                    priority_decrement = 123, )
                                ], 
                            virtual_ip = 'example string', 
                            virtual_router_id = 123, ), ), ),
                lacp = graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_interfaces_inner_lag_interface_lacp_config._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_interfaces_inner_lagInterface_lacpConfig(
                    mode = 'ENUM_VALUE', 
                    timer = 'ENUM_VALUE', ),
                lag_members = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_edge_lag_interfaces_value_interface_lag_members_value._v1_devices__deviceId__config_put_request_edge_lagInterfaces_value_interface_lagMembers_value(
                        interface = 1234567891011, )
                    },
                minimum_members = 123,
                mtu = 123,
                segment = 'example string',
                subinterfaces = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_edge_lag_interfaces_value_interface_subinterfaces_value._v1_devices__deviceId__config_put_request_edge_lagInterfaces_value_interface_subinterfaces_value(
                        interface = graphiant_sdk.models._v1_devices__device_id__config_put_request_edge_lag_interfaces_value_interface_subinterfaces_value_interface._v1_devices__deviceId__config_put_request_edge_lagInterfaces_value_interface_subinterfaces_value_interface(
                            admin_status = True, 
                            alias = 'example string', 
                            description = 'example string', 
                            ipv4 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw(
                                address = graphiant_sdk.models._v1_global_config_patch_request_snmps_value_config_engine_endpoints_value_engine_endpoint_addresses_value._v1_global_config_patch_request_snmps_value_config_engineEndpoints_value_engineEndpoint_addresses_value(), 
                                dhcp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp(
                                    dhcp_client = True, 
                                    dhcp_relay = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcp_relay._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_dhcp_dhcpRelay(
                                        relay_servers = [
                                            'example string'
                                            ], ), ), 
                                vrrp = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp(
                                    group = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw_vrrp_group(
                                        accept_mode = True, 
                                        allow_inter_operability = True, 
                                        description = 'example string', 
                                        enabled = True, 
                                        preempt = True, 
                                        priority = 123, 
                                        tracked_interfaces = [
                                            graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_interfaces_inner_ipv4_vrrp_group_tracked_interfaces_inner._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_interfaces_inner_ipv4_vrrpGroup_trackedInterfaces_inner(
                                                priority_decrement = 123, )
                                            ], 
                                        virtual_ip = 'example string', 
                                        virtual_router_id = 123, ), ), ), 
                            ipv6 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_interfaces_value_interface_gw_gw._v1_devices__deviceId__config_put_request_core_interfaces_value_interface_gw_gw(), 
                            segment = 'example string', 
                            vlan = 123, ), )
                    }
            )
        else:
            return V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface(
        )
        """

    def testV1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface(self):
        """Test V1DevicesDeviceIdConfigPutRequestEdgeLagInterfacesValueInterface"""
        # inst_req_only = self.make_instance(include_optional=False)
        # inst_req_and_optional = self.make_instance(include_optional=True)

if __name__ == '__main__':
    unittest.main()
