# 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_global_config_patch_request_traffic_policies import V1GlobalConfigPatchRequestTrafficPolicies

class TestV1GlobalConfigPatchRequestTrafficPolicies(unittest.TestCase):
    """V1GlobalConfigPatchRequestTrafficPolicies unit test stubs"""

    def setUp(self):
        pass

    def tearDown(self):
        pass

    def make_instance(self, include_optional) -> V1GlobalConfigPatchRequestTrafficPolicies:
        """Test V1GlobalConfigPatchRequestTrafficPolicies
            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 `V1GlobalConfigPatchRequestTrafficPolicies`
        """
        model = V1GlobalConfigPatchRequestTrafficPolicies()
        if include_optional:
            return V1GlobalConfigPatchRequestTrafficPolicies(
                dpi_applications = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value._v1_global_config_patch_request_trafficPolicies_dpiApplications_value(
                        application = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application(
                            description = 'example string', 
                            destination_network = 'example string', 
                            destination_network_list = 'example string', 
                            destination_networks = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_networks._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationNetworks(
                                name = 'example string', 
                                networks = [
                                    'example string'
                                    ], ), 
                            destination_port = 123, 
                            destination_port_list = 'example string', 
                            destination_ports = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_ports._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationPorts(
                                name = 'example string', 
                                ports = [
                                    123
                                    ], ), 
                            icmp_type = 123, 
                            ip_protocol = 'ENUM_VALUE', 
                            name = 'example string', 
                            source_network = 'example string', 
                            source_network_list = 'example string', 
                            source_networks = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_networks._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationNetworks(
                                name = 'example string', ), 
                            source_port = 123, 
                            source_port_list = 'example string', 
                            source_ports = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_ports._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationPorts(
                                name = 'example string', ), ), )
                    },
                network_lists = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_network_lists_value._v1_global_config_patch_request_trafficPolicies_networkLists_value(
                        list = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_networks._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationNetworks(
                            name = 'example string', 
                            networks = [
                                'example string'
                                ], ), )
                    },
                port_lists = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_port_lists_value._v1_global_config_patch_request_trafficPolicies_portLists_value(
                        list = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_dpi_applications_value_application_destination_ports._v1_global_config_patch_request_trafficPolicies_dpiApplications_value_application_destinationPorts(
                            name = 'example string', 
                            ports = [
                                123
                                ], ), )
                    },
                security_rulesets = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value._v1_global_config_patch_request_trafficPolicies_securityRulesets_value(
                        ruleset = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset(
                            description = 'example string', 
                            global_id = 1234567891011, 
                            is_global_sync = True, 
                            name = 'example string', 
                            rules = {
                                'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value(
                                    rule = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule(
                                        action = 'ENUM_VALUE', 
                                        description = 'example string', 
                                        downlink_burst_rate = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_downlink_burst_rate._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_downlinkBurstRate(
                                            rate = 123, ), 
                                        downlink_policer_rate = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_downlink_burst_rate._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_downlinkBurstRate(
                                            rate = 123, ), 
                                        logging = True, 
                                        match = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match(
                                            application = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_application._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_application(), 
                                            content_filter = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_content_filter._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_contentFilter(), 
                                            destination_network = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_network._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationNetwork(), 
                                            destination_port = 123, 
                                            destination_port_range = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_port_range._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationPortRange(
                                                lower = 123, 
                                                upper = 123, ), 
                                            dscp = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_dscp._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_dscp(), 
                                            icmp_type = 123, 
                                            ip_protocol = 'ENUM_VALUE', 
                                            protocol = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_protocol._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_protocol(
                                                ip_protocol = 'ENUM_VALUE', ), 
                                            source_network = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_source_network._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_sourceNetwork(), 
                                            source_port = 123, 
                                            source_port_range = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_port_range._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationPortRange(
                                                lower = 123, 
                                                upper = 123, ), ), 
                                        name = 'example string', 
                                        seq = 123, 
                                        uplink_burst_rate = , 
                                        uplink_policer_rate = , ), )
                                }, ), )
                    },
                traffic_rulesets = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value(
                        ruleset = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset(
                            description = 'example string', 
                            global_id = 1234567891011, 
                            is_global_sync = True, 
                            name = 'example string', 
                            rules = {
                                'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value(
                                    rule = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule(
                                        action = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule_action._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule_action(
                                            backup_circuit = graphiant_sdk.models._v1_portal_apikeys_post_request._v1_portal_apikeys_post_request(
                                                name = 'example string', ), 
                                            backup_circuit_label = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule_action_backup_circuit_label._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule_action_backupCircuitLabel(
                                                ipsec_label = 'ENUM_VALUE', 
                                                label = 'ENUM_VALUE', ), 
                                            egress = 'ENUM_VALUE', 
                                            logging = True, 
                                            primary_circuit = graphiant_sdk.models._v1_portal_apikeys_post_request._v1_portal_apikeys_post_request(
                                                name = 'example string', ), 
                                            primary_circuit_label = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule_action_backup_circuit_label._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule_action_backupCircuitLabel(
                                                ipsec_label = 'ENUM_VALUE', 
                                                label = 'ENUM_VALUE', ), 
                                            remark = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule_action_remark._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule_action_remark(
                                                val = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_dscp_match._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_dscp_match(
                                                    code_point = 123, ), ), 
                                            set_sla_class = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_traffic_rulesets_value_ruleset_rules_value_rule_action_set_sla_class._v1_global_config_patch_request_trafficPolicies_trafficRulesets_value_ruleset_rules_value_rule_action_setSlaClass(
                                                class = 'ENUM_VALUE', ), ), 
                                        description = 'example string', 
                                        match = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match(
                                            application = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_application._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_application(), 
                                            content_filter = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_content_filter._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_contentFilter(), 
                                            destination_network = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_network._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationNetwork(), 
                                            destination_port = 123, 
                                            destination_port_range = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_port_range._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationPortRange(
                                                lower = 123, 
                                                upper = 123, ), 
                                            dscp = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_dscp._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_dscp(), 
                                            icmp_type = 123, 
                                            ip_protocol = 'ENUM_VALUE', 
                                            protocol = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_protocol._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_protocol(
                                                ip_protocol = 'ENUM_VALUE', ), 
                                            source_network = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_source_network._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_sourceNetwork(), 
                                            source_port = 123, 
                                            source_port_range = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_security_rulesets_value_ruleset_rules_value_rule_match_destination_port_range._v1_global_config_patch_request_trafficPolicies_securityRulesets_value_ruleset_rules_value_rule_match_destinationPortRange(
                                                lower = 123, 
                                                upper = 123, ), ), 
                                        name = 'example string', 
                                        seq = 123, ), )
                                }, ), )
                    },
                zone_firewalls = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value(
                        zone_firewall = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value_zone_firewall._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value_zoneFirewall(
                            ip = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value_zone_firewall_ip._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value_zoneFirewall_ip(
                                block_land_attacks = True, 
                                session_limit = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value_zone_firewall_ip_session_limit._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value_zoneFirewall_ip_sessionLimit(
                                    limit = 123, ), 
                                urpf = 'ENUM_VALUE', ), 
                            udp = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value_zone_firewall_udp._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value_zoneFirewall_udp(
                                unidirectional_flow_limit = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zone_firewalls_value_zone_firewall_ip_session_limit._v1_global_config_patch_request_trafficPolicies_zoneFirewalls_value_zoneFirewall_ip_sessionLimit(
                                    limit = 123, ), ), ), )
                    },
                zones = {
                    'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zones_value._v1_global_config_patch_request_trafficPolicies_zones_value(
                        zone = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zones_value_zone._v1_global_config_patch_request_trafficPolicies_zones_value_zone(
                            inside = 'example string', 
                            pairs = {
                                'key' : graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zones_value_zone_pairs_value._v1_global_config_patch_request_trafficPolicies_zones_value_zone_pairs_value(
                                    pair = graphiant_sdk.models._v1_global_config_patch_request_traffic_policies_zones_value_zone_pairs_value_pair._v1_global_config_patch_request_trafficPolicies_zones_value_zone_pairs_value_pair(
                                        outside = 'example string', 
                                        ruleset = 'example string', 
                                        tcp_protection = True, ), )
                                }, ), )
                    }
            )
        else:
            return V1GlobalConfigPatchRequestTrafficPolicies(
        )
        """

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

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