summaryrefslogtreecommitdiff
path: root/delConfig.py
blob: 63983a3676ed165ae7ba91751eb4a72209dc3b72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/usr/bin/python3
# coding=utf-8
import time
import requests

class Erase():    
    def del_config(self, token, create_policies_ids, create_ip_ids, create_subid_ids, create_fqdn_ids, create_url_ids, create_flag_ids, create_keywords_ids, create_account_ids, create_http_signature_ids, create_profile_ids, create_geo_name_ids, api_host, vsys_id):
        headers = {"Authorization": token}
        del_obj_template = {"type":"ip", "ids":[], "vsys_id":1}
        del_rule_template = {"ids":[], "type":"security", "vsys_id":1}
        # 多条id 删除的时候需要区分policy_type
        if len(create_policies_ids) > 0:
            for i in range(len(create_policies_ids)):
                del_rule_template['type'] = list(create_policies_ids[i].keys())[0]
                del_rule_template['ids'] = list(create_policies_ids[i].values())[0]
                del_rule_template['vsys_id'] = vsys_id
                url = api_host + "/v1/policy/rule"
                response = requests.delete(url, headers=headers, params=del_rule_template, verify=False)
                assert response.status_code == 200
        if len(create_ip_ids) > 0:
            del_obj_template['type'] = "ip"
            del_obj_template['ids'] = create_ip_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_subid_ids) > 0:
            del_obj_template['type'] = "subscriberid"
            del_obj_template['ids'] = create_subid_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_fqdn_ids) > 0:
            del_obj_template['type'] = "fqdn"
            del_obj_template['ids'] = create_fqdn_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_url_ids) > 0:
            del_obj_template['type'] = "url"
            del_obj_template['ids'] = create_url_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_flag_ids) > 0:
            del_obj_template['type'] = "flag"
            del_obj_template['ids'] = create_flag_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_keywords_ids) > 0:
            del_obj_template['type'] = "keywords"
            del_obj_template['ids'] = create_keywords_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_account_ids) > 0:
            del_obj_template['type'] = "account"
            del_obj_template['ids'] = create_account_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_http_signature_ids) > 0:
            del_obj_template['type'] = "http_signature"
            del_obj_template['ids'] = create_http_signature_ids
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/object"
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200
        if len(create_profile_ids) > 0:
            for del_porfile_index in range(len(create_profile_ids)):
                if create_profile_ids[del_porfile_index]["profile_type"] == "Statistics_Templates":    # 删除逻辑
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    del_profile_template = {"ids":str(profile_id),"vsys_id":vsys_id}
                    url = "{}/v1/policy/profile/statistics_template".format(api_host)
                    response = requests.delete(url, headers=headers, params=del_profile_template, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "service_function_forwarder":    # 删除SFF和SF
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    del_profile_sff = {"ids": str(profile_id),"vsys_id":vsys_id}
                    url = "{}/v1/policy/profile/service_function_forwarder".format(api_host)
                    response = requests.delete(url, headers=headers, params=del_profile_sff, verify=False)
                    if response.status_code == 200:
                        profile_id = create_profile_ids[del_porfile_index]["sff_info"]["sf_info"][0]["id"]
                        del_profile_sf = {"ids": str(profile_id),"vsys_id":vsys_id}
                        url = "{}/v1/policy/profile/service_function".format(api_host)
                        response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "response_page": # 删除response_page
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    url = "{}/v1/policy/profile/response_page".format(api_host)
                    del_profile_sf = {"ids": str(profile_id), "vsys_id": vsys_id}
                    response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "hijack_files": # 删除hijack_files
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    url = "{}/v1/policy/profile/hijack_file".format(api_host)
                    del_profile_sf = {"ids": str(profile_id), "vsys_id": vsys_id}
                    response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "insert_profile": # 删除insert
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    url = "{}/v1/policy/profile/insert_script".format(api_host)
                    del_profile_sf = {"ids": str(profile_id), "vsys_id": vsys_id}
                    response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "run_script": # 删除run_script
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    url = "{}/v1/policy/profile/run_script".format(api_host)
                    del_profile_sf = {"ids": str(profile_id), "vsys_id": vsys_id}
                    response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
                elif create_profile_ids[del_porfile_index]["profile_type"] == "dns_record": # 删除dns_record
                    profile_id = create_profile_ids[del_porfile_index]["id"]
                    url = "{}/v1/policy/profile/run_script".format(api_host)
                    del_profile_sf = {"ids": str(profile_id), "vsys_id": vsys_id}
                    response = requests.delete(url, headers=headers, params=del_profile_sf, verify=False)
                    assert response.status_code == 200
        if len(create_geo_name_ids) > 0:
            del del_obj_template["type"]
            del del_obj_template["ids"]
            create_geo_name_id = create_geo_name_ids[0]
            del_obj_template["geoname_ids"] = create_geo_name_id
            del_obj_template["vsys_id"] = vsys_id
            url = api_host + "/v1/policy/library/geolocation"
            print(del_obj_template)
            response = requests.delete(url, headers=headers, params=del_obj_template, verify=False)
            assert response.status_code == 200

if __name__ == '__main__':
    # ipObject = CreateIpObject()
    time.sleep(1)