nacos-sdk-python 2.0.0b1__tar.gz → 2.0.0b2__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 (107) hide show
  1. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/PKG-INFO +1 -1
  2. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/client.py +1 -1
  3. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos_sdk_python.egg-info/PKG-INFO +1 -1
  4. nacos-sdk-python-2.0.0b2/nacos_sdk_python.egg-info/SOURCES.txt +104 -0
  5. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos_sdk_python.egg-info/top_level.txt +1 -0
  6. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/setup.py +1 -3
  7. nacos-sdk-python-2.0.0b2/v2/__init__.py +0 -0
  8. nacos-sdk-python-2.0.0b2/v2/nacos/__init__.py +41 -0
  9. nacos-sdk-python-2.0.0b2/v2/nacos/common/__init__.py +0 -0
  10. nacos-sdk-python-2.0.0b2/v2/nacos/common/client_config.py +126 -0
  11. nacos-sdk-python-2.0.0b2/v2/nacos/common/client_config_builder.py +86 -0
  12. nacos-sdk-python-2.0.0b2/v2/nacos/common/constants.py +227 -0
  13. nacos-sdk-python-2.0.0b2/v2/nacos/common/nacos_exception.py +40 -0
  14. nacos-sdk-python-2.0.0b2/v2/nacos/common/payload_registry.py +24 -0
  15. nacos-sdk-python-2.0.0b2/v2/nacos/common/preserved_metadata_key.py +10 -0
  16. nacos-sdk-python-2.0.0b2/v2/nacos/config/__init__.py +0 -0
  17. nacos-sdk-python-2.0.0b2/v2/nacos/config/cache/__init__.py +0 -0
  18. nacos-sdk-python-2.0.0b2/v2/nacos/config/cache/config_info_cache.py +48 -0
  19. nacos-sdk-python-2.0.0b2/v2/nacos/config/cache/config_subscribe_manager.py +99 -0
  20. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/__init__.py +0 -0
  21. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/kms_client.py +41 -0
  22. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/kms_handler.py +46 -0
  23. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/__init__.py +0 -0
  24. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/encryption_plugin.py +30 -0
  25. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/kms_aes_128_encrytion_plugin.py +21 -0
  26. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/kms_aes_256_encrytion_plugin.py +21 -0
  27. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/kms_base_encryption_plugin.py +39 -0
  28. nacos-sdk-python-2.0.0b2/v2/nacos/config/encryption/plugin/kms_encrytion_plugin.py +51 -0
  29. nacos-sdk-python-2.0.0b2/v2/nacos/config/filter/__init__.py +0 -0
  30. nacos-sdk-python-2.0.0b2/v2/nacos/config/filter/config_encryption_filter.py +37 -0
  31. nacos-sdk-python-2.0.0b2/v2/nacos/config/filter/config_filter.py +47 -0
  32. nacos-sdk-python-2.0.0b2/v2/nacos/config/model/__init__.py +0 -0
  33. nacos-sdk-python-2.0.0b2/v2/nacos/config/model/config.py +103 -0
  34. nacos-sdk-python-2.0.0b2/v2/nacos/config/model/config_param.py +49 -0
  35. nacos-sdk-python-2.0.0b2/v2/nacos/config/model/config_request.py +58 -0
  36. nacos-sdk-python-2.0.0b2/v2/nacos/config/model/config_response.py +43 -0
  37. nacos-sdk-python-2.0.0b2/v2/nacos/config/nacos_config_service.py +122 -0
  38. nacos-sdk-python-2.0.0b2/v2/nacos/config/remote/__init__.py +0 -0
  39. nacos-sdk-python-2.0.0b2/v2/nacos/config/remote/config_change_notify_request_handler.py +29 -0
  40. nacos-sdk-python-2.0.0b2/v2/nacos/config/remote/config_grpc_client_proxy.py +251 -0
  41. nacos-sdk-python-2.0.0b2/v2/nacos/config/remote/config_grpc_connection_event_listener.py +23 -0
  42. nacos-sdk-python-2.0.0b2/v2/nacos/config/util/__init__.py +0 -0
  43. nacos-sdk-python-2.0.0b2/v2/nacos/config/util/config_client_util.py +5 -0
  44. nacos-sdk-python-2.0.0b2/v2/nacos/nacos_client.py +57 -0
  45. nacos-sdk-python-2.0.0b2/v2/nacos/naming/__init__.py +0 -0
  46. nacos-sdk-python-2.0.0b2/v2/nacos/naming/cache/__init__.py +0 -0
  47. nacos-sdk-python-2.0.0b2/v2/nacos/naming/cache/service_info_cache.py +141 -0
  48. nacos-sdk-python-2.0.0b2/v2/nacos/naming/cache/subscribe_manager.py +35 -0
  49. nacos-sdk-python-2.0.0b2/v2/nacos/naming/event/__init__.py +0 -0
  50. nacos-sdk-python-2.0.0b2/v2/nacos/naming/event/instance_change_notifier.py +5 -0
  51. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/__init__.py +0 -0
  52. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/instance.py +83 -0
  53. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/naming_param.py +60 -0
  54. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/naming_request.py +63 -0
  55. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/naming_response.py +37 -0
  56. nacos-sdk-python-2.0.0b2/v2/nacos/naming/model/service.py +117 -0
  57. nacos-sdk-python-2.0.0b2/v2/nacos/naming/nacos_naming_service.py +199 -0
  58. nacos-sdk-python-2.0.0b2/v2/nacos/naming/remote/__init__.py +0 -0
  59. nacos-sdk-python-2.0.0b2/v2/nacos/naming/remote/naming_grpc_client_proxy.py +189 -0
  60. nacos-sdk-python-2.0.0b2/v2/nacos/naming/remote/naming_grpc_connection_event_listener.py +70 -0
  61. nacos-sdk-python-2.0.0b2/v2/nacos/naming/remote/naming_push_request_handler.py +27 -0
  62. nacos-sdk-python-2.0.0b2/v2/nacos/naming/util/__init__.py +0 -0
  63. nacos-sdk-python-2.0.0b2/v2/nacos/naming/util/naming_client_util.py +11 -0
  64. nacos-sdk-python-2.0.0b2/v2/nacos/naming/util/naming_remote_constants.py +18 -0
  65. nacos-sdk-python-2.0.0b2/v2/nacos/proto/__init__.py +0 -0
  66. nacos-sdk-python-2.0.0b2/v2/nacos/transport/__init__.py +0 -0
  67. nacos-sdk-python-2.0.0b2/v2/nacos/transport/auth_client.py +47 -0
  68. nacos-sdk-python-2.0.0b2/v2/nacos/transport/connection.py +34 -0
  69. nacos-sdk-python-2.0.0b2/v2/nacos/transport/connection_event_listener.py +12 -0
  70. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpc_client.py +158 -0
  71. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpc_connection.py +46 -0
  72. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpc_util.py +84 -0
  73. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpcauto/__init__.py +0 -0
  74. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpcauto/nacos_grpc_service_pb2.py +264 -0
  75. nacos-sdk-python-2.0.0b2/v2/nacos/transport/grpcauto/nacos_grpc_service_pb2_grpc.py +191 -0
  76. nacos-sdk-python-2.0.0b2/v2/nacos/transport/http_agent.py +58 -0
  77. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/__init__.py +1 -0
  78. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/internal_request.py +57 -0
  79. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/internal_response.py +42 -0
  80. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/rpc_request.py +41 -0
  81. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/rpc_response.py +40 -0
  82. nacos-sdk-python-2.0.0b2/v2/nacos/transport/model/server_info.py +25 -0
  83. nacos-sdk-python-2.0.0b2/v2/nacos/transport/nacos_server_connector.py +91 -0
  84. nacos-sdk-python-2.0.0b2/v2/nacos/transport/rpc_client.py +441 -0
  85. nacos-sdk-python-2.0.0b2/v2/nacos/transport/rpc_client_factory.py +117 -0
  86. nacos-sdk-python-2.0.0b2/v2/nacos/transport/server_request_handler.py +30 -0
  87. nacos-sdk-python-2.0.0b2/v2/nacos/utils/__init__.py +0 -0
  88. nacos-sdk-python-2.0.0b2/v2/nacos/utils/aes_util.py +36 -0
  89. nacos-sdk-python-2.0.0b2/v2/nacos/utils/common_util.py +44 -0
  90. nacos-sdk-python-2.0.0b2/v2/nacos/utils/content_util.py +9 -0
  91. nacos-sdk-python-2.0.0b2/v2/nacos/utils/encode_util.py +32 -0
  92. nacos-sdk-python-2.0.0b2/v2/nacos/utils/file_util.py +94 -0
  93. nacos-sdk-python-2.0.0b2/v2/nacos/utils/hmac_util.py +13 -0
  94. nacos-sdk-python-2.0.0b2/v2/nacos/utils/md5_util.py +9 -0
  95. nacos-sdk-python-2.0.0b2/v2/nacos/utils/net_util.py +20 -0
  96. nacos-sdk-python-2.0.0b1/nacos_sdk_python.egg-info/SOURCES.txt +0 -15
  97. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/README.md +0 -0
  98. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/__init__.py +0 -0
  99. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/commons.py +0 -0
  100. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/exception.py +0 -0
  101. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/files.py +0 -0
  102. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/listener.py +0 -0
  103. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/params.py +0 -0
  104. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/task.py +0 -0
  105. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos/timer.py +0 -0
  106. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/nacos_sdk_python.egg-info/dependency_links.txt +0 -0
  107. {nacos-sdk-python-2.0.0b1 → nacos-sdk-python-2.0.0b2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nacos-sdk-python
3
- Version: 2.0.0b1
3
+ Version: 2.0.0b2
4
4
  Summary: Python client for Nacos.
5
5
  Home-page: https://github.com/nacos-group/nacos-sdk-python
6
6
  Author: nacos
@@ -46,7 +46,7 @@ from .timer import NacosTimer, NacosTimerManager
46
46
 
47
47
  logger = logging.getLogger(__name__)
48
48
 
49
- VERSION = "2.0.0.beta1"
49
+ VERSION = "0.1.16"
50
50
 
51
51
  DEFAULT_GROUP_NAME = "DEFAULT_GROUP"
52
52
  DEFAULT_NAMESPACE = ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nacos-sdk-python
3
- Version: 2.0.0b1
3
+ Version: 2.0.0b2
4
4
  Summary: Python client for Nacos.
5
5
  Home-page: https://github.com/nacos-group/nacos-sdk-python
6
6
  Author: nacos
@@ -0,0 +1,104 @@
1
+ README.md
2
+ setup.py
3
+ nacos/__init__.py
4
+ nacos/client.py
5
+ nacos/commons.py
6
+ nacos/exception.py
7
+ nacos/files.py
8
+ nacos/listener.py
9
+ nacos/params.py
10
+ nacos/task.py
11
+ nacos/timer.py
12
+ nacos_sdk_python.egg-info/PKG-INFO
13
+ nacos_sdk_python.egg-info/SOURCES.txt
14
+ nacos_sdk_python.egg-info/dependency_links.txt
15
+ nacos_sdk_python.egg-info/top_level.txt
16
+ v2/__init__.py
17
+ v2/nacos/__init__.py
18
+ v2/nacos/nacos_client.py
19
+ v2/nacos/common/__init__.py
20
+ v2/nacos/common/client_config.py
21
+ v2/nacos/common/client_config_builder.py
22
+ v2/nacos/common/constants.py
23
+ v2/nacos/common/nacos_exception.py
24
+ v2/nacos/common/payload_registry.py
25
+ v2/nacos/common/preserved_metadata_key.py
26
+ v2/nacos/config/__init__.py
27
+ v2/nacos/config/nacos_config_service.py
28
+ v2/nacos/config/cache/__init__.py
29
+ v2/nacos/config/cache/config_info_cache.py
30
+ v2/nacos/config/cache/config_subscribe_manager.py
31
+ v2/nacos/config/encryption/__init__.py
32
+ v2/nacos/config/encryption/kms_client.py
33
+ v2/nacos/config/encryption/kms_handler.py
34
+ v2/nacos/config/encryption/plugin/__init__.py
35
+ v2/nacos/config/encryption/plugin/encryption_plugin.py
36
+ v2/nacos/config/encryption/plugin/kms_aes_128_encrytion_plugin.py
37
+ v2/nacos/config/encryption/plugin/kms_aes_256_encrytion_plugin.py
38
+ v2/nacos/config/encryption/plugin/kms_base_encryption_plugin.py
39
+ v2/nacos/config/encryption/plugin/kms_encrytion_plugin.py
40
+ v2/nacos/config/filter/__init__.py
41
+ v2/nacos/config/filter/config_encryption_filter.py
42
+ v2/nacos/config/filter/config_filter.py
43
+ v2/nacos/config/model/__init__.py
44
+ v2/nacos/config/model/config.py
45
+ v2/nacos/config/model/config_param.py
46
+ v2/nacos/config/model/config_request.py
47
+ v2/nacos/config/model/config_response.py
48
+ v2/nacos/config/remote/__init__.py
49
+ v2/nacos/config/remote/config_change_notify_request_handler.py
50
+ v2/nacos/config/remote/config_grpc_client_proxy.py
51
+ v2/nacos/config/remote/config_grpc_connection_event_listener.py
52
+ v2/nacos/config/util/__init__.py
53
+ v2/nacos/config/util/config_client_util.py
54
+ v2/nacos/naming/__init__.py
55
+ v2/nacos/naming/nacos_naming_service.py
56
+ v2/nacos/naming/cache/__init__.py
57
+ v2/nacos/naming/cache/service_info_cache.py
58
+ v2/nacos/naming/cache/subscribe_manager.py
59
+ v2/nacos/naming/event/__init__.py
60
+ v2/nacos/naming/event/instance_change_notifier.py
61
+ v2/nacos/naming/model/__init__.py
62
+ v2/nacos/naming/model/instance.py
63
+ v2/nacos/naming/model/naming_param.py
64
+ v2/nacos/naming/model/naming_request.py
65
+ v2/nacos/naming/model/naming_response.py
66
+ v2/nacos/naming/model/service.py
67
+ v2/nacos/naming/remote/__init__.py
68
+ v2/nacos/naming/remote/naming_grpc_client_proxy.py
69
+ v2/nacos/naming/remote/naming_grpc_connection_event_listener.py
70
+ v2/nacos/naming/remote/naming_push_request_handler.py
71
+ v2/nacos/naming/util/__init__.py
72
+ v2/nacos/naming/util/naming_client_util.py
73
+ v2/nacos/naming/util/naming_remote_constants.py
74
+ v2/nacos/proto/__init__.py
75
+ v2/nacos/transport/__init__.py
76
+ v2/nacos/transport/auth_client.py
77
+ v2/nacos/transport/connection.py
78
+ v2/nacos/transport/connection_event_listener.py
79
+ v2/nacos/transport/grpc_client.py
80
+ v2/nacos/transport/grpc_connection.py
81
+ v2/nacos/transport/grpc_util.py
82
+ v2/nacos/transport/http_agent.py
83
+ v2/nacos/transport/nacos_server_connector.py
84
+ v2/nacos/transport/rpc_client.py
85
+ v2/nacos/transport/rpc_client_factory.py
86
+ v2/nacos/transport/server_request_handler.py
87
+ v2/nacos/transport/grpcauto/__init__.py
88
+ v2/nacos/transport/grpcauto/nacos_grpc_service_pb2.py
89
+ v2/nacos/transport/grpcauto/nacos_grpc_service_pb2_grpc.py
90
+ v2/nacos/transport/model/__init__.py
91
+ v2/nacos/transport/model/internal_request.py
92
+ v2/nacos/transport/model/internal_response.py
93
+ v2/nacos/transport/model/rpc_request.py
94
+ v2/nacos/transport/model/rpc_response.py
95
+ v2/nacos/transport/model/server_info.py
96
+ v2/nacos/utils/__init__.py
97
+ v2/nacos/utils/aes_util.py
98
+ v2/nacos/utils/common_util.py
99
+ v2/nacos/utils/content_util.py
100
+ v2/nacos/utils/encode_util.py
101
+ v2/nacos/utils/file_util.py
102
+ v2/nacos/utils/hmac_util.py
103
+ v2/nacos/utils/md5_util.py
104
+ v2/nacos/utils/net_util.py
@@ -5,8 +5,6 @@ from shutil import rmtree
5
5
 
6
6
  from setuptools import find_packages, setup, Command
7
7
 
8
- import nacos
9
-
10
8
  # just run `python setup.py upload`
11
9
  here = os.path.abspath(os.path.dirname(__file__))
12
10
 
@@ -50,7 +48,7 @@ class UploadCommand(Command):
50
48
 
51
49
  setup(
52
50
  name="nacos-sdk-python",
53
- version=nacos.__version__,
51
+ version="2.0.0.beta2",
54
52
  packages=find_packages(
55
53
  exclude=["test", "*.tests", "*.tests.*", "tests.*", "tests"]),
56
54
  url="https://github.com/nacos-group/nacos-sdk-python",
File without changes
@@ -0,0 +1,41 @@
1
+ from .common.client_config import (KMSConfig,
2
+ GRPCConfig,
3
+ TLSConfig,
4
+ ClientConfig)
5
+ from .common.client_config_builder import ClientConfigBuilder
6
+ from .common.nacos_exception import NacosException
7
+ from .config.model.config_param import ConfigParam
8
+ from .config.nacos_config_service import NacosConfigService
9
+ from .naming.model.instance import Instance
10
+ from .naming.model.naming_param import (RegisterInstanceParam,
11
+ BatchRegisterInstanceParam,
12
+ DeregisterInstanceParam,
13
+ ListInstanceParam,
14
+ SubscribeServiceParam,
15
+ GetServiceParam,
16
+ ListServiceParam)
17
+ from .naming.model.service import (Service,
18
+ ServiceList)
19
+ from .naming.nacos_naming_service import NacosNamingService
20
+
21
+ __all__ = [
22
+ "KMSConfig",
23
+ "GRPCConfig",
24
+ "TLSConfig",
25
+ "ClientConfig",
26
+ "ClientConfigBuilder",
27
+ "NacosException",
28
+ "ConfigParam",
29
+ "NacosConfigService",
30
+ "Instance",
31
+ "Service",
32
+ "ServiceList",
33
+ "RegisterInstanceParam",
34
+ "BatchRegisterInstanceParam",
35
+ "DeregisterInstanceParam",
36
+ "ListInstanceParam",
37
+ "SubscribeServiceParam",
38
+ "GetServiceParam",
39
+ "ListServiceParam",
40
+ "NacosNamingService"
41
+ ]
File without changes
@@ -0,0 +1,126 @@
1
+ import logging
2
+
3
+ from v2.nacos.common.constants import Constants
4
+ from v2.nacos.common.nacos_exception import NacosException, INVALID_PARAM
5
+
6
+
7
+ class KMSConfig:
8
+ def __init__(self, enabled=False, endpoint='', access_key='', secret_key='', client_key_content='', password=''):
9
+ self.enabled = enabled # 是否启用kms
10
+ self.endpoint = endpoint # kms服务的地址
11
+ self.client_key_content = client_key_content
12
+ self.password = password
13
+ self.access_key = access_key
14
+ self.secret_key = secret_key
15
+
16
+
17
+ class TLSConfig:
18
+ def __init__(self, enabled=False, appointed=False, ca_file='', cert_file='',
19
+ key_file='', server_name_override=''):
20
+ self.enabled = enabled # 是否启用tls
21
+ self.appointed = appointed # 指明是否使用预设的配置
22
+ self.ca_file = ca_file # CA证书文件的路径
23
+ self.cert_file = cert_file # 客户端证书文件的路径
24
+ self.key_file = key_file # 私钥文件的路径
25
+ self.server_name_override = server_name_override # 服务器名称覆盖(用于测试)
26
+
27
+ def __str__(self):
28
+ return str(self.__dict__)
29
+
30
+
31
+ class GRPCConfig:
32
+ def __init__(self, max_receive_message_length=Constants.GRPC_MAX_RECEIVE_MESSAGE_LENGTH,
33
+ max_keep_alive_ms=Constants.GRPC_KEEPALIVE_TIME_MILLS,
34
+ initial_window_size=Constants.GRPC_INITIAL_WINDOW_SIZE,
35
+ initial_conn_window_size=Constants.GRPC_INITIAL_CONN_WINDOW_SIZE,
36
+ grpc_timeout=Constants.DEFAULT_GRPC_TIMEOUT_MILLS):
37
+ self.max_receive_message_length = max_receive_message_length
38
+ self.max_keep_alive_ms = max_keep_alive_ms
39
+ self.initial_window_size = initial_window_size
40
+ self.initial_conn_window_size = initial_conn_window_size
41
+ self.grpc_timeout = grpc_timeout
42
+
43
+
44
+ class ClientConfig:
45
+ def __init__(self, server_addresses=None, endpoint=None, namespace_id='', context_path='', access_key=None,
46
+ secret_key=None, username=None, password=None, app_name='', app_key='', log_dir='', log_level=None,
47
+ log_rotation_backup_count=None, app_conn_labels=None):
48
+ self.server_list = []
49
+ try:
50
+ if server_addresses is not None and server_addresses.strip() != "":
51
+ for server_address in server_addresses.strip().split(','):
52
+ self.server_list.append(server_address.strip())
53
+ except Exception:
54
+ raise NacosException(INVALID_PARAM, "server_addresses is invalid")
55
+
56
+ self.endpoint = endpoint
57
+ self.endpoint_context_path = Constants.WEB_CONTEXT
58
+ self.namespace_id = namespace_id
59
+ self.access_key = access_key
60
+ self.context_path = context_path
61
+ self.secret_key = secret_key
62
+ self.username = username # the username for nacos auth
63
+ self.password = password # the password for nacos auth
64
+ self.app_name = app_name
65
+ self.app_key = app_key
66
+ self.cache_dir = ''
67
+ self.disable_use_config_cache = False
68
+ self.log_dir = log_dir
69
+ self.log_level = logging.INFO if log_level is None else log_level # the log level for nacos client, default value is logging.INFO: log_level
70
+ self.log_rotation_backup_count = 7 if log_rotation_backup_count is None else log_rotation_backup_count
71
+ self.timeout_ms = 10 * 1000 # timeout for requesting Nacos server, default value is 10000ms
72
+ self.heart_beat_interval = 5 * 1000 # the time interval for sending beat to server,default value is 5000ms
73
+ self.kms_config = KMSConfig(enabled=False)
74
+ self.tls_config = TLSConfig(enabled=False)
75
+ self.grpc_config = GRPCConfig()
76
+ self.load_cache_at_start = True
77
+ self.update_cache_when_empty = False
78
+ self.app_conn_labels = app_conn_labels
79
+
80
+ def set_log_level(self, log_level):
81
+ self.log_level = log_level
82
+ return self
83
+
84
+ def set_cache_dir(self, cache_dir):
85
+ self.cache_dir = cache_dir
86
+ return self
87
+
88
+ def set_log_dir(self, log_dir):
89
+ self.log_dir = log_dir
90
+ return self
91
+
92
+ def set_timeout_ms(self, timeout_ms):
93
+ self.timeout_ms = timeout_ms
94
+ return self
95
+
96
+ def set_heart_beat_interval(self, heart_beat_interval):
97
+ self.heart_beat_interval = heart_beat_interval
98
+ return self
99
+
100
+ def set_tls_config(self, tls_config: TLSConfig):
101
+ self.tls_config = tls_config
102
+ return self
103
+
104
+ def set_kms_config(self, kms_config: KMSConfig):
105
+ self.kms_config = kms_config
106
+ return self
107
+
108
+ def set_grpc_config(self, grpc_config: GRPCConfig):
109
+ self.grpc_config = grpc_config
110
+ return self
111
+
112
+ def set_load_cache_at_start(self, load_cache_at_start):
113
+ self.load_cache_at_start = load_cache_at_start
114
+ return self
115
+
116
+ def set_update_cache_when_empty(self, update_cache_when_empty: bool):
117
+ self.update_cache_when_empty = update_cache_when_empty
118
+ return self
119
+
120
+ def set_endpoint_context_path(self, endpoint_context_path):
121
+ self.endpoint_context_path = endpoint_context_path
122
+ return self
123
+
124
+ def set_app_conn_labels(self, app_conn_labels: dict):
125
+ self.app_conn_labels = app_conn_labels
126
+ return self
@@ -0,0 +1,86 @@
1
+ from v2.nacos.common.client_config import ClientConfig, GRPCConfig
2
+ from v2.nacos.common.client_config import KMSConfig
3
+ from v2.nacos.common.client_config import TLSConfig
4
+ from v2.nacos.common.constants import Constants
5
+
6
+
7
+ class ClientConfigBuilder:
8
+ def __init__(self):
9
+ self._config = ClientConfig()
10
+
11
+ def server_address(self, server_address: str) -> "ClientConfigBuilder":
12
+ if server_address is not None and server_address.strip() != "":
13
+ for server_address in server_address.strip().split(','):
14
+ self._config.server_list.append(server_address.strip())
15
+ return self
16
+
17
+ def endpoint(self, endpoint) -> "ClientConfigBuilder":
18
+ self._config.endpoint = endpoint
19
+ return self
20
+
21
+ def namespace_id(self, namespace_id: str) -> "ClientConfigBuilder":
22
+ if namespace_id is None:
23
+ namespace_id = Constants.DEFAULT_NAMESPACE_ID
24
+ self._config.namespace_id = namespace_id
25
+ return self
26
+
27
+ def timeout_ms(self, timeout_ms) -> "ClientConfigBuilder":
28
+ self._config.timeout_ms = timeout_ms
29
+ return self
30
+
31
+ def heart_beat_interval(self, heart_beat_interval) -> "ClientConfigBuilder":
32
+ self._config.heart_beat_interval = heart_beat_interval
33
+ return self
34
+
35
+ def log_level(self, log_level) -> "ClientConfigBuilder":
36
+ self._config.log_level = log_level
37
+ return self
38
+
39
+ def log_dir(self, log_dir: str) -> "ClientConfigBuilder":
40
+ self._config.log_dir = log_dir
41
+ return self
42
+
43
+ def access_key(self, access_key: str) -> "ClientConfigBuilder":
44
+ self._config.access_key = access_key
45
+ return self
46
+
47
+ def secret_key(self, secret_key: str) -> "ClientConfigBuilder":
48
+ self._config.secret_key = secret_key
49
+ return self
50
+
51
+ def username(self, username: str) -> "ClientConfigBuilder":
52
+ self._config.username = username
53
+ return self
54
+
55
+ def password(self, password: str) -> "ClientConfigBuilder":
56
+ self._config.password = password
57
+ return self
58
+
59
+ def cache_dir(self, cache_dir: str) -> "ClientConfigBuilder":
60
+ self._config.cache_dir = cache_dir
61
+ return self
62
+
63
+ def tls_config(self, tls_config: TLSConfig) -> "ClientConfigBuilder":
64
+ self._config.tls_config = tls_config
65
+ return self
66
+
67
+ def kms_config(self, kms_config: KMSConfig) -> "ClientConfigBuilder":
68
+ self._config.kms_config = kms_config
69
+ return self
70
+
71
+ def grpc_config(self, grpc_config: GRPCConfig) -> "ClientConfigBuilder":
72
+ self._config.grpc_config = grpc_config
73
+ return self
74
+
75
+ def load_cache_at_start(self, load_cache_at_start: bool) -> "ClientConfigBuilder":
76
+ self._config.load_cache_at_start = load_cache_at_start
77
+ return self
78
+
79
+ def app_conn_labels(self, app_conn_labels: dict) -> "ClientConfigBuilder":
80
+ if self._config.app_conn_labels is None:
81
+ self._config.app_conn_labels = {}
82
+ self._config.app_conn_labels.update(app_conn_labels)
83
+ return self
84
+
85
+ def build(self):
86
+ return self._config
@@ -0,0 +1,227 @@
1
+ class Constants:
2
+ NAMING_MODULE = "naming"
3
+
4
+ CONFIG_MODULE = "config"
5
+
6
+ LABEL_SOURCE = "source"
7
+
8
+ LABEL_SOURCE_SDK = "sdk"
9
+
10
+ LABEL_SOURCE_CLUSTER = "cluster"
11
+
12
+ LABEL_MODULE = "module"
13
+
14
+ CLIENT_VERSION = "Nacos-Python-Client:v2.0.0"
15
+
16
+ DATA_IN_BODY_VERSION = 204
17
+
18
+ DEFAULT_GROUP = "DEFAULT_GROUP"
19
+
20
+ WEB_CONTEXT = "/nacos"
21
+
22
+ APPNAME = "AppName"
23
+
24
+ UNKNOWN_APP = "UnknownApp"
25
+
26
+ DEFAULT_DOMAINNAME = "commonconfig.config-host.taobao.com"
27
+
28
+ DAILY_DOMAINNAME = "commonconfig.taobao.net"
29
+
30
+ NULL = ""
31
+
32
+ DATAID = "dataId"
33
+
34
+ GROUP = "group"
35
+
36
+ DEFAULT_HEARTBEAT_INTERVAL = 5
37
+
38
+ LAST_MODIFIED = "Last-Modified"
39
+
40
+ ACCEPT_ENCODING = "Accept-Encoding"
41
+
42
+ CONTENT_ENCODING = "Content-Encoding"
43
+
44
+ PROBE_MODIFY_REQUEST = "Listening-Configs"
45
+
46
+ PROBE_MODIFY_RESPONSE = "Probe-Modify-Response"
47
+
48
+ PROBE_MODIFY_RESPONSE_NEW = "Probe-Modify-Response-New"
49
+
50
+ USE_ZIP = "true"
51
+
52
+ CONTENT_MD5 = "Content-MD5"
53
+
54
+ CONFIG_VERSION = "Config-Version"
55
+
56
+ CONFIG_TYPE = "Config-Type"
57
+
58
+ ENCRYPTED_DATA_KEY = "Encrypted-Data-Key"
59
+
60
+ IF_MODIFIED_SINCE = "If-Modified-Since"
61
+
62
+ SPACING_INTERVAL = "client-spacing-interval"
63
+
64
+ BASE_PATH = "/v1/cs"
65
+
66
+ SERVICE_BASE_PATH = "/v1/ns"
67
+
68
+ CONFIG_CONTROLLER_PATH = BASE_PATH + "/configs"
69
+
70
+ TOKEN = "token"
71
+
72
+ ACCESS_TOKEN = "accessToken"
73
+
74
+ TOKEN_TTL = "tokenTtl"
75
+
76
+ GLOBAL_ADMIN = "globalAdmin"
77
+
78
+ USERNAME = "username"
79
+
80
+ TOKEN_REFRESH_WINDOW = "tokenRefreshWindow"
81
+
82
+ # second.
83
+ ASYNC_UPDATE_ADDRESS_INTERVAL = 300
84
+
85
+ # second.
86
+ POLLING_INTERVAL_TIME = 15
87
+
88
+ # millisecond.
89
+ ONCE_TIMEOUT = 2000
90
+
91
+ # millisecond.
92
+ SO_TIMEOUT = 60000
93
+
94
+ # millisecond.
95
+ CONFIG_LONG_POLL_TIMEOUT = 30000
96
+
97
+ # millisecond.
98
+ MIN_CONFIG_LONG_POLL_TIMEOUT = 10000
99
+
100
+ # millisecond.
101
+ CONFIG_RETRY_TIME = 2000
102
+
103
+ # Maximum number of retries.
104
+ MAX_RETRY = 3
105
+
106
+ # millisecond.
107
+ RECV_WAIT_TIMEOUT = ONCE_TIMEOUT * 5
108
+
109
+ ENCODE = "UTF-8"
110
+
111
+ MAP_FILE = "map-file.js"
112
+
113
+ FLOW_CONTROL_THRESHOLD = 20
114
+
115
+ FLOW_CONTROL_SLOT = 10
116
+
117
+ FLOW_CONTROL_INTERVAL = 1000
118
+
119
+ DEFAULT_PROTECT_THRESHOLD = 0.0
120
+
121
+ LINE_SEPARATOR = chr(1)
122
+
123
+ WORD_SEPARATOR = chr(2)
124
+
125
+ LONGPOLLING_LINE_SEPARATOR = "\r\n"
126
+
127
+ CLIENT_APPNAME_HEADER = "Client-AppName"
128
+
129
+ APP_NAME_HEADER = "AppName"
130
+
131
+ CLIENT_REQUEST_TS_HEADER = "Client-RequestTS"
132
+
133
+ CLIENT_REQUEST_TOKEN_HEADER = "Client-RequestToken"
134
+
135
+ ATOMIC_MAX_SIZE = 1000
136
+
137
+ NAMING_INSTANCE_ID_SPLITTER = "#"
138
+
139
+ NAMING_INSTANCE_ID_SEG_COUNT = 4
140
+
141
+ NAMING_HTTP_HEADER_SPLITTER = "\\|"
142
+
143
+ DEFAULT_CLUSTER_NAME = "DEFAULT"
144
+
145
+ DEFAULT_HEART_BEAT_TIMEOUT = 15000
146
+
147
+ DEFAULT_IP_DELETE_TIMEOUT = 30000
148
+
149
+ DEFAULT_HEART_BEAT_INTERVAL = 5000
150
+
151
+ DEFAULT_NAMESPACE_ID = ""
152
+
153
+ DEFAULT_USE_CLOUD_NAMESPACE_PARSING = True
154
+
155
+ WRITE_REDIRECT_CODE = 307
156
+
157
+ RESPONSE_SUCCESS_CODE = 200
158
+
159
+ REQUEST_DOMAIN_RETRY_TIME = 3
160
+
161
+ SERVICE_INFO_SPLITER = "@@"
162
+
163
+ CONFIG_INFO_SPLITER = "@@"
164
+
165
+ SERVICE_INFO_SPLIT_COUNT = 2
166
+
167
+ NULL_STRING = "null"
168
+
169
+ NUMBER_PATTERN = "^\\d+$"
170
+
171
+ ANY_PATTERN = ".*"
172
+
173
+ DEFAULT_INSTANCE_ID_GENERATOR = "simple"
174
+
175
+ SNOWFLAKE_INSTANCE_ID_GENERATOR = "snowflake"
176
+
177
+ HTTP_PREFIX = "http"
178
+
179
+ ALL_PATTERN = "*"
180
+
181
+ COLON = ":"
182
+
183
+ LINE_BREAK = "\n"
184
+
185
+ POUND = "#"
186
+
187
+ VIPSERVER_TAG = "Vipserver-Tag"
188
+
189
+ AMORY_TAG = "Amory-Tag"
190
+
191
+ LOCATION_TAG = "Location-Tag"
192
+
193
+ CHARSET_KEY = "charset"
194
+
195
+ EX_CONFIG_INFO = "exConfigInfo"
196
+
197
+ GROUP_NAME_KEY = "groupName"
198
+
199
+ SERVICE_NAME_KEY = "serviceName"
200
+
201
+ CIPHER_PRE_FIX = "cipher-"
202
+
203
+ DEFAULT_PORT = 8848
204
+
205
+ GRPC_MAX_RECEIVE_MESSAGE_LENGTH = 100 * 1024 * 1024
206
+
207
+ GRPC_KEEPALIVE_TIME_MILLS = 60 * 1000
208
+
209
+ GRPC_INITIAL_WINDOW_SIZE = 10 * 1024 * 1024
210
+
211
+ GRPC_INITIAL_CONN_WINDOW_SIZE = 10 * 1024 * 1024
212
+
213
+ KEEP_ALIVE_TIME_MILLS = 5000
214
+
215
+ INTERNAL_TIME_MILLS = 3000
216
+
217
+ DEFAULT_GRPC_TIMEOUT_MILLS = 3000
218
+
219
+ DEFAULT_TIMEOUT_MILLS = 10000
220
+
221
+ PER_TASK_CONFIG_SIZE = 3000
222
+
223
+ MSE_KMS_V1_DEFAULT_KEY_ID = "alias/acs/mse"
224
+
225
+ KMS_AES_128_ALGORITHM_NAME = "AES_128"
226
+
227
+ KMS_AES_256_ALGORITHM_NAME = "AES_256"
@@ -0,0 +1,40 @@
1
+ CLIENT_INVALID_PARAM = -400
2
+
3
+ CLIENT_DISCONNECT = -401
4
+
5
+ CLIENT_OVER_THRESHOLD = -503
6
+
7
+ INVALID_PARAM = 400
8
+
9
+ NO_RIGHT = 403
10
+
11
+ NOT_FOUND = 404
12
+
13
+ CONFLICT = 409
14
+
15
+ SERVER_ERROR = 500
16
+
17
+ BAD_GATEWAY = 502
18
+
19
+ OVER_THRESHOLD = 503
20
+
21
+ INVALID_SERVER_STATUS = 300
22
+
23
+ UN_REGISTER = 301
24
+
25
+ NO_HANDLER = 302
26
+
27
+ INVALID_INTERFACE_ERROR = -403
28
+
29
+ RESOURCE_NOT_FOUND = -404
30
+
31
+ HTTP_CLIENT_ERROR_CODE = -500
32
+
33
+
34
+ class NacosException(Exception):
35
+ """Custom exception class with an error code attribute."""
36
+
37
+ def __init__(self, error_code, message="An error occurred"):
38
+ self.error_code = error_code
39
+ self.message = message
40
+ super().__init__(f'Error [{error_code}]: {message}')