# coding: utf-8

"""
    Graphiant APIs

    **To use the APIs:**  1) Login using `/api/v1/auth/login`   2) Copy the value of \"token\" in the response   3) Click the \"Authorize\" button   4) In the \"Value\" text field enter: `Bearer <your token>`   5) Click \"Authorize\"   6) All requests are now authorized.  **Token valid for 2 hours. If expired:**   - Login again, click \"Authorize\", paste new token.

    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_core_core_vrf import V1DevicesDeviceIdConfigPutRequestCoreCoreVrf

class TestV1DevicesDeviceIdConfigPutRequestCoreCoreVrf(unittest.TestCase):
    """V1DevicesDeviceIdConfigPutRequestCoreCoreVrf unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1DevicesDeviceIdConfigPutRequestCoreCoreVrf:
        """Test V1DevicesDeviceIdConfigPutRequestCoreCoreVrf
            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 `V1DevicesDeviceIdConfigPutRequestCoreCoreVrf`
        """
        model = V1DevicesDeviceIdConfigPutRequestCoreCoreVrf()
        if include_optional:
            return V1DevicesDeviceIdConfigPutRequestCoreCoreVrf(
                bgp_aggregations = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_aggregations_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpAggregations_value(
                        config = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_aggregations_value_config._v1_devices__deviceId__config_put_request_core_coreVrf_bgpAggregations_value_config(
                            as_set = True, 
                            prefix = 'example string', 
                            summary_only = True, ), )
                    },
                bgp_neighbors = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value(
                        neighbor = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor(
                            address_families = {
                                'key' : graphiant_sdk.models._v1_gateways_put_request_details_ipsec_gateway_routing_bgp_address_families_value._v1_gateways_put_request_details_ipsecGateway_routing_bgp_addressFamilies_value(
                                    family = graphiant_sdk.models._v1_gateways_put_request_details_ipsec_gateway_routing_bgp_address_families_value_family._v1_gateways_put_request_details_ipsecGateway_routing_bgp_addressFamilies_value_family(
                                        address_family = 'ENUM_VALUE', 
                                        inbound_policy = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_call_policy._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_callPolicy(
                                            policy = 'example string', ), 
                                        outbound_policy = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_call_policy._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_callPolicy(
                                            policy = 'example string', ), ), )
                                }, 
                            allow_as_in = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_allow_as_in._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_allowAsIn(
                                count = 123, ), 
                            as_override = True, 
                            bfd = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_bfd._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_bfd(), 
                            default_originate = 'ENUM_VALUE', 
                            ebgp_multihop_ttl = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_ebgp_multihop_ttl._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_ebgpMultihopTtl(
                                multi_hop = 123, ), 
                            enabled = True, 
                            hold_timer = 123, 
                            hold_timer_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_hold_timer_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_holdTimerValue(
                                timer = 123, ), 
                            keepalive_timer = 123, 
                            keepalive_timer_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_hold_timer_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_holdTimerValue(
                                timer = 123, ), 
                            local_address = 'example string', 
                            local_interface = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_matches_value_match_source_interface._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_matches_value_match_sourceInterface(
                                interface = 'example string', ), 
                            max_prefix_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_neighbors_value_neighbor_max_prefix_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpNeighbors_value_neighbor_maxPrefixValue(
                                max_prefix = 123, ), 
                            md5_password = graphiant_sdk.models._v1_gateways_put_request_details_ipsec_gateway_routing_bgp_md5_password._v1_gateways_put_request_details_ipsecGateway_routing_bgp_md5Password(), 
                            peer_asn = 123, 
                            remote_address = 'example string', 
                            remove_private_as = True, 
                            send_community = True, ), )
                    },
                bgp_redistribution = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_bgp_redistribution_value._v1_devices__deviceId__config_put_request_core_coreVrf_bgpRedistribution_value(
                        protocol = graphiant_sdk.models._v1_global_config_patch_request_snmps_value_config_notify_filter_profiles_value_notify_filter_profile_include_exclude_list_value._v1_global_config_patch_request_snmps_value_config_notifyFilterProfiles_value_notifyFilterProfile_includeExcludeList_value(
                            enabled = True, ), )
                    },
                dhcp_subnets = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_dhcp_subnets_value._v1_devices__deviceId__config_put_request_core_coreVrf_dhcpSubnets_value(
                        subnet = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_dhcp_subnets_value_subnet._v1_devices__deviceId__config_put_request_core_coreVrf_dhcpSubnets_value_subnet(
                            default_lease_time_secs = 123, 
                            description = 'example string', 
                            domain_name = 'example string', 
                            domain_name_server = graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_segments_inner_dhcp_subnets_inner_nameservers._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_segments_inner_dhcpSubnets_inner_nameservers(
                                primary = 'example string', 
                                secondary = 'example string', ), 
                            interface = 'example string', 
                            ip_gateway = 'example string', 
                            ip_prefix = 'example string', 
                            ip_ranges = [
                                graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_segments_inner_dhcp_subnets_inner_ranges_inner._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_segments_inner_dhcpSubnets_inner_ranges_inner(
                                    end = 'example string', 
                                    start = 'example string', )
                                ], 
                            ip_ranges_v2 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_dhcp_subnets_value_subnet_ip_ranges_v2._v1_devices__deviceId__config_put_request_core_coreVrf_dhcpSubnets_value_subnet_ipRangesV2(
                                ip_range = [
                                    graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_segments_inner_dhcp_subnets_inner_ranges_inner._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_segments_inner_dhcpSubnets_inner_ranges_inner(
                                        end = 'example string', 
                                        start = 'example string', )
                                    ], ), 
                            max_lease_time_secs = 123, 
                            min_lease_time_secs = 123, 
                            name = 'example string', 
                            static_leases = {
                                'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_dhcp_subnets_value_subnet_static_leases_value._v1_devices__deviceId__config_put_request_core_coreVrf_dhcpSubnets_value_subnet_staticLeases_value(
                                    lease = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_dhcp_subnets_value_subnet_static_leases_value_lease._v1_devices__deviceId__config_put_request_core_coreVrf_dhcpSubnets_value_subnet_staticLeases_value_lease(
                                        hostname = 'example string', 
                                        ip_address = 'example string', 
                                        mac_address = 'example string', ), )
                                }, ), )
                    },
                ebgp_multipath = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ebgp_multipath._v1_devices__deviceId__config_put_request_core_coreVrf_ebgpMultipath(
                    config = graphiant_sdk.models._v1_extranets_get_200_response_policies_inner_branches_excluded_devices_inner_circuits_inner_bgp_multipath._v1_extranets_get_200_response_policies_inner_branches_excludedDevices_inner_circuits_inner_bgpMultipath(
                        enabled = True, 
                        vrf_id = 1234567891011, ), ),
                ipfix_exporters = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_ipfix_exporters_value._v1_global_config_patch_request_ipfixExporters_value(
                        exporter = graphiant_sdk.models._v1_global_config_patch_request_ipfix_exporters_value_exporter._v1_global_config_patch_request_ipfixExporters_value_exporter(
                            destination_address = 'example string', 
                            destination_port = 123, 
                            global_id = 1234567891011, 
                            is_global_sync = True, 
                            monitored_segments = [
                                'example string'
                                ], 
                            name = 'example string', 
                            sample_mode = 'ENUM_VALUE', 
                            sample_rate = 123, 
                            source_interface_name = 'example string', 
                            vrf_id = 1234567891011, ), )
                    },
                nat_ruleset = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_nat_ruleset._v1_devices__deviceId__config_put_request_core_coreVrf_natRuleset(
                    ruleset = 'example string', ),
                networks = [
                    'example string'
                    ],
                ospfv2 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2(
                    process = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process(
                        address_families = [
                            'ENUM_VALUE'
                            ], 
                        admin_distance = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_admin_distance._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_adminDistance(), 
                        areas = {
                            'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value(
                                area = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area(
                                    area_id = 'example string', 
                                    interfaces = {
                                        'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value(
                                            interface = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface(
                                                bfd = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_bfd._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_bfd(), 
                                                cost = 123, 
                                                dead_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_dead_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_deadIntervalValue(
                                                    dead_interval = 123, ), 
                                                dr_priority = 123, 
                                                hello_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_hello_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_helloIntervalValue(
                                                    hello_interval = 123, ), 
                                                interface_name = 'example string', 
                                                mtu = 123, 
                                                mtu_ignore = True, 
                                                prefix_sid = 123, 
                                                retransmit_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_retransmit_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_retransmitIntervalValue(
                                                    retransmit_interval = 123, ), 
                                                type = 'ENUM_VALUE', ), )
                                        }, 
                                    name = 'example string', 
                                    type = 'ENUM_VALUE', ), )
                            }, 
                        auto = True, 
                        default_originate = 'ENUM_VALUE', 
                        manual = 'example string', 
                        name = 'example string', 
                        redistribution = {
                            'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_redistribution_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_redistribution_value(
                                protocol = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_redistribution_value_protocol._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_redistribution_value_protocol(
                                    metric = 123, 
                                    metric_type = 'ENUM_VALUE', 
                                    type = 'ENUM_VALUE', ), )
                            }, ), ),
                ospfv3 = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2(
                    process = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process(
                        address_families = [
                            'ENUM_VALUE'
                            ], 
                        admin_distance = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_admin_distance._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_adminDistance(), 
                        areas = {
                            'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value(
                                area = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area(
                                    area_id = 'example string', 
                                    interfaces = {
                                        'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value(
                                            interface = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface(
                                                bfd = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_bfd._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_bfd(), 
                                                cost = 123, 
                                                dead_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_dead_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_deadIntervalValue(
                                                    dead_interval = 123, ), 
                                                dr_priority = 123, 
                                                hello_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_hello_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_helloIntervalValue(
                                                    hello_interval = 123, ), 
                                                interface_name = 'example string', 
                                                mtu = 123, 
                                                mtu_ignore = True, 
                                                prefix_sid = 123, 
                                                retransmit_interval_value = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_areas_value_area_interfaces_value_interface_retransmit_interval_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_areas_value_area_interfaces_value_interface_retransmitIntervalValue(
                                                    retransmit_interval = 123, ), 
                                                type = 'ENUM_VALUE', ), )
                                        }, 
                                    name = 'example string', 
                                    type = 'ENUM_VALUE', ), )
                            }, 
                        auto = True, 
                        default_originate = 'ENUM_VALUE', 
                        manual = 'example string', 
                        name = 'example string', 
                        redistribution = {
                            'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_redistribution_value._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_redistribution_value(
                                protocol = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_ospfv2_process_redistribution_value_protocol._v1_devices__deviceId__config_put_request_core_coreVrf_ospfv2_process_redistribution_value_protocol(
                                    metric = 123, 
                                    metric_type = 'ENUM_VALUE', 
                                    type = 'ENUM_VALUE', ), )
                            }, ), ),
                overlay_filters = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_overlay_filters._v1_devices__deviceId__config_put_request_core_coreVrf_overlayFilters(
                    export_policy = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_call_policy._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_callPolicy(
                        policy = 'example string', ), 
                    import_policy = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_call_policy._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_callPolicy(
                        policy = 'example string', ), ),
                static_routes = {
                    'key' : graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_static_routes_value._v1_devices__deviceId__config_put_request_core_coreVrf_staticRoutes_value(
                        route = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_static_routes_value_route._v1_devices__deviceId__config_put_request_core_coreVrf_staticRoutes_value_route(
                            admin_distance = 123, 
                            administrative_distance = graphiant_sdk.models._v1_global_config_patch_request_routing_policies_value_policy_statements_value_statement_actions_value_action_administrative_distance._v1_global_config_patch_request_routingPolicies_value_policy_statements_value_statement_actions_value_action_administrativeDistance(
                                distance = 123, ), 
                            description = 'example string', 
                            destination_prefix = 'example string', 
                            ip_version = 123, 
                            next_hop = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_static_routes_value_route_next_hop._v1_devices__deviceId__config_put_request_core_coreVrf_staticRoutes_value_route_nextHop(
                                address = 'example string', 
                                circuit = 'example string', 
                                interface = 'example string', 
                                next_hop_address = 'example string', 
                                third_party_ipsec_tunnel = 'example string', ), 
                            next_hops = [
                                graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_static_routes_value_route_next_hop._v1_devices__deviceId__config_put_request_core_coreVrf_staticRoutes_value_route_nextHop(
                                    address = 'example string', 
                                    circuit = 'example string', 
                                    interface = 'example string', 
                                    next_hop_address = 'example string', 
                                    third_party_ipsec_tunnel = 'example string', )
                                ], ), )
                    },
                syslog_targets = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_syslog_servers_value._v1_global_config_patch_request_syslogServers_value(
                        target = graphiant_sdk.models._v1_global_config_patch_request_syslog_servers_value_target._v1_global_config_patch_request_syslogServers_value_target(
                            enabled = True, 
                            global_id = 1234567891011, 
                            host = 'example string', 
                            interface_name = 'example string', 
                            is_global_sync = True, 
                            name = 'example string', 
                            port = 123, 
                            severity = 'ENUM_VALUE', 
                            transport = 'ENUM_VALUE', 
                            vrf_id = 1234567891011, ), )
                    },
                traffic_ruleset = graphiant_sdk.models._v1_devices__device_id__config_put_request_core_core_vrf_nat_ruleset._v1_devices__deviceId__config_put_request_core_coreVrf_natRuleset(
                    ruleset = 'example string', )
            )
        else:
            return V1DevicesDeviceIdConfigPutRequestCoreCoreVrf(
        )
        """

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

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