aliyun-log-python-sdk 0.9.34__tar.gz → 0.9.35__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 (148) hide show
  1. {aliyun_log_python_sdk-0.9.34/aliyun_log_python_sdk.egg-info → aliyun_log_python_sdk-0.9.35}/PKG-INFO +10 -2
  2. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/__init__.py +2 -0
  3. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_kv.py +6 -4
  4. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logclient.py +127 -0
  5. aliyun_log_python_sdk-0.9.35/aliyun/log/logtail_pipeline_config_detail.py +135 -0
  6. aliyun_log_python_sdk-0.9.35/aliyun/log/logtail_pipeline_config_response.py +161 -0
  7. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/version.py +1 -1
  8. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35/aliyun_log_python_sdk.egg-info}/PKG-INFO +10 -2
  9. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun_log_python_sdk.egg-info/SOURCES.txt +3 -0
  10. aliyun_log_python_sdk-0.9.35/tests/test_logtail_pipeline_config.py +389 -0
  11. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/LICENSE +0 -0
  12. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/README.md +0 -0
  13. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/__init__.py +0 -0
  14. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/_proto_py2/__init__.py +0 -0
  15. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/_proto_py2/log_logs_pb2.py +0 -0
  16. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/_proto_py2/log_logs_raw_pb2.py +0 -0
  17. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/acl_config.py +0 -0
  18. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/acl_response.py +0 -0
  19. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/async_sql_pb2.py +0 -0
  20. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/async_sql_response.py +0 -0
  21. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/auth.py +0 -0
  22. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/common_response.py +0 -0
  23. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/compress.py +0 -0
  24. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/__init__.py +0 -0
  25. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/checkpoint_tracker.py +0 -0
  26. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/config.py +0 -0
  27. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/consumer_client.py +0 -0
  28. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/exceptions.py +0 -0
  29. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/fetched_log_group.py +0 -0
  30. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/heart_beat.py +0 -0
  31. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/preprocessor.py +0 -0
  32. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/shard_worker.py +0 -0
  33. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/tasks.py +0 -0
  34. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer/worker.py +0 -0
  35. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer_group_request.py +0 -0
  36. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/consumer_group_response.py +0 -0
  37. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/credentials.py +0 -0
  38. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/cursor_response.py +0 -0
  39. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/cursor_time_response.py +0 -0
  40. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/delete_async_sql_request.py +0 -0
  41. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/deletelogsrequest.py +0 -0
  42. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/deletelogssresponse.py +0 -0
  43. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/__init__.py +0 -0
  44. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/doc_logitem_converter.py +0 -0
  45. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/index_logstore_mappings.py +0 -0
  46. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/mapping_index_converter.py +0 -0
  47. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/migration_log.py +0 -0
  48. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/migration_manager.py +0 -0
  49. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/migration_response.py +0 -0
  50. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/migration_task.py +0 -0
  51. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/es_migration/util.py +0 -0
  52. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_config_response.py +0 -0
  53. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/__init__.py +0 -0
  54. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/config_parser.py +0 -0
  55. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/etl_util.py +0 -0
  56. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/exceptions.py +0 -0
  57. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/restrict_config_parser.py +0 -0
  58. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/runner.py +0 -0
  59. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/settings.py +0 -0
  60. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/__init__.py +0 -0
  61. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_base.py +0 -0
  62. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_csv.py +0 -0
  63. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_json.py +0 -0
  64. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_lookup.py +0 -0
  65. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_mv.py +0 -0
  66. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_regex.py +0 -0
  67. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/trans_comp/trans_set_field.py +0 -0
  68. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/__init__.py +0 -0
  69. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/condition_list.py +0 -0
  70. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/condition_transform.py +0 -0
  71. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/condition_util.py +0 -0
  72. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/transform_base.py +0 -0
  73. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/transform_list.py +0 -0
  74. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/etl_core/transform/transform_meta.py +0 -0
  75. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/export_response.py +0 -0
  76. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/ext/__init__.py +0 -0
  77. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/ext/jupyter_magic.py +0 -0
  78. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/ext/syslogclient.py +0 -0
  79. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/external_store_config.py +0 -0
  80. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/external_store_config_response.py +0 -0
  81. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/get_async_sql_request.py +0 -0
  82. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/getcontextlogsresponse.py +0 -0
  83. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/getdeletelogsstatusrequest.py +0 -0
  84. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/getdeletelogsstatusresponse.py +0 -0
  85. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/gethistogramsrequest.py +0 -0
  86. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/gethistogramsresponse.py +0 -0
  87. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/getlogsrequest.py +0 -0
  88. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/getlogsresponse.py +0 -0
  89. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/histogram.py +0 -0
  90. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/index_config.py +0 -0
  91. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/index_config_response.py +0 -0
  92. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/ingestion_response.py +0 -0
  93. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/job.py +0 -0
  94. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listdeletelogsstasksrequest.py +0 -0
  95. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listdeletelogsstasksresponse.py +0 -0
  96. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listlogstoresrequest.py +0 -0
  97. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listlogstoresresponse.py +0 -0
  98. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listtopicsrequest.py +0 -0
  99. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/listtopicsresponse.py +0 -0
  100. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/log_logs_pb2.py +0 -0
  101. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/log_logs_raw_pb2.py +0 -0
  102. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logclient_core.py +0 -0
  103. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logclient_operator.py +0 -0
  104. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logexception.py +0 -0
  105. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logger_hanlder.py +0 -0
  106. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logitem.py +0 -0
  107. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logrequest.py +0 -0
  108. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logresponse.py +0 -0
  109. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logstore_config_response.py +0 -0
  110. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logtail_config_detail.py +0 -0
  111. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/logtail_config_response.py +0 -0
  112. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/machine_group_detail.py +0 -0
  113. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/machinegroup_response.py +0 -0
  114. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/metering_mode_response.py +0 -0
  115. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/odps_sink.py +0 -0
  116. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/oss_sink.py +0 -0
  117. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/pluralize.py +0 -0
  118. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/project_response.py +0 -0
  119. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/proto.py +0 -0
  120. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/pulllog_response.py +0 -0
  121. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/putlogsrequest.py +0 -0
  122. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/putlogsresponse.py +0 -0
  123. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/queriedlog.py +0 -0
  124. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/rebuild_index_response.py +0 -0
  125. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/resource_params.py +0 -0
  126. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/resource_response.py +0 -0
  127. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/scheduled_sql.py +0 -0
  128. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/scheduled_sql_response.py +0 -0
  129. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/shard_response.py +0 -0
  130. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/shipper_config.py +0 -0
  131. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/shipper_response.py +0 -0
  132. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/sink.py +0 -0
  133. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/sql_instance_response.py +0 -0
  134. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/store_view.py +0 -0
  135. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/store_view_response.py +0 -0
  136. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/submit_async_sql_request.py +0 -0
  137. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/substore_config_response.py +0 -0
  138. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/tag_response.py +0 -0
  139. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/topostore_params.py +0 -0
  140. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/topostore_response.py +0 -0
  141. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun/log/util.py +0 -0
  142. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun_log_python_sdk.egg-info/dependency_links.txt +0 -0
  143. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun_log_python_sdk.egg-info/requires.txt +0 -0
  144. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/aliyun_log_python_sdk.egg-info/top_level.txt +0 -0
  145. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/setup.cfg +0 -0
  146. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/setup.py +0 -0
  147. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/tests/test_alert.py +0 -0
  148. {aliyun_log_python_sdk-0.9.34 → aliyun_log_python_sdk-0.9.35}/tests/test_util.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: aliyun-log-python-sdk
3
- Version: 0.9.34
3
+ Version: 0.9.35
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,6 +29,14 @@ 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
32
40
 
33
41
 
34
42
  Python SDK for Alicloud Log Service
@@ -7,6 +7,8 @@ from .index_config import IndexConfig, IndexKeyConfig, IndexLineConfig
7
7
  from .listtopicsrequest import ListTopicsRequest
8
8
  from .listlogstoresrequest import ListLogstoresRequest
9
9
  from .logtail_config_detail import *
10
+ from .logtail_pipeline_config_detail import *
11
+ from .logtail_pipeline_config_response import *
10
12
  from .machine_group_detail import MachineGroupDetail
11
13
  from .putlogsrequest import PutLogsRequest
12
14
  from .shipper_config import ShipperTask, OssShipperConfig, OdpsShipperConfig
@@ -32,12 +32,14 @@ class kv_transformer(trans_comp_check_mdoe_base):
32
32
  @staticmethod
33
33
  @cached
34
34
  def _get_kv_ptn(sep, quote, escape):
35
- p1 = u'(?!{0})([\u4e00-\u9fa5\u0800-\u4e00\\w\\.\\-]+)\\s*{0}\\s*([\u4e00-\u9fa5\u0800-\u4e00\\w\\.\\-]+)'
35
+ # Use Unicode characters directly to avoid escape sequence warnings
36
+ # \u4e00-\u9fa5 = Chinese characters, \u0800-\u4e00 = other Unicode range
37
+ p1 = r'(?!{0})([' + '\u4e00-\u9fa5\u0800-\u4e00' + r'\w\.\-]+)\s*{0}\s*([' + '\u4e00-\u9fa5\u0800-\u4e00' + r'\w\.\-]+)'
36
38
  if not escape:
37
- p2 = u'(?!{0})([\u4e00-\u9fa5\u0800-\u4e00\\w\\.\\-]+)\\s*{0}\\s*{1}\s*([^{1}]*?)\s*{1}'
39
+ p2 = r'(?!{0})([' + '\u4e00-\u9fa5\u0800-\u4e00' + r'\w\.\-]+)\s*{0}\s*{1}\s*([^{1}]*?)\s*{1}'
38
40
  else:
39
- p2 = u'(?!{0})([\u4e00-\u9fa5\u0800-\u4e00\\w\\.\\-]+)\\s*{0}\\s*{1}\s*((?:[^{1}]|\\\\{1})*?[^\\\\]){1}'
40
- ps = u'|'.join([p1, p2]).format(sep, quote)
41
+ p2 = r'(?!{0})([' + '\u4e00-\u9fa5\u0800-\u4e00' + r'\w\.\-]+)\s*{0}\s*{1}\s*((?:[^{1}]|\\{1})*?[^\\]){1}'
42
+ ps = '|'.join([p1, p2]).format(sep, quote)
41
43
 
42
44
  logger.info(u"trans_comp_kv: get ptn: {0}".format(ps))
43
45
  return re.compile(ps)
@@ -41,6 +41,7 @@ from .logexception import LogException
41
41
  from .logstore_config_response import *
42
42
  from .substore_config_response import *
43
43
  from .logtail_config_response import *
44
+ from .logtail_pipeline_config_response import *
44
45
  from .machinegroup_response import *
45
46
  from .rebuild_index_response import *
46
47
  from .project_response import *
@@ -2328,6 +2329,132 @@ class LogClient(object):
2328
2329
  (resp, header) = self._send("GET", project_name, None, resource, params, headers)
2329
2330
  return ListLogtailConfigResponse(resp, header)
2330
2331
 
2332
+ def create_logtail_pipeline_config(self, project_name, config_detail):
2333
+ """ create logtail pipeline config in a project
2334
+ Unsuccessful operation will cause an LogException.
2335
+
2336
+ :type project_name: string
2337
+ :param project_name: the Project name
2338
+
2339
+ :type config_detail: LogtailPipelineConfigDetail
2340
+ :param config_detail: the logtail pipeline config detail
2341
+
2342
+ :return: CreateLogtailPipelineConfigResponse
2343
+
2344
+ :raise: LogException
2345
+ """
2346
+ headers = {}
2347
+ params = {}
2348
+ resource = "/pipelineconfigs"
2349
+ headers['Content-Type'] = 'application/json'
2350
+ body = six.b(json.dumps(config_detail.to_json()))
2351
+ headers['x-log-bodyrawsize'] = str(len(body))
2352
+ (resp, headers) = self._send("POST", project_name, body, resource, params, headers)
2353
+ return CreateLogtailPipelineConfigResponse(headers, resp)
2354
+
2355
+ def update_logtail_pipeline_config(self, project_name, config_detail):
2356
+ """ update logtail pipeline config in a project
2357
+ Unsuccessful operation will cause an LogException.
2358
+
2359
+ :type project_name: string
2360
+ :param project_name: the Project name
2361
+
2362
+ :type config_detail: LogtailPipelineConfigDetail
2363
+ :param config_detail: the logtail pipeline config detail
2364
+
2365
+ :return: UpdateLogtailPipelineConfigResponse
2366
+
2367
+ :raise: LogException
2368
+ """
2369
+ headers = {}
2370
+ params = {}
2371
+ resource = "/pipelineconfigs/" + config_detail.config_name
2372
+ headers['Content-Type'] = 'application/json'
2373
+ body = six.b(json.dumps(config_detail.to_json()))
2374
+ headers['x-log-bodyrawsize'] = str(len(body))
2375
+ (resp, headers) = self._send("PUT", project_name, body, resource, params, headers)
2376
+ return UpdateLogtailPipelineConfigResponse(headers, resp)
2377
+
2378
+ def delete_logtail_pipeline_config(self, project_name, config_name):
2379
+ """ delete logtail pipeline config in a project
2380
+ Unsuccessful operation will cause an LogException.
2381
+
2382
+ :type project_name: string
2383
+ :param project_name: the Project name
2384
+
2385
+ :type config_name: string
2386
+ :param config_name: the logtail pipeline config name
2387
+
2388
+ :return: DeleteLogtailPipelineConfigResponse
2389
+
2390
+ :raise: LogException
2391
+ """
2392
+ headers = {}
2393
+ params = {}
2394
+ resource = "/pipelineconfigs/" + config_name
2395
+ (resp, headers) = self._send("DELETE", project_name, None, resource, params, headers)
2396
+ return DeleteLogtailPipelineConfigResponse(headers, resp)
2397
+
2398
+ def get_logtail_pipeline_config(self, project_name, config_name):
2399
+ """ get logtail pipeline config in a project
2400
+ Unsuccessful operation will cause an LogException.
2401
+
2402
+ :type project_name: string
2403
+ :param project_name: the Project name
2404
+
2405
+ :type config_name: string
2406
+ :param config_name: the logtail pipeline config name
2407
+
2408
+ :return: GetLogtailPipelineConfigResponse
2409
+
2410
+ :raise: LogException
2411
+ """
2412
+ headers = {}
2413
+ params = {}
2414
+ resource = "/pipelineconfigs/" + config_name
2415
+ (resp, headers) = self._send("GET", project_name, None, resource, params, headers)
2416
+ return GetLogtailPipelineConfigResponse(resp, headers)
2417
+
2418
+ def list_logtail_pipeline_config(self, project_name, config_name=None, logstore_name=None, offset=0, size=100):
2419
+ """ list logtail pipeline config names in a project
2420
+ Unsuccessful operation will cause an LogException.
2421
+
2422
+ :type project_name: string
2423
+ :param project_name: the Project name
2424
+
2425
+ :type config_name: string
2426
+ :param config_name: config name to filter
2427
+
2428
+ :type logstore_name: string
2429
+ :param logstore_name: logstore name to filter
2430
+
2431
+ :type offset: int
2432
+ :param offset: the offset of all config names
2433
+
2434
+ :type size: int
2435
+ :param size: the max return names count, -1 means all
2436
+
2437
+ :return: ListLogtailPipelineConfigResponse
2438
+
2439
+ :raise: LogException
2440
+ """
2441
+ # need to use extended method to get more
2442
+ if int(size) == -1 or int(size) > MAX_LIST_PAGING_SIZE:
2443
+ return list_more(self.list_logtail_pipeline_config, int(offset), int(size), MAX_LIST_PAGING_SIZE,
2444
+ project_name, config_name, logstore_name)
2445
+
2446
+ headers = {}
2447
+ params = {}
2448
+ resource = "/pipelineconfigs"
2449
+ params['offset'] = str(offset)
2450
+ params['size'] = str(size)
2451
+ if config_name:
2452
+ params['configName'] = config_name
2453
+ if logstore_name:
2454
+ params['logstoreName'] = logstore_name
2455
+ (resp, header) = self._send("GET", project_name, None, resource, params, headers)
2456
+ return ListLogtailPipelineConfigResponse(resp, header)
2457
+
2331
2458
  def create_machine_group(self, project_name, group_detail):
2332
2459
  """ create machine group in a project
2333
2460
  Unsuccessful operation will cause an LogException.
@@ -0,0 +1,135 @@
1
+ #!/usr/bin/env python
2
+ # encoding: utf-8
3
+
4
+ # Copyright (C) Alibaba Cloud Computing
5
+ # All rights reserved.
6
+
7
+ """
8
+ Logtail Pipeline Config Detail Classes
9
+
10
+ This module provides classes for managing Logtail pipeline configurations.
11
+ """
12
+
13
+ from __future__ import print_function
14
+ import json
15
+
16
+ __all__ = ['LogtailPipelineConfigDetail']
17
+
18
+
19
+ class LogtailPipelineConfigDetail(object):
20
+ """Logtail Pipeline Config Detail
21
+
22
+ :type config_name: string
23
+ :param config_name: config name, can only contain lowercase letters, numbers, - and _,
24
+ must start and end with lowercase letter or number, length between 2-128 characters
25
+
26
+ :type log_sample: string
27
+ :param log_sample: log sample, supports multiple log entries
28
+
29
+ :type global_config: dict
30
+ :param global_config: global configuration
31
+
32
+ :type inputs: list
33
+ :param inputs: input plugin list, currently only allows 1 input plugin
34
+
35
+ :type processors: list
36
+ :param processors: processor plugin list
37
+
38
+ :type aggregators: list
39
+ :param aggregators: aggregator plugin list, maximum 1 aggregator plugin allowed
40
+
41
+ :type flushers: list
42
+ :param flushers: flusher plugin list, currently only allows 1 flusher_sls plugin
43
+ """
44
+
45
+ def __init__(self, config_name, inputs, flushers, log_sample=None,
46
+ global_config=None, processors=None, aggregators=None):
47
+ """Initialize a Logtail Pipeline Config Detail
48
+
49
+ :type config_name: string
50
+ :param config_name: config name
51
+
52
+ :type inputs: list
53
+ :param inputs: input plugin list
54
+
55
+ :type flushers: list
56
+ :param flushers: flusher plugin list
57
+
58
+ :type log_sample: string
59
+ :param log_sample: log sample (optional)
60
+
61
+ :type global_config: dict
62
+ :param global_config: global configuration (optional)
63
+
64
+ :type processors: list
65
+ :param processors: processor plugin list (optional)
66
+
67
+ :type aggregators: list
68
+ :param aggregators: aggregator plugin list (optional)
69
+ """
70
+ self.config_name = config_name
71
+ self.log_sample = log_sample
72
+ self.global_config = global_config if global_config is not None else {}
73
+ self.inputs = inputs if inputs is not None else []
74
+ self.processors = processors if processors is not None else []
75
+ self.aggregators = aggregators if aggregators is not None else []
76
+ self.flushers = flushers if flushers is not None else []
77
+
78
+ def to_json(self):
79
+ """Convert to JSON object
80
+
81
+ :return: dict object ready for JSON serialization
82
+ """
83
+ json_value = {
84
+ "configName": self.config_name
85
+ }
86
+
87
+ # Add optional fields
88
+ if self.log_sample:
89
+ json_value["logSample"] = self.log_sample
90
+
91
+ if self.global_config:
92
+ json_value["global"] = self.global_config
93
+
94
+ # Required fields
95
+ json_value["inputs"] = self.inputs
96
+ json_value["flushers"] = self.flushers
97
+
98
+ # Optional fields
99
+ if self.processors:
100
+ json_value["processors"] = self.processors
101
+
102
+ if self.aggregators:
103
+ json_value["aggregators"] = self.aggregators
104
+
105
+ return json_value
106
+
107
+ @staticmethod
108
+ def from_json(json_value):
109
+ """Create LogtailPipelineConfigDetail from JSON object
110
+
111
+ :type json_value: dict
112
+ :param json_value: JSON object
113
+
114
+ :return: LogtailPipelineConfigDetail object
115
+ """
116
+ config_name = json_value.get("configName", "")
117
+ log_sample = json_value.get("logSample", None)
118
+ global_config = json_value.get("global", None)
119
+ inputs = json_value.get("inputs", [])
120
+ processors = json_value.get("processors", None)
121
+ aggregators = json_value.get("aggregators", None)
122
+ flushers = json_value.get("flushers", [])
123
+
124
+ return LogtailPipelineConfigDetail(
125
+ config_name=config_name,
126
+ inputs=inputs,
127
+ flushers=flushers,
128
+ log_sample=log_sample,
129
+ global_config=global_config,
130
+ processors=processors,
131
+ aggregators=aggregators
132
+ )
133
+
134
+
135
+
@@ -0,0 +1,161 @@
1
+ #!/usr/bin/env python
2
+ # encoding: utf-8
3
+
4
+ # Copyright (C) Alibaba Cloud Computing
5
+ # All rights reserved.
6
+
7
+ """
8
+ Logtail Pipeline Config Response Classes
9
+
10
+ This module provides response classes for Logtail pipeline config API operations.
11
+ """
12
+
13
+ from .logresponse import LogResponse
14
+ from .util import Util
15
+ from .logtail_pipeline_config_detail import LogtailPipelineConfigDetail
16
+
17
+ __all__ = ['CreateLogtailPipelineConfigResponse', 'DeleteLogtailPipelineConfigResponse',
18
+ 'GetLogtailPipelineConfigResponse', 'UpdateLogtailPipelineConfigResponse',
19
+ 'ListLogtailPipelineConfigResponse']
20
+
21
+
22
+ class CreateLogtailPipelineConfigResponse(LogResponse):
23
+ """The response of the create_logtail_pipeline_config API from log.
24
+
25
+ :type header: dict
26
+ :param header: CreateLogtailPipelineConfigResponse HTTP response header
27
+ """
28
+
29
+ def __init__(self, header, resp=''):
30
+ LogResponse.__init__(self, header, resp)
31
+
32
+ def log_print(self):
33
+ print('CreateLogtailPipelineConfigResponse:')
34
+ print('headers:', self.get_all_headers())
35
+
36
+
37
+ class DeleteLogtailPipelineConfigResponse(LogResponse):
38
+ """The response of the delete_logtail_pipeline_config API from log.
39
+
40
+ :type header: dict
41
+ :param header: DeleteLogtailPipelineConfigResponse HTTP response header
42
+ """
43
+
44
+ def __init__(self, header, resp=''):
45
+ LogResponse.__init__(self, header, resp)
46
+
47
+ def log_print(self):
48
+ print('DeleteLogtailPipelineConfigResponse:')
49
+ print('headers:', self.get_all_headers())
50
+
51
+
52
+ class GetLogtailPipelineConfigResponse(LogResponse):
53
+ """The response of the get_logtail_pipeline_config API from log.
54
+
55
+ :type header: dict
56
+ :param header: GetLogtailPipelineConfigResponse HTTP response header
57
+
58
+ :type resp: dict
59
+ :param resp: the HTTP response body
60
+ """
61
+
62
+ def __init__(self, resp, header):
63
+ LogResponse.__init__(self, header, resp)
64
+ self.pipeline_config = LogtailPipelineConfigDetail.from_json(resp)
65
+
66
+ def get_pipeline_config(self):
67
+ """Get the pipeline config detail
68
+
69
+ :return: LogtailPipelineConfigDetail object
70
+ """
71
+ return self.pipeline_config
72
+
73
+ def log_print(self):
74
+ print('GetLogtailPipelineConfigResponse:')
75
+ print('headers:', self.get_all_headers())
76
+ print('pipeline_config:', self.pipeline_config.to_json())
77
+
78
+
79
+ class UpdateLogtailPipelineConfigResponse(LogResponse):
80
+ """The response of the update_logtail_pipeline_config API from log.
81
+
82
+ :type header: dict
83
+ :param header: UpdateLogtailPipelineConfigResponse HTTP response header
84
+ """
85
+
86
+ def __init__(self, header, resp=''):
87
+ LogResponse.__init__(self, header, resp)
88
+
89
+ def log_print(self):
90
+ print('UpdateLogtailPipelineConfigResponse:')
91
+ print('headers:', self.get_all_headers())
92
+
93
+
94
+ class ListLogtailPipelineConfigResponse(LogResponse):
95
+ """The response of the list_logtail_pipeline_config API from log.
96
+
97
+ :type header: dict
98
+ :param header: ListLogtailPipelineConfigResponse HTTP response header
99
+
100
+ :type resp: dict
101
+ :param resp: the HTTP response body
102
+ """
103
+
104
+ def __init__(self, resp, header):
105
+ LogResponse.__init__(self, header, resp)
106
+ self.count = int(resp.get("count", 0))
107
+ self.total = int(resp.get("total", 0))
108
+ self.configs = Util.convert_unicode_to_str(resp.get("configs", []))
109
+
110
+ def get_configs(self):
111
+ """Get the list of pipeline config names
112
+
113
+ :return: list of config names
114
+ """
115
+ return self.configs
116
+
117
+ def get_count(self):
118
+ """Get the count of configs in current response
119
+
120
+ :return: int
121
+ """
122
+ return self.count
123
+
124
+ def get_total(self):
125
+ """Get the total count of configs
126
+
127
+ :return: int
128
+ """
129
+ return self.total
130
+
131
+ def log_print(self):
132
+ print('ListLogtailPipelineConfigResponse:')
133
+ print('headers:', self.get_all_headers())
134
+ print('count:', str(self.count))
135
+ print('total:', str(self.total))
136
+ print('configs:', str(self.configs))
137
+
138
+ def merge(self, response):
139
+ """Merge another response into current response
140
+
141
+ :type response: ListLogtailPipelineConfigResponse
142
+ :param response: another response to merge
143
+
144
+ :return: self
145
+ """
146
+ if not isinstance(response, ListLogtailPipelineConfigResponse):
147
+ raise ValueError(
148
+ "passed response is not a ListLogtailPipelineConfigResponse: " + str(type(response)))
149
+
150
+ self.count += response.get_count()
151
+ self.total = response.get_total() # use the latest total count
152
+ self.configs.extend(response.get_configs())
153
+
154
+ # update body
155
+ self.body = {
156
+ 'count': self.count,
157
+ 'total': self.total,
158
+ 'configs': self.configs
159
+ }
160
+
161
+ return self
@@ -1,4 +1,4 @@
1
- __version__ = '0.9.34'
1
+ __version__ = '0.9.35'
2
2
 
3
3
  import sys
4
4
  OS_VERSION = str(sys.platform)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: aliyun-log-python-sdk
3
- Version: 0.9.34
3
+ Version: 0.9.35
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,6 +29,14 @@ 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
32
40
 
33
41
 
34
42
  Python SDK for Alicloud Log Service
@@ -54,6 +54,8 @@ aliyun/log/logresponse.py
54
54
  aliyun/log/logstore_config_response.py
55
55
  aliyun/log/logtail_config_detail.py
56
56
  aliyun/log/logtail_config_response.py
57
+ aliyun/log/logtail_pipeline_config_detail.py
58
+ aliyun/log/logtail_pipeline_config_response.py
57
59
  aliyun/log/machine_group_detail.py
58
60
  aliyun/log/machinegroup_response.py
59
61
  aliyun/log/metering_mode_response.py
@@ -140,4 +142,5 @@ aliyun_log_python_sdk.egg-info/dependency_links.txt
140
142
  aliyun_log_python_sdk.egg-info/requires.txt
141
143
  aliyun_log_python_sdk.egg-info/top_level.txt
142
144
  tests/test_alert.py
145
+ tests/test_logtail_pipeline_config.py
143
146
  tests/test_util.py