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.
Files changed (51) hide show
  1. {codosdk-1.0.8 → codosdk-1.0.10}/PKG-INFO +12 -2
  2. {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/PKG-INFO +12 -2
  3. {codosdk-1.0.8 → codosdk-1.0.10}/setup.py +1 -1
  4. codosdk-1.0.10/websdk2/apis/cmdb_apis.py +47 -0
  5. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/tools.py +8 -4
  6. codosdk-1.0.8/websdk2/apis/cmdb_apis.py +0 -22
  7. {codosdk-1.0.8 → codosdk-1.0.10}/LICENSE +0 -0
  8. {codosdk-1.0.8 → codosdk-1.0.10}/README.md +0 -0
  9. {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/SOURCES.txt +0 -0
  10. {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/dependency_links.txt +0 -0
  11. {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/requires.txt +0 -0
  12. {codosdk-1.0.8 → codosdk-1.0.10}/codosdk.egg-info/top_level.txt +0 -0
  13. {codosdk-1.0.8 → codosdk-1.0.10}/opssdk/__init__.py +0 -0
  14. {codosdk-1.0.8 → codosdk-1.0.10}/opssdk/utils/__init__.py +0 -0
  15. {codosdk-1.0.8 → codosdk-1.0.10}/pyproject.toml +0 -0
  16. {codosdk-1.0.8 → codosdk-1.0.10}/setup.cfg +0 -0
  17. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/__init__.py +0 -0
  18. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/api_set.py +0 -0
  19. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/__init__.py +0 -0
  20. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/admin_apis.py +0 -0
  21. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/agent_apis.py +0 -0
  22. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/kerrigan_apis.py +0 -0
  23. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/mgv4_apis.py +0 -0
  24. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/apis/task_apis.py +0 -0
  25. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/application.py +0 -0
  26. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/base_handler.py +0 -0
  27. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cache.py +0 -0
  28. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cache_context.py +0 -0
  29. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/client.py +0 -0
  30. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/__init__.py +0 -0
  31. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/qcloud_api.py +0 -0
  32. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud/ucloud_api.py +0 -0
  33. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/cloud_utils.py +0 -0
  34. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/configs.py +0 -0
  35. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/consts.py +0 -0
  36. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/db_context.py +0 -0
  37. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/error.py +0 -0
  38. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/fetch_coroutine.py +0 -0
  39. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/jwt_token.py +0 -0
  40. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/ldap.py +0 -0
  41. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/logger.py +0 -0
  42. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/model_utils.py +0 -0
  43. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/mqhelper.py +0 -0
  44. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/program.py +0 -0
  45. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/salt_api.py +0 -0
  46. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/sqlalchemy_pagination.py +0 -0
  47. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/__init__.py +0 -0
  48. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/cc_crypto.py +0 -0
  49. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/date_format.py +0 -0
  50. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/utils/pydantic_utils.py +0 -0
  51. {codosdk-1.0.8 → codosdk-1.0.10}/websdk2/web_logs.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: codosdk
3
- Version: 1.0.8
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
1
+ Metadata-Version: 2.2
2
2
  Name: codosdk
3
- Version: 1.0.8
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
@@ -9,7 +9,7 @@ desc : CODO SDK
9
9
  import sys
10
10
  from distutils.core import setup
11
11
 
12
- VERSION = '1.0.8'
12
+ VERSION = '1.0.10'
13
13
 
14
14
  if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 6):
15
15
  print('This program requires at least Python 2.7 or 3.6 to run.')
@@ -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 getinstance(*args, **kwargs):
21
- if class_ not in instances:
22
- instances[class_] = class_(*args, **kwargs)
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 getinstance
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