aliyun-log-python-sdk 0.9.35__tar.gz → 0.9.37__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.
- {aliyun_log_python_sdk-0.9.35/aliyun_log_python_sdk.egg-info → aliyun_log_python_sdk-0.9.37}/PKG-INFO +2 -10
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/index_config.py +14 -2
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logitem.py +4 -1
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/version.py +1 -1
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37/aliyun_log_python_sdk.egg-info}/PKG-INFO +2 -10
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun_log_python_sdk.egg-info/SOURCES.txt +0 -1
- aliyun_log_python_sdk-0.9.35/tests/test_logtail_pipeline_config.py +0 -389
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/LICENSE +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/README.md +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/_proto_py2/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/_proto_py2/log_logs_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/_proto_py2/log_logs_raw_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/acl_config.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/acl_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/async_sql_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/async_sql_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/auth.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/common_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/compress.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/checkpoint_tracker.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/config.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/consumer_client.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/exceptions.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/fetched_log_group.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/heart_beat.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/preprocessor.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/shard_worker.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/tasks.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/worker.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer_group_request.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer_group_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/credentials.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/cursor_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/cursor_time_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/delete_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/deletelogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/deletelogssresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/doc_logitem_converter.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/index_logstore_mappings.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/mapping_index_converter.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/migration_log.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/migration_manager.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/migration_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/migration_task.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/util.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/config_parser.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/etl_util.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/exceptions.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/restrict_config_parser.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/runner.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/settings.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_base.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_csv.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_json.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_kv.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_lookup.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_mv.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_regex.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/trans_comp/trans_set_field.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/condition_list.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/condition_transform.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/condition_util.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/transform_base.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/transform_list.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/transform/transform_meta.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/export_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ext/__init__.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ext/jupyter_magic.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ext/syslogclient.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/external_store_config.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/external_store_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/get_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getcontextlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getdeletelogsstatusrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getdeletelogsstatusresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/gethistogramsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/gethistogramsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getlogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/histogram.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/index_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ingestion_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/job.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listdeletelogsstasksrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listdeletelogsstasksresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listlogstoresrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listlogstoresresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listtopicsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listtopicsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/log_logs_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/log_logs_raw_pb2.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logclient.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logclient_core.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logclient_operator.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logexception.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logger_hanlder.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logstore_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_config_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_pipeline_config_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_pipeline_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/machine_group_detail.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/machinegroup_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/metering_mode_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/odps_sink.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/oss_sink.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/pluralize.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/project_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/proto.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/pulllog_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/putlogsrequest.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/putlogsresponse.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/queriedlog.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/rebuild_index_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/resource_params.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/resource_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/scheduled_sql.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/scheduled_sql_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/shard_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/shipper_config.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/shipper_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/sink.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/sql_instance_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/store_view.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/store_view_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/submit_async_sql_request.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/substore_config_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/tag_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/topostore_params.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/topostore_response.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/util.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun_log_python_sdk.egg-info/dependency_links.txt +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun_log_python_sdk.egg-info/requires.txt +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun_log_python_sdk.egg-info/top_level.txt +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/setup.cfg +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/setup.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/tests/test_alert.py +0 -0
- {aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/tests/test_util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: aliyun-log-python-sdk
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.37
|
|
4
4
|
Summary: Aliyun log service Python client SDK
|
|
5
5
|
Home-page: https://github.com/aliyun/aliyun-log-python-sdk
|
|
6
6
|
Author: Aliyun
|
|
@@ -29,14 +29,6 @@ Requires-Dist: pytest; extra == "test"
|
|
|
29
29
|
Requires-Dist: lz4; extra == "test"
|
|
30
30
|
Requires-Dist: virtualenv; extra == "test"
|
|
31
31
|
Requires-Dist: zstandard; extra == "test"
|
|
32
|
-
Dynamic: author
|
|
33
|
-
Dynamic: classifier
|
|
34
|
-
Dynamic: description
|
|
35
|
-
Dynamic: home-page
|
|
36
|
-
Dynamic: license-file
|
|
37
|
-
Dynamic: provides-extra
|
|
38
|
-
Dynamic: requires-dist
|
|
39
|
-
Dynamic: summary
|
|
40
32
|
|
|
41
33
|
|
|
42
34
|
Python SDK for Alicloud Log Service
|
|
@@ -229,9 +229,12 @@ class IndexConfig(object):
|
|
|
229
229
|
:type log_reduce: bool
|
|
230
230
|
:param log_reduce: if to enable logreduce
|
|
231
231
|
|
|
232
|
+
:type scan_index: bool
|
|
233
|
+
:param scan_index: if to enable scan index
|
|
234
|
+
|
|
232
235
|
"""
|
|
233
236
|
|
|
234
|
-
def __init__(self, ttl=1, line_config=None, key_config_list=None, all_keys_config=None, log_reduce=None):
|
|
237
|
+
def __init__(self, ttl=1, line_config=None, key_config_list=None, all_keys_config=None, log_reduce=None, scan_index=None):
|
|
235
238
|
if key_config_list is None:
|
|
236
239
|
key_config_list = {}
|
|
237
240
|
self.ttl = ttl
|
|
@@ -243,7 +246,7 @@ class IndexConfig(object):
|
|
|
243
246
|
self.log_reduce_black_list = None
|
|
244
247
|
self.log_reduce_white_list = None
|
|
245
248
|
self.docvalue_max_text_len = 0
|
|
246
|
-
|
|
249
|
+
self.scan_index = scan_index
|
|
247
250
|
'''
|
|
248
251
|
:type max_len : int
|
|
249
252
|
:param max_len : the max len of the docvalue
|
|
@@ -268,6 +271,9 @@ class IndexConfig(object):
|
|
|
268
271
|
def set_log_reduce_white_list(self, white_list):
|
|
269
272
|
self.log_reduce_white_list = white_list
|
|
270
273
|
|
|
274
|
+
def set_scan_index(self, scan_index):
|
|
275
|
+
self.scan_index = scan_index
|
|
276
|
+
|
|
271
277
|
def to_json(self):
|
|
272
278
|
json_value = {}
|
|
273
279
|
if self.line_config is not None:
|
|
@@ -289,6 +295,9 @@ class IndexConfig(object):
|
|
|
289
295
|
|
|
290
296
|
elif self.log_reduce_black_list != None:
|
|
291
297
|
json_value["log_reduce_black_list"] = self.log_reduce_black_list
|
|
298
|
+
|
|
299
|
+
if self.scan_index is not None:
|
|
300
|
+
json_value["scan_index"] = self.scan_index
|
|
292
301
|
|
|
293
302
|
return json_value
|
|
294
303
|
|
|
@@ -314,3 +323,6 @@ class IndexConfig(object):
|
|
|
314
323
|
self.docvalue_max_text_len = json_value.get('max_text_len', 0)
|
|
315
324
|
|
|
316
325
|
self.modify_time = json_value.get("lastModifyTime", int(time.time()))
|
|
326
|
+
|
|
327
|
+
if 'scan_index' in json_value:
|
|
328
|
+
self.scan_index = json_value['scan_index']
|
|
@@ -17,9 +17,12 @@ class LogItem(object):
|
|
|
17
17
|
|
|
18
18
|
:type contents: tuple(key-value) list
|
|
19
19
|
:param contents: the data of the log item, including many (key,value) pairs.
|
|
20
|
+
|
|
21
|
+
:type time_nano_part: int
|
|
22
|
+
:param time_nano_part: time nano part of the log item, ranges from 0 to 999999999.
|
|
20
23
|
"""
|
|
21
24
|
|
|
22
|
-
def __init__(self, timestamp=None,
|
|
25
|
+
def __init__(self, timestamp=None, contents=None, time_nano_part=None):
|
|
23
26
|
nano_time = int(time.time() * 10**9)
|
|
24
27
|
self.timestamp = int(timestamp) if timestamp else int(nano_time / 1000000000)
|
|
25
28
|
# milliseconds
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: aliyun-log-python-sdk
|
|
3
|
-
Version: 0.9.
|
|
3
|
+
Version: 0.9.37
|
|
4
4
|
Summary: Aliyun log service Python client SDK
|
|
5
5
|
Home-page: https://github.com/aliyun/aliyun-log-python-sdk
|
|
6
6
|
Author: Aliyun
|
|
@@ -29,14 +29,6 @@ Requires-Dist: pytest; extra == "test"
|
|
|
29
29
|
Requires-Dist: lz4; extra == "test"
|
|
30
30
|
Requires-Dist: virtualenv; extra == "test"
|
|
31
31
|
Requires-Dist: zstandard; extra == "test"
|
|
32
|
-
Dynamic: author
|
|
33
|
-
Dynamic: classifier
|
|
34
|
-
Dynamic: description
|
|
35
|
-
Dynamic: home-page
|
|
36
|
-
Dynamic: license-file
|
|
37
|
-
Dynamic: provides-extra
|
|
38
|
-
Dynamic: requires-dist
|
|
39
|
-
Dynamic: summary
|
|
40
32
|
|
|
41
33
|
|
|
42
34
|
Python SDK for Alicloud Log Service
|
|
@@ -1,389 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# encoding: utf-8
|
|
3
|
-
|
|
4
|
-
# Copyright (C) Alibaba Cloud Computing
|
|
5
|
-
# All rights reserved.
|
|
6
|
-
|
|
7
|
-
"""
|
|
8
|
-
Unit tests for Logtail Pipeline Config API
|
|
9
|
-
|
|
10
|
-
This test file validates the LogtailPipelineConfigDetail class
|
|
11
|
-
and its JSON serialization/deserialization.
|
|
12
|
-
"""
|
|
13
|
-
|
|
14
|
-
from __future__ import print_function
|
|
15
|
-
import unittest
|
|
16
|
-
import json
|
|
17
|
-
import sys
|
|
18
|
-
import os
|
|
19
|
-
|
|
20
|
-
# Add parent directory to path for imports
|
|
21
|
-
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
22
|
-
|
|
23
|
-
from aliyun.log.logtail_pipeline_config_detail import LogtailPipelineConfigDetail
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class TestLogtailPipelineConfigDetail(unittest.TestCase):
|
|
27
|
-
"""Test cases for LogtailPipelineConfigDetail"""
|
|
28
|
-
|
|
29
|
-
def setUp(self):
|
|
30
|
-
"""Set up test fixtures"""
|
|
31
|
-
self.config_name = "test-pipeline-config"
|
|
32
|
-
self.inputs = [
|
|
33
|
-
{
|
|
34
|
-
"Type": "input_file",
|
|
35
|
-
"FilePaths": ["/var/log/*.log"]
|
|
36
|
-
}
|
|
37
|
-
]
|
|
38
|
-
self.flushers = [
|
|
39
|
-
{
|
|
40
|
-
"Type": "flusher_sls",
|
|
41
|
-
"Logstore": "test-logstore"
|
|
42
|
-
}
|
|
43
|
-
]
|
|
44
|
-
self.processors = [
|
|
45
|
-
{
|
|
46
|
-
"Type": "processor_parse_json_native",
|
|
47
|
-
"SourceKey": "content"
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
self.log_sample = '{"level": "INFO", "message": "test"}'
|
|
51
|
-
|
|
52
|
-
def test_basic_init(self):
|
|
53
|
-
"""Test basic initialization with required fields only"""
|
|
54
|
-
config = LogtailPipelineConfigDetail(
|
|
55
|
-
config_name=self.config_name,
|
|
56
|
-
inputs=self.inputs,
|
|
57
|
-
flushers=self.flushers
|
|
58
|
-
)
|
|
59
|
-
|
|
60
|
-
self.assertEqual(config.config_name, self.config_name)
|
|
61
|
-
self.assertEqual(config.inputs, self.inputs)
|
|
62
|
-
self.assertEqual(config.flushers, self.flushers)
|
|
63
|
-
self.assertIsNone(config.log_sample)
|
|
64
|
-
self.assertEqual(config.global_config, {})
|
|
65
|
-
self.assertEqual(config.processors, [])
|
|
66
|
-
self.assertEqual(config.aggregators, [])
|
|
67
|
-
|
|
68
|
-
def test_full_init(self):
|
|
69
|
-
"""Test initialization with all fields"""
|
|
70
|
-
global_config = {"TopicType": "filepath"}
|
|
71
|
-
aggregators = [{"Type": "aggregator_context"}]
|
|
72
|
-
|
|
73
|
-
config = LogtailPipelineConfigDetail(
|
|
74
|
-
config_name=self.config_name,
|
|
75
|
-
inputs=self.inputs,
|
|
76
|
-
flushers=self.flushers,
|
|
77
|
-
log_sample=self.log_sample,
|
|
78
|
-
global_config=global_config,
|
|
79
|
-
processors=self.processors,
|
|
80
|
-
aggregators=aggregators
|
|
81
|
-
)
|
|
82
|
-
|
|
83
|
-
self.assertEqual(config.config_name, self.config_name)
|
|
84
|
-
self.assertEqual(config.log_sample, self.log_sample)
|
|
85
|
-
self.assertEqual(config.global_config, global_config)
|
|
86
|
-
self.assertEqual(config.processors, self.processors)
|
|
87
|
-
self.assertEqual(config.aggregators, aggregators)
|
|
88
|
-
|
|
89
|
-
def test_to_json_basic(self):
|
|
90
|
-
"""Test to_json with basic configuration"""
|
|
91
|
-
config = LogtailPipelineConfigDetail(
|
|
92
|
-
config_name=self.config_name,
|
|
93
|
-
inputs=self.inputs,
|
|
94
|
-
flushers=self.flushers
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
json_dict = config.to_json()
|
|
98
|
-
|
|
99
|
-
self.assertIn("configName", json_dict)
|
|
100
|
-
self.assertIn("inputs", json_dict)
|
|
101
|
-
self.assertIn("flushers", json_dict)
|
|
102
|
-
self.assertEqual(json_dict["configName"], self.config_name)
|
|
103
|
-
self.assertEqual(json_dict["inputs"], self.inputs)
|
|
104
|
-
self.assertEqual(json_dict["flushers"], self.flushers)
|
|
105
|
-
# Optional fields should not be present if not set
|
|
106
|
-
self.assertNotIn("logSample", json_dict)
|
|
107
|
-
|
|
108
|
-
def test_to_json_full(self):
|
|
109
|
-
"""Test to_json with all fields"""
|
|
110
|
-
global_config = {"TopicType": "filepath"}
|
|
111
|
-
aggregators = [{"Type": "aggregator_context"}]
|
|
112
|
-
|
|
113
|
-
config = LogtailPipelineConfigDetail(
|
|
114
|
-
config_name=self.config_name,
|
|
115
|
-
inputs=self.inputs,
|
|
116
|
-
flushers=self.flushers,
|
|
117
|
-
log_sample=self.log_sample,
|
|
118
|
-
global_config=global_config,
|
|
119
|
-
processors=self.processors,
|
|
120
|
-
aggregators=aggregators
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
json_dict = config.to_json()
|
|
124
|
-
|
|
125
|
-
self.assertIn("configName", json_dict)
|
|
126
|
-
self.assertIn("logSample", json_dict)
|
|
127
|
-
self.assertIn("global", json_dict)
|
|
128
|
-
self.assertIn("inputs", json_dict)
|
|
129
|
-
self.assertIn("processors", json_dict)
|
|
130
|
-
self.assertIn("aggregators", json_dict)
|
|
131
|
-
self.assertIn("flushers", json_dict)
|
|
132
|
-
|
|
133
|
-
self.assertEqual(json_dict["configName"], self.config_name)
|
|
134
|
-
self.assertEqual(json_dict["logSample"], self.log_sample)
|
|
135
|
-
self.assertEqual(json_dict["global"], global_config)
|
|
136
|
-
self.assertEqual(json_dict["processors"], self.processors)
|
|
137
|
-
self.assertEqual(json_dict["aggregators"], aggregators)
|
|
138
|
-
|
|
139
|
-
def test_from_json_basic(self):
|
|
140
|
-
"""Test from_json with basic configuration"""
|
|
141
|
-
json_dict = {
|
|
142
|
-
"configName": self.config_name,
|
|
143
|
-
"inputs": self.inputs,
|
|
144
|
-
"flushers": self.flushers
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
config = LogtailPipelineConfigDetail.from_json(json_dict)
|
|
148
|
-
|
|
149
|
-
self.assertEqual(config.config_name, self.config_name)
|
|
150
|
-
self.assertEqual(config.inputs, self.inputs)
|
|
151
|
-
self.assertEqual(config.flushers, self.flushers)
|
|
152
|
-
self.assertIsNone(config.log_sample)
|
|
153
|
-
self.assertIsNone(config.global_config)
|
|
154
|
-
self.assertEqual(config.processors, [])
|
|
155
|
-
|
|
156
|
-
def test_from_json_full(self):
|
|
157
|
-
"""Test from_json with all fields"""
|
|
158
|
-
global_config = {"TopicType": "filepath"}
|
|
159
|
-
aggregators = [{"Type": "aggregator_context"}]
|
|
160
|
-
|
|
161
|
-
json_dict = {
|
|
162
|
-
"configName": self.config_name,
|
|
163
|
-
"logSample": self.log_sample,
|
|
164
|
-
"global": global_config,
|
|
165
|
-
"inputs": self.inputs,
|
|
166
|
-
"processors": self.processors,
|
|
167
|
-
"aggregators": aggregators,
|
|
168
|
-
"flushers": self.flushers
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
config = LogtailPipelineConfigDetail.from_json(json_dict)
|
|
172
|
-
|
|
173
|
-
self.assertEqual(config.config_name, self.config_name)
|
|
174
|
-
self.assertEqual(config.log_sample, self.log_sample)
|
|
175
|
-
self.assertEqual(config.global_config, global_config)
|
|
176
|
-
self.assertEqual(config.inputs, self.inputs)
|
|
177
|
-
self.assertEqual(config.processors, self.processors)
|
|
178
|
-
self.assertEqual(config.aggregators, aggregators)
|
|
179
|
-
self.assertEqual(config.flushers, self.flushers)
|
|
180
|
-
|
|
181
|
-
def test_json_roundtrip(self):
|
|
182
|
-
"""Test JSON serialization and deserialization roundtrip"""
|
|
183
|
-
global_config = {"TopicType": "filepath", "EnableRawLog": True}
|
|
184
|
-
aggregators = [{"Type": "aggregator_context", "MaxLogGroupCount": 100}]
|
|
185
|
-
|
|
186
|
-
original = LogtailPipelineConfigDetail(
|
|
187
|
-
config_name=self.config_name,
|
|
188
|
-
inputs=self.inputs,
|
|
189
|
-
flushers=self.flushers,
|
|
190
|
-
log_sample=self.log_sample,
|
|
191
|
-
global_config=global_config,
|
|
192
|
-
processors=self.processors,
|
|
193
|
-
aggregators=aggregators
|
|
194
|
-
)
|
|
195
|
-
|
|
196
|
-
# Serialize to JSON
|
|
197
|
-
json_dict = original.to_json()
|
|
198
|
-
json_str = json.dumps(json_dict)
|
|
199
|
-
|
|
200
|
-
# Deserialize from JSON
|
|
201
|
-
parsed_dict = json.loads(json_str)
|
|
202
|
-
restored = LogtailPipelineConfigDetail.from_json(parsed_dict)
|
|
203
|
-
|
|
204
|
-
# Verify roundtrip
|
|
205
|
-
self.assertEqual(restored.config_name, original.config_name)
|
|
206
|
-
self.assertEqual(restored.log_sample, original.log_sample)
|
|
207
|
-
self.assertEqual(restored.global_config, original.global_config)
|
|
208
|
-
self.assertEqual(restored.inputs, original.inputs)
|
|
209
|
-
self.assertEqual(restored.processors, original.processors)
|
|
210
|
-
self.assertEqual(restored.aggregators, original.aggregators)
|
|
211
|
-
self.assertEqual(restored.flushers, original.flushers)
|
|
212
|
-
|
|
213
|
-
def test_str_representation(self):
|
|
214
|
-
"""Test __str__ method"""
|
|
215
|
-
config = LogtailPipelineConfigDetail(
|
|
216
|
-
config_name=self.config_name,
|
|
217
|
-
inputs=self.inputs,
|
|
218
|
-
flushers=self.flushers
|
|
219
|
-
)
|
|
220
|
-
|
|
221
|
-
str_repr = str(config)
|
|
222
|
-
self.assertIsInstance(str_repr, str)
|
|
223
|
-
# Should be valid JSON
|
|
224
|
-
parsed = json.loads(str_repr)
|
|
225
|
-
self.assertEqual(parsed["configName"], self.config_name)
|
|
226
|
-
|
|
227
|
-
def test_repr_representation(self):
|
|
228
|
-
"""Test __repr__ method"""
|
|
229
|
-
config = LogtailPipelineConfigDetail(
|
|
230
|
-
config_name=self.config_name,
|
|
231
|
-
inputs=self.inputs,
|
|
232
|
-
flushers=self.flushers
|
|
233
|
-
)
|
|
234
|
-
|
|
235
|
-
repr_str = repr(config)
|
|
236
|
-
self.assertIn("LogtailPipelineConfigDetail", repr_str)
|
|
237
|
-
self.assertIn(self.config_name, repr_str)
|
|
238
|
-
|
|
239
|
-
def test_multiple_processors(self):
|
|
240
|
-
"""Test configuration with multiple processors"""
|
|
241
|
-
processors = [
|
|
242
|
-
{
|
|
243
|
-
"Type": "processor_parse_json_native",
|
|
244
|
-
"SourceKey": "content"
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
"Type": "processor_filter_regex",
|
|
248
|
-
"Include": {
|
|
249
|
-
"level": "ERROR|WARN"
|
|
250
|
-
}
|
|
251
|
-
},
|
|
252
|
-
{
|
|
253
|
-
"Type": "processor_desensitize",
|
|
254
|
-
"SourceKey": "message",
|
|
255
|
-
"Method": "const",
|
|
256
|
-
"Match": r"\d{11}",
|
|
257
|
-
"ReplaceString": "***"
|
|
258
|
-
}
|
|
259
|
-
]
|
|
260
|
-
|
|
261
|
-
config = LogtailPipelineConfigDetail(
|
|
262
|
-
config_name=self.config_name,
|
|
263
|
-
inputs=self.inputs,
|
|
264
|
-
flushers=self.flushers,
|
|
265
|
-
processors=processors
|
|
266
|
-
)
|
|
267
|
-
|
|
268
|
-
json_dict = config.to_json()
|
|
269
|
-
self.assertEqual(len(json_dict["processors"]), 3)
|
|
270
|
-
|
|
271
|
-
# Test roundtrip
|
|
272
|
-
restored = LogtailPipelineConfigDetail.from_json(json_dict)
|
|
273
|
-
self.assertEqual(len(restored.processors), 3)
|
|
274
|
-
self.assertEqual(restored.processors[0]["Type"], "processor_parse_json_native")
|
|
275
|
-
self.assertEqual(restored.processors[1]["Type"], "processor_filter_regex")
|
|
276
|
-
self.assertEqual(restored.processors[2]["Type"], "processor_desensitize")
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
class TestLogtailPipelineConfigResponse(unittest.TestCase):
|
|
280
|
-
"""Test cases for response classes"""
|
|
281
|
-
|
|
282
|
-
def test_import_response_classes(self):
|
|
283
|
-
"""Test that response classes can be imported"""
|
|
284
|
-
try:
|
|
285
|
-
from aliyun.log.logtail_pipeline_config_response import (
|
|
286
|
-
CreateLogtailPipelineConfigResponse,
|
|
287
|
-
UpdateLogtailPipelineConfigResponse,
|
|
288
|
-
DeleteLogtailPipelineConfigResponse,
|
|
289
|
-
GetLogtailPipelineConfigResponse,
|
|
290
|
-
ListLogtailPipelineConfigResponse
|
|
291
|
-
)
|
|
292
|
-
# If we get here, imports are successful
|
|
293
|
-
self.assertTrue(True)
|
|
294
|
-
except ImportError as e:
|
|
295
|
-
self.fail("Failed to import response classes: %s" % str(e))
|
|
296
|
-
|
|
297
|
-
def test_get_response_with_config(self):
|
|
298
|
-
"""Test GetLogtailPipelineConfigResponse with config detail"""
|
|
299
|
-
from aliyun.log.logtail_pipeline_config_response import GetLogtailPipelineConfigResponse
|
|
300
|
-
|
|
301
|
-
resp_body = {
|
|
302
|
-
"configName": "test-config",
|
|
303
|
-
"inputs": [{"Type": "input_file"}],
|
|
304
|
-
"flushers": [{"Type": "flusher_sls", "Logstore": "test"}]
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
headers = {"x-log-requestid": "test-request-id"}
|
|
308
|
-
|
|
309
|
-
response = GetLogtailPipelineConfigResponse(resp_body, headers)
|
|
310
|
-
config = response.get_pipeline_config()
|
|
311
|
-
|
|
312
|
-
self.assertIsNotNone(config)
|
|
313
|
-
self.assertEqual(config.config_name, "test-config")
|
|
314
|
-
|
|
315
|
-
def test_list_response_properties(self):
|
|
316
|
-
"""Test ListLogtailPipelineConfigResponse properties
|
|
317
|
-
|
|
318
|
-
Note: List API returns config names (strings) only, not full config objects
|
|
319
|
-
"""
|
|
320
|
-
from aliyun.log.logtail_pipeline_config_response import ListLogtailPipelineConfigResponse
|
|
321
|
-
|
|
322
|
-
resp_body = {
|
|
323
|
-
"count": 2,
|
|
324
|
-
"total": 10,
|
|
325
|
-
"configs": ["config1", "config2"] # Config names only, not full objects
|
|
326
|
-
}
|
|
327
|
-
|
|
328
|
-
headers = {"x-log-requestid": "test-request-id"}
|
|
329
|
-
|
|
330
|
-
response = ListLogtailPipelineConfigResponse(resp_body, headers)
|
|
331
|
-
|
|
332
|
-
self.assertEqual(response.get_count(), 2)
|
|
333
|
-
self.assertEqual(response.get_total(), 10)
|
|
334
|
-
self.assertEqual(len(response.get_configs()), 2)
|
|
335
|
-
# Verify it returns config names as strings
|
|
336
|
-
self.assertEqual(response.get_configs()[0], "config1")
|
|
337
|
-
self.assertEqual(response.get_configs()[1], "config2")
|
|
338
|
-
self.assertIsInstance(response.get_configs()[0], str)
|
|
339
|
-
|
|
340
|
-
def test_list_response_merge(self):
|
|
341
|
-
"""Test ListLogtailPipelineConfigResponse merge for pagination"""
|
|
342
|
-
from aliyun.log.logtail_pipeline_config_response import ListLogtailPipelineConfigResponse
|
|
343
|
-
|
|
344
|
-
# First page
|
|
345
|
-
resp_body1 = {
|
|
346
|
-
"count": 2,
|
|
347
|
-
"total": 5,
|
|
348
|
-
"configs": ["config1", "config2"]
|
|
349
|
-
}
|
|
350
|
-
headers1 = {"x-log-requestid": "test-request-id-1"}
|
|
351
|
-
response1 = ListLogtailPipelineConfigResponse(resp_body1, headers1)
|
|
352
|
-
|
|
353
|
-
# Second page
|
|
354
|
-
resp_body2 = {
|
|
355
|
-
"count": 2,
|
|
356
|
-
"total": 5,
|
|
357
|
-
"configs": ["config3", "config4"]
|
|
358
|
-
}
|
|
359
|
-
headers2 = {"x-log-requestid": "test-request-id-2"}
|
|
360
|
-
response2 = ListLogtailPipelineConfigResponse(resp_body2, headers2)
|
|
361
|
-
|
|
362
|
-
# Merge
|
|
363
|
-
response1.merge(response2)
|
|
364
|
-
|
|
365
|
-
# Verify merged result
|
|
366
|
-
self.assertEqual(response1.get_count(), 4) # 2 + 2
|
|
367
|
-
self.assertEqual(response1.get_total(), 5) # Use latest total
|
|
368
|
-
self.assertEqual(len(response1.get_configs()), 4)
|
|
369
|
-
self.assertEqual(response1.get_configs(), ["config1", "config2", "config3", "config4"])
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
def run_tests():
|
|
373
|
-
"""Run all tests"""
|
|
374
|
-
loader = unittest.TestLoader()
|
|
375
|
-
suite = unittest.TestSuite()
|
|
376
|
-
|
|
377
|
-
suite.addTests(loader.loadTestsFromTestCase(TestLogtailPipelineConfigDetail))
|
|
378
|
-
suite.addTests(loader.loadTestsFromTestCase(TestLogtailPipelineConfigResponse))
|
|
379
|
-
|
|
380
|
-
runner = unittest.TextTestRunner(verbosity=2)
|
|
381
|
-
result = runner.run(suite)
|
|
382
|
-
|
|
383
|
-
return result.wasSuccessful()
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
if __name__ == '__main__':
|
|
387
|
-
success = run_tests()
|
|
388
|
-
sys.exit(0 if success else 1)
|
|
389
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/_proto_py2/__init__.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/_proto_py2/log_logs_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/async_sql_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/consumer_client.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/heart_beat.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/preprocessor.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer/shard_worker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer_group_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/consumer_group_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/cursor_time_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/delete_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/deletelogsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/deletelogssresponse.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/es_migration/util.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/__init__.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/config_parser.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/etl_util.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/etl_core/settings.py
RENAMED
|
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
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ext/jupyter_magic.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ext/syslogclient.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/external_store_config.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/get_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/getcontextlogsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/gethistogramsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/gethistogramsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/index_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/ingestion_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listlogstoresrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listlogstoresresponse.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listtopicsrequest.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/listtopicsresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/log_logs_raw_pb2.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logclient_operator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logstore_config_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_config_detail.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/logtail_config_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/machine_group_detail.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/machinegroup_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/metering_mode_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/project_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/pulllog_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/rebuild_index_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/resource_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/scheduled_sql_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/shipper_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/sql_instance_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/store_view_response.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/submit_async_sql_request.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/substore_config_response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/topostore_params.py
RENAMED
|
File without changes
|
{aliyun_log_python_sdk-0.9.35 → aliyun_log_python_sdk-0.9.37}/aliyun/log/topostore_response.py
RENAMED
|
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
|