# 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_dhcp_subnets_value import V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue

class TestV1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue(unittest.TestCase):
    """V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue:
        """Test V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue
            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 `V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue`
        """
        model = V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue()
        if include_optional:
            return V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue(
                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', ), )
                        }, )
            )
        else:
            return V1DevicesDeviceIdConfigPutRequestCoreCoreVrfDhcpSubnetsValue(
        )
        """

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

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