codosdk 1.0.8__tar.gz → 1.0.10__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {codosdk-1.0.8 → codosdk-1.0.10}/PKG-INFO +12 -2
- {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/PKG-INFO +12 -2
- {codosdk-1.0.8 → codosdk-1.0.10}/setup.py +1 -1
- codosdk-1.0.10/websdk2/apis/cmdb_apis.py +47 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/tools.py +8 -4
- codosdk-1.0.8/websdk2/apis/cmdb_apis.py +0 -22
- {codosdk-1.0.8 → codosdk-1.0.10}/LICENSE +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/README.md +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/SOURCES.txt +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/dependency_links.txt +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/requires.txt +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/top_level.txt +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/opssdk/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/opssdk/utils/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/pyproject.toml +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/setup.cfg +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/api_set.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/admin_apis.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/agent_apis.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/kerrigan_apis.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/mgv4_apis.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/task_apis.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/application.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/base_handler.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cache.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cache_context.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/client.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/qcloud_api.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/ucloud_api.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud_utils.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/configs.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/consts.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/db_context.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/error.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/fetch_coroutine.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/jwt_token.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/ldap.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/logger.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/model_utils.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/mqhelper.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/program.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/salt_api.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/sqlalchemy_pagination.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/__init__.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/cc_crypto.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/date_format.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/pydantic_utils.py +0 -0
- {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/web_logs.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: codosdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.10
|
|
4
4
|
Summary: CODO项目的Python SDK
|
|
5
5
|
Home-page: https://github.com/ss1917/codo_sdk/
|
|
6
6
|
Author: shenshuo
|
|
@@ -31,5 +31,15 @@ Requires-Dist: loguru>=0.6.0
|
|
|
31
31
|
Requires-Dist: cryptography==42.0.4
|
|
32
32
|
Requires-Dist: ldap3==2.9
|
|
33
33
|
Requires-Dist: pydantic>=1.10.5
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: keywords
|
|
40
|
+
Dynamic: license
|
|
41
|
+
Dynamic: platform
|
|
42
|
+
Dynamic: requires-dist
|
|
43
|
+
Dynamic: summary
|
|
34
44
|
|
|
35
45
|
SDK of the operation and maintenance script logs operate
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: codosdk
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.10
|
|
4
4
|
Summary: CODO项目的Python SDK
|
|
5
5
|
Home-page: https://github.com/ss1917/codo_sdk/
|
|
6
6
|
Author: shenshuo
|
|
@@ -31,5 +31,15 @@ Requires-Dist: loguru>=0.6.0
|
|
|
31
31
|
Requires-Dist: cryptography==42.0.4
|
|
32
32
|
Requires-Dist: ldap3==2.9
|
|
33
33
|
Requires-Dist: pydantic>=1.10.5
|
|
34
|
+
Dynamic: author
|
|
35
|
+
Dynamic: author-email
|
|
36
|
+
Dynamic: classifier
|
|
37
|
+
Dynamic: description
|
|
38
|
+
Dynamic: home-page
|
|
39
|
+
Dynamic: keywords
|
|
40
|
+
Dynamic: license
|
|
41
|
+
Dynamic: platform
|
|
42
|
+
Dynamic: requires-dist
|
|
43
|
+
Dynamic: summary
|
|
34
44
|
|
|
35
45
|
SDK of the operation and maintenance script logs operate
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
"""
|
|
4
|
+
Contact : 191715030@qq.com
|
|
5
|
+
Author : shenshuo
|
|
6
|
+
Date : 2018年2月5日13:37:54
|
|
7
|
+
Desc :记录 CMDB API
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CMDBAPIS:
|
|
12
|
+
cmdb_prefix = "/api/cmdb"
|
|
13
|
+
|
|
14
|
+
get_tag_list = dict(
|
|
15
|
+
method='GET',
|
|
16
|
+
url=f'{cmdb_prefix}/api/v2/cmdb/tag/list/',
|
|
17
|
+
params={
|
|
18
|
+
'page_number': '1', # 分页/第几页
|
|
19
|
+
'page_size': '200', # 分页/每页多少个
|
|
20
|
+
"tag_key": None
|
|
21
|
+
},
|
|
22
|
+
description='CMDB 获取标签key、value列表'
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
get_service_tree = dict(method='GET',
|
|
26
|
+
url=f'{cmdb_prefix}/api/v2/cmdb/tree/',
|
|
27
|
+
params={"biz_id": "0"},
|
|
28
|
+
description='获取当前业务服务树')
|
|
29
|
+
|
|
30
|
+
get_dynamic_groups = dict(method='GET',
|
|
31
|
+
url=f'{cmdb_prefix}/api/v2/cmdb/biz/dynamic_group/list/',
|
|
32
|
+
params={
|
|
33
|
+
"biz_id": ""
|
|
34
|
+
},
|
|
35
|
+
description='获取当前业务下动态分组')
|
|
36
|
+
|
|
37
|
+
get_dynamic_group_details = dict(method='GET',
|
|
38
|
+
url=f'{cmdb_prefix}/api/v2/cmdb/biz/dynamic_group/preview/',
|
|
39
|
+
params={
|
|
40
|
+
},
|
|
41
|
+
description='获取动态分组详细数据')
|
|
42
|
+
|
|
43
|
+
get_tree_asset_server = dict(method='GET',
|
|
44
|
+
url=f'{cmdb_prefix}/api/v2/cmdb/tree/asset/server',
|
|
45
|
+
params={
|
|
46
|
+
},
|
|
47
|
+
description='根据业务获取资源信息')
|
|
@@ -11,18 +11,22 @@ import re
|
|
|
11
11
|
import time
|
|
12
12
|
import redis
|
|
13
13
|
import subprocess
|
|
14
|
+
from threading import Lock
|
|
14
15
|
from concurrent.futures import ThreadPoolExecutor
|
|
15
16
|
from .consts import const
|
|
16
17
|
|
|
18
|
+
|
|
17
19
|
def singleton(class_):
|
|
18
20
|
instances = {}
|
|
21
|
+
lock = Lock() # 线程锁
|
|
19
22
|
|
|
20
|
-
def
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
def get_instance(*args, **kwargs):
|
|
24
|
+
with lock: # 确保线程安全
|
|
25
|
+
if class_ not in instances:
|
|
26
|
+
instances[class_] = class_(*args, **kwargs)
|
|
23
27
|
return instances[class_]
|
|
24
28
|
|
|
25
|
-
return
|
|
29
|
+
return get_instance
|
|
26
30
|
|
|
27
31
|
|
|
28
32
|
def bytes_to_unicode(input_bytes):
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# -*- coding: utf-8 -*-
|
|
3
|
-
"""
|
|
4
|
-
Contact : 191715030@qq.com
|
|
5
|
-
Author : shenshuo
|
|
6
|
-
Date : 2018年2月5日13:37:54
|
|
7
|
-
Desc :记录API
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class CMDBAPIS:
|
|
12
|
-
cmdb_prefix = "/api/cmdb"
|
|
13
|
-
create_jobs = dict(method='GET',
|
|
14
|
-
url=f'{cmdb_prefix}/api/v2/cmdb/tag/list/',
|
|
15
|
-
params={
|
|
16
|
-
'page_number': '1', ### 分页/第几页
|
|
17
|
-
'page_size': '200', ### 分页/每页多少个
|
|
18
|
-
"tag_key": None
|
|
19
|
-
},
|
|
20
|
-
field_help={
|
|
21
|
-
},
|
|
22
|
-
description='CMDB 获取标签key、value列表')
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|