tencentcloud-sdk-python-cls 3.0.1192__tar.gz → 3.0.1209__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.
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/PKG-INFO +1 -1
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/setup.py +1 -1
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/__init__.py +1 -1
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/cls/v20201016/cls_client.py +92 -12
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/cls/v20201016/models.py +542 -21
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud_sdk_python_cls.egg-info/PKG-INFO +1 -1
- tencentcloud-sdk-python-cls-3.0.1209/tencentcloud_sdk_python_cls.egg-info/requires.txt +1 -0
- tencentcloud-sdk-python-cls-3.0.1192/tencentcloud_sdk_python_cls.egg-info/requires.txt +0 -1
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/README.rst +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/setup.cfg +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/cls/__init__.py +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/cls/v20201016/__init__.py +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud/cls/v20201016/errorcodes.py +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud_sdk_python_cls.egg-info/SOURCES.txt +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud_sdk_python_cls.egg-info/dependency_links.txt +0 -0
- {tencentcloud-sdk-python-cls-3.0.1192 → tencentcloud-sdk-python-cls-3.0.1209}/tencentcloud_sdk_python_cls.egg-info/top_level.txt +0 -0
|
@@ -8,7 +8,7 @@ ROOT = os.path.dirname(__file__)
|
|
|
8
8
|
|
|
9
9
|
setup(
|
|
10
10
|
name='tencentcloud-sdk-python-cls',
|
|
11
|
-
install_requires=["tencentcloud-sdk-python-common==3.0.
|
|
11
|
+
install_requires=["tencentcloud-sdk-python-common==3.0.1209"],
|
|
12
12
|
version=tencentcloud.__version__,
|
|
13
13
|
description='Tencent Cloud Cls SDK for Python',
|
|
14
14
|
long_description=open('README.rst').read(),
|
|
@@ -256,6 +256,29 @@ class ClsClient(AbstractClient):
|
|
|
256
256
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
257
257
|
|
|
258
258
|
|
|
259
|
+
def CreateConsoleSharing(self, request):
|
|
260
|
+
"""创建控制台分享
|
|
261
|
+
|
|
262
|
+
:param request: Request instance for CreateConsoleSharing.
|
|
263
|
+
:type request: :class:`tencentcloud.cls.v20201016.models.CreateConsoleSharingRequest`
|
|
264
|
+
:rtype: :class:`tencentcloud.cls.v20201016.models.CreateConsoleSharingResponse`
|
|
265
|
+
|
|
266
|
+
"""
|
|
267
|
+
try:
|
|
268
|
+
params = request._serialize()
|
|
269
|
+
headers = request.headers
|
|
270
|
+
body = self.call("CreateConsoleSharing", params, headers=headers)
|
|
271
|
+
response = json.loads(body)
|
|
272
|
+
model = models.CreateConsoleSharingResponse()
|
|
273
|
+
model._deserialize(response["Response"])
|
|
274
|
+
return model
|
|
275
|
+
except Exception as e:
|
|
276
|
+
if isinstance(e, TencentCloudSDKException):
|
|
277
|
+
raise
|
|
278
|
+
else:
|
|
279
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
280
|
+
|
|
281
|
+
|
|
259
282
|
def CreateConsumer(self, request):
|
|
260
283
|
"""本接口用于创建投递CKafka任务
|
|
261
284
|
|
|
@@ -693,6 +716,29 @@ class ClsClient(AbstractClient):
|
|
|
693
716
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
694
717
|
|
|
695
718
|
|
|
719
|
+
def DeleteConsoleSharing(self, request):
|
|
720
|
+
"""删除控制台分享
|
|
721
|
+
|
|
722
|
+
:param request: Request instance for DeleteConsoleSharing.
|
|
723
|
+
:type request: :class:`tencentcloud.cls.v20201016.models.DeleteConsoleSharingRequest`
|
|
724
|
+
:rtype: :class:`tencentcloud.cls.v20201016.models.DeleteConsoleSharingResponse`
|
|
725
|
+
|
|
726
|
+
"""
|
|
727
|
+
try:
|
|
728
|
+
params = request._serialize()
|
|
729
|
+
headers = request.headers
|
|
730
|
+
body = self.call("DeleteConsoleSharing", params, headers=headers)
|
|
731
|
+
response = json.loads(body)
|
|
732
|
+
model = models.DeleteConsoleSharingResponse()
|
|
733
|
+
model._deserialize(response["Response"])
|
|
734
|
+
return model
|
|
735
|
+
except Exception as e:
|
|
736
|
+
if isinstance(e, TencentCloudSDKException):
|
|
737
|
+
raise
|
|
738
|
+
else:
|
|
739
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
740
|
+
|
|
741
|
+
|
|
696
742
|
def DeleteConsumer(self, request):
|
|
697
743
|
"""本接口用于删除投递配置
|
|
698
744
|
|
|
@@ -1130,6 +1176,29 @@ class ClsClient(AbstractClient):
|
|
|
1130
1176
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
1131
1177
|
|
|
1132
1178
|
|
|
1179
|
+
def DescribeConsoleSharingList(self, request):
|
|
1180
|
+
"""批量查询控制台分享列表
|
|
1181
|
+
|
|
1182
|
+
:param request: Request instance for DescribeConsoleSharingList.
|
|
1183
|
+
:type request: :class:`tencentcloud.cls.v20201016.models.DescribeConsoleSharingListRequest`
|
|
1184
|
+
:rtype: :class:`tencentcloud.cls.v20201016.models.DescribeConsoleSharingListResponse`
|
|
1185
|
+
|
|
1186
|
+
"""
|
|
1187
|
+
try:
|
|
1188
|
+
params = request._serialize()
|
|
1189
|
+
headers = request.headers
|
|
1190
|
+
body = self.call("DescribeConsoleSharingList", params, headers=headers)
|
|
1191
|
+
response = json.loads(body)
|
|
1192
|
+
model = models.DescribeConsoleSharingListResponse()
|
|
1193
|
+
model._deserialize(response["Response"])
|
|
1194
|
+
return model
|
|
1195
|
+
except Exception as e:
|
|
1196
|
+
if isinstance(e, TencentCloudSDKException):
|
|
1197
|
+
raise
|
|
1198
|
+
else:
|
|
1199
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
1200
|
+
|
|
1201
|
+
|
|
1133
1202
|
def DescribeConsumer(self, request):
|
|
1134
1203
|
"""本接口用于获取投递配置
|
|
1135
1204
|
|
|
@@ -1752,6 +1821,29 @@ class ClsClient(AbstractClient):
|
|
|
1752
1821
|
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
1753
1822
|
|
|
1754
1823
|
|
|
1824
|
+
def ModifyConsoleSharing(self, request):
|
|
1825
|
+
"""修改控制台分享,目前仅允许修改有效期
|
|
1826
|
+
|
|
1827
|
+
:param request: Request instance for ModifyConsoleSharing.
|
|
1828
|
+
:type request: :class:`tencentcloud.cls.v20201016.models.ModifyConsoleSharingRequest`
|
|
1829
|
+
:rtype: :class:`tencentcloud.cls.v20201016.models.ModifyConsoleSharingResponse`
|
|
1830
|
+
|
|
1831
|
+
"""
|
|
1832
|
+
try:
|
|
1833
|
+
params = request._serialize()
|
|
1834
|
+
headers = request.headers
|
|
1835
|
+
body = self.call("ModifyConsoleSharing", params, headers=headers)
|
|
1836
|
+
response = json.loads(body)
|
|
1837
|
+
model = models.ModifyConsoleSharingResponse()
|
|
1838
|
+
model._deserialize(response["Response"])
|
|
1839
|
+
return model
|
|
1840
|
+
except Exception as e:
|
|
1841
|
+
if isinstance(e, TencentCloudSDKException):
|
|
1842
|
+
raise
|
|
1843
|
+
else:
|
|
1844
|
+
raise TencentCloudSDKException(type(e).__name__, str(e))
|
|
1845
|
+
|
|
1846
|
+
|
|
1755
1847
|
def ModifyConsumer(self, request):
|
|
1756
1848
|
"""本接口用于修改投递Ckafka任务
|
|
1757
1849
|
|
|
@@ -2250,18 +2342,6 @@ class ClsClient(AbstractClient):
|
|
|
2250
2342
|
|
|
2251
2343
|
本接口用于将日志写入到指定的日志主题。
|
|
2252
2344
|
|
|
2253
|
-
日志服务提供以下两种模式:
|
|
2254
|
-
|
|
2255
|
-
#### 负载均衡模式
|
|
2256
|
-
|
|
2257
|
-
系统根据当前日志主题下所有可读写的分区,遵循负载均衡原则自动分配写入的目标分区。该模式适合消费不保序的场景。
|
|
2258
|
-
|
|
2259
|
-
#### 哈希路由模式
|
|
2260
|
-
|
|
2261
|
-
系统根据携带的哈希值(X-CLS-HashKey)将数据写入到符合范围要求的目标分区。例如,可以将某个日志源端通过 hashkey 与某个主题分区强绑定,这样可以保证数据在该分区上写入和消费是严格保序的。
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
2345
|
#### 输入参数(pb二进制流,位于body中)
|
|
2266
2346
|
|
|
2267
2347
|
| 字段名 | 类型 | 位置 | 必须 | 含义 |
|
|
@@ -2733,6 +2733,229 @@ class ConfigInfo(AbstractModel):
|
|
|
2733
2733
|
|
|
2734
2734
|
|
|
2735
2735
|
|
|
2736
|
+
class ConsoleSharingConfig(AbstractModel):
|
|
2737
|
+
"""控制台分享配置
|
|
2738
|
+
|
|
2739
|
+
"""
|
|
2740
|
+
|
|
2741
|
+
def __init__(self):
|
|
2742
|
+
r"""
|
|
2743
|
+
:param _Name: 分享链接名称
|
|
2744
|
+
:type Name: str
|
|
2745
|
+
:param _Type: 仪表盘: 1; 检索页:2
|
|
2746
|
+
:type Type: int
|
|
2747
|
+
:param _DurationMilliseconds: 分享链接有效期,单位:毫秒,最长支持30天
|
|
2748
|
+
:type DurationMilliseconds: int
|
|
2749
|
+
:param _Resources: 允许访问的资源列表
|
|
2750
|
+
:type Resources: list of str
|
|
2751
|
+
:param _Domain: 分享链接域名,可选范围
|
|
2752
|
+
- 公网匿名分享:填写clsshare.com
|
|
2753
|
+
- datasight内网匿名分享(若开启):datasight内网域名
|
|
2754
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2755
|
+
:type Domain: str
|
|
2756
|
+
:param _VerifyCode: 验证码
|
|
2757
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2758
|
+
:type VerifyCode: str
|
|
2759
|
+
:param _StartTime: 开始时间,支持绝对时间(13位时间戳字符串)/相对时间字符串
|
|
2760
|
+
:type StartTime: str
|
|
2761
|
+
:param _EndTime: 结束时间,支持绝对时间(13位时间戳字符串)/相对时间字符串
|
|
2762
|
+
:type EndTime: str
|
|
2763
|
+
:param _NowTime: 当StartTime/EndTime为相对时间时,基于NowTime计算绝对时间,默认为创建时间
|
|
2764
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2765
|
+
:type NowTime: int
|
|
2766
|
+
:param _Params: params参数列表,当Type为2时支持
|
|
2767
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2768
|
+
:type Params: list of ConsoleSharingParam
|
|
2769
|
+
:param _IsLockTimeRange: 是否允许访问者自行修改检索分析时间范围,默认不锁定
|
|
2770
|
+
:type IsLockTimeRange: bool
|
|
2771
|
+
:param _IsLockQuery: 是否允许访问者自行修改日志检索语句。在检索页分享中表示检索语句锁定状态;在仪表盘中表示过滤变量锁定状态
|
|
2772
|
+
:type IsLockQuery: bool
|
|
2773
|
+
"""
|
|
2774
|
+
self._Name = None
|
|
2775
|
+
self._Type = None
|
|
2776
|
+
self._DurationMilliseconds = None
|
|
2777
|
+
self._Resources = None
|
|
2778
|
+
self._Domain = None
|
|
2779
|
+
self._VerifyCode = None
|
|
2780
|
+
self._StartTime = None
|
|
2781
|
+
self._EndTime = None
|
|
2782
|
+
self._NowTime = None
|
|
2783
|
+
self._Params = None
|
|
2784
|
+
self._IsLockTimeRange = None
|
|
2785
|
+
self._IsLockQuery = None
|
|
2786
|
+
|
|
2787
|
+
@property
|
|
2788
|
+
def Name(self):
|
|
2789
|
+
return self._Name
|
|
2790
|
+
|
|
2791
|
+
@Name.setter
|
|
2792
|
+
def Name(self, Name):
|
|
2793
|
+
self._Name = Name
|
|
2794
|
+
|
|
2795
|
+
@property
|
|
2796
|
+
def Type(self):
|
|
2797
|
+
return self._Type
|
|
2798
|
+
|
|
2799
|
+
@Type.setter
|
|
2800
|
+
def Type(self, Type):
|
|
2801
|
+
self._Type = Type
|
|
2802
|
+
|
|
2803
|
+
@property
|
|
2804
|
+
def DurationMilliseconds(self):
|
|
2805
|
+
return self._DurationMilliseconds
|
|
2806
|
+
|
|
2807
|
+
@DurationMilliseconds.setter
|
|
2808
|
+
def DurationMilliseconds(self, DurationMilliseconds):
|
|
2809
|
+
self._DurationMilliseconds = DurationMilliseconds
|
|
2810
|
+
|
|
2811
|
+
@property
|
|
2812
|
+
def Resources(self):
|
|
2813
|
+
return self._Resources
|
|
2814
|
+
|
|
2815
|
+
@Resources.setter
|
|
2816
|
+
def Resources(self, Resources):
|
|
2817
|
+
self._Resources = Resources
|
|
2818
|
+
|
|
2819
|
+
@property
|
|
2820
|
+
def Domain(self):
|
|
2821
|
+
return self._Domain
|
|
2822
|
+
|
|
2823
|
+
@Domain.setter
|
|
2824
|
+
def Domain(self, Domain):
|
|
2825
|
+
self._Domain = Domain
|
|
2826
|
+
|
|
2827
|
+
@property
|
|
2828
|
+
def VerifyCode(self):
|
|
2829
|
+
return self._VerifyCode
|
|
2830
|
+
|
|
2831
|
+
@VerifyCode.setter
|
|
2832
|
+
def VerifyCode(self, VerifyCode):
|
|
2833
|
+
self._VerifyCode = VerifyCode
|
|
2834
|
+
|
|
2835
|
+
@property
|
|
2836
|
+
def StartTime(self):
|
|
2837
|
+
return self._StartTime
|
|
2838
|
+
|
|
2839
|
+
@StartTime.setter
|
|
2840
|
+
def StartTime(self, StartTime):
|
|
2841
|
+
self._StartTime = StartTime
|
|
2842
|
+
|
|
2843
|
+
@property
|
|
2844
|
+
def EndTime(self):
|
|
2845
|
+
return self._EndTime
|
|
2846
|
+
|
|
2847
|
+
@EndTime.setter
|
|
2848
|
+
def EndTime(self, EndTime):
|
|
2849
|
+
self._EndTime = EndTime
|
|
2850
|
+
|
|
2851
|
+
@property
|
|
2852
|
+
def NowTime(self):
|
|
2853
|
+
return self._NowTime
|
|
2854
|
+
|
|
2855
|
+
@NowTime.setter
|
|
2856
|
+
def NowTime(self, NowTime):
|
|
2857
|
+
self._NowTime = NowTime
|
|
2858
|
+
|
|
2859
|
+
@property
|
|
2860
|
+
def Params(self):
|
|
2861
|
+
return self._Params
|
|
2862
|
+
|
|
2863
|
+
@Params.setter
|
|
2864
|
+
def Params(self, Params):
|
|
2865
|
+
self._Params = Params
|
|
2866
|
+
|
|
2867
|
+
@property
|
|
2868
|
+
def IsLockTimeRange(self):
|
|
2869
|
+
return self._IsLockTimeRange
|
|
2870
|
+
|
|
2871
|
+
@IsLockTimeRange.setter
|
|
2872
|
+
def IsLockTimeRange(self, IsLockTimeRange):
|
|
2873
|
+
self._IsLockTimeRange = IsLockTimeRange
|
|
2874
|
+
|
|
2875
|
+
@property
|
|
2876
|
+
def IsLockQuery(self):
|
|
2877
|
+
return self._IsLockQuery
|
|
2878
|
+
|
|
2879
|
+
@IsLockQuery.setter
|
|
2880
|
+
def IsLockQuery(self, IsLockQuery):
|
|
2881
|
+
self._IsLockQuery = IsLockQuery
|
|
2882
|
+
|
|
2883
|
+
|
|
2884
|
+
def _deserialize(self, params):
|
|
2885
|
+
self._Name = params.get("Name")
|
|
2886
|
+
self._Type = params.get("Type")
|
|
2887
|
+
self._DurationMilliseconds = params.get("DurationMilliseconds")
|
|
2888
|
+
self._Resources = params.get("Resources")
|
|
2889
|
+
self._Domain = params.get("Domain")
|
|
2890
|
+
self._VerifyCode = params.get("VerifyCode")
|
|
2891
|
+
self._StartTime = params.get("StartTime")
|
|
2892
|
+
self._EndTime = params.get("EndTime")
|
|
2893
|
+
self._NowTime = params.get("NowTime")
|
|
2894
|
+
if params.get("Params") is not None:
|
|
2895
|
+
self._Params = []
|
|
2896
|
+
for item in params.get("Params"):
|
|
2897
|
+
obj = ConsoleSharingParam()
|
|
2898
|
+
obj._deserialize(item)
|
|
2899
|
+
self._Params.append(obj)
|
|
2900
|
+
self._IsLockTimeRange = params.get("IsLockTimeRange")
|
|
2901
|
+
self._IsLockQuery = params.get("IsLockQuery")
|
|
2902
|
+
memeber_set = set(params.keys())
|
|
2903
|
+
for name, value in vars(self).items():
|
|
2904
|
+
property_name = name[1:]
|
|
2905
|
+
if property_name in memeber_set:
|
|
2906
|
+
memeber_set.remove(property_name)
|
|
2907
|
+
if len(memeber_set) > 0:
|
|
2908
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
2909
|
+
|
|
2910
|
+
|
|
2911
|
+
|
|
2912
|
+
class ConsoleSharingParam(AbstractModel):
|
|
2913
|
+
"""控制台分享链接params参数
|
|
2914
|
+
|
|
2915
|
+
"""
|
|
2916
|
+
|
|
2917
|
+
def __init__(self):
|
|
2918
|
+
r"""
|
|
2919
|
+
:param _Name: 名称
|
|
2920
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2921
|
+
:type Name: str
|
|
2922
|
+
:param _Value: 值
|
|
2923
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
2924
|
+
:type Value: str
|
|
2925
|
+
"""
|
|
2926
|
+
self._Name = None
|
|
2927
|
+
self._Value = None
|
|
2928
|
+
|
|
2929
|
+
@property
|
|
2930
|
+
def Name(self):
|
|
2931
|
+
return self._Name
|
|
2932
|
+
|
|
2933
|
+
@Name.setter
|
|
2934
|
+
def Name(self, Name):
|
|
2935
|
+
self._Name = Name
|
|
2936
|
+
|
|
2937
|
+
@property
|
|
2938
|
+
def Value(self):
|
|
2939
|
+
return self._Value
|
|
2940
|
+
|
|
2941
|
+
@Value.setter
|
|
2942
|
+
def Value(self, Value):
|
|
2943
|
+
self._Value = Value
|
|
2944
|
+
|
|
2945
|
+
|
|
2946
|
+
def _deserialize(self, params):
|
|
2947
|
+
self._Name = params.get("Name")
|
|
2948
|
+
self._Value = params.get("Value")
|
|
2949
|
+
memeber_set = set(params.keys())
|
|
2950
|
+
for name, value in vars(self).items():
|
|
2951
|
+
property_name = name[1:]
|
|
2952
|
+
if property_name in memeber_set:
|
|
2953
|
+
memeber_set.remove(property_name)
|
|
2954
|
+
if len(memeber_set) > 0:
|
|
2955
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
2956
|
+
|
|
2957
|
+
|
|
2958
|
+
|
|
2736
2959
|
class ConsumerContent(AbstractModel):
|
|
2737
2960
|
"""投递任务出入参 Content
|
|
2738
2961
|
|
|
@@ -4634,6 +4857,90 @@ class CreateConfigResponse(AbstractModel):
|
|
|
4634
4857
|
self._RequestId = params.get("RequestId")
|
|
4635
4858
|
|
|
4636
4859
|
|
|
4860
|
+
class CreateConsoleSharingRequest(AbstractModel):
|
|
4861
|
+
"""CreateConsoleSharing请求参数结构体
|
|
4862
|
+
|
|
4863
|
+
"""
|
|
4864
|
+
|
|
4865
|
+
def __init__(self):
|
|
4866
|
+
r"""
|
|
4867
|
+
:param _SharingConfig: 免密分享配置
|
|
4868
|
+
:type SharingConfig: :class:`tencentcloud.cls.v20201016.models.ConsoleSharingConfig`
|
|
4869
|
+
"""
|
|
4870
|
+
self._SharingConfig = None
|
|
4871
|
+
|
|
4872
|
+
@property
|
|
4873
|
+
def SharingConfig(self):
|
|
4874
|
+
return self._SharingConfig
|
|
4875
|
+
|
|
4876
|
+
@SharingConfig.setter
|
|
4877
|
+
def SharingConfig(self, SharingConfig):
|
|
4878
|
+
self._SharingConfig = SharingConfig
|
|
4879
|
+
|
|
4880
|
+
|
|
4881
|
+
def _deserialize(self, params):
|
|
4882
|
+
if params.get("SharingConfig") is not None:
|
|
4883
|
+
self._SharingConfig = ConsoleSharingConfig()
|
|
4884
|
+
self._SharingConfig._deserialize(params.get("SharingConfig"))
|
|
4885
|
+
memeber_set = set(params.keys())
|
|
4886
|
+
for name, value in vars(self).items():
|
|
4887
|
+
property_name = name[1:]
|
|
4888
|
+
if property_name in memeber_set:
|
|
4889
|
+
memeber_set.remove(property_name)
|
|
4890
|
+
if len(memeber_set) > 0:
|
|
4891
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
4892
|
+
|
|
4893
|
+
|
|
4894
|
+
|
|
4895
|
+
class CreateConsoleSharingResponse(AbstractModel):
|
|
4896
|
+
"""CreateConsoleSharing返回参数结构体
|
|
4897
|
+
|
|
4898
|
+
"""
|
|
4899
|
+
|
|
4900
|
+
def __init__(self):
|
|
4901
|
+
r"""
|
|
4902
|
+
:param _SharingUrl: 免密分享链接
|
|
4903
|
+
:type SharingUrl: str
|
|
4904
|
+
:param _SharingId: 免密分享链接ID
|
|
4905
|
+
:type SharingId: str
|
|
4906
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
4907
|
+
:type RequestId: str
|
|
4908
|
+
"""
|
|
4909
|
+
self._SharingUrl = None
|
|
4910
|
+
self._SharingId = None
|
|
4911
|
+
self._RequestId = None
|
|
4912
|
+
|
|
4913
|
+
@property
|
|
4914
|
+
def SharingUrl(self):
|
|
4915
|
+
return self._SharingUrl
|
|
4916
|
+
|
|
4917
|
+
@SharingUrl.setter
|
|
4918
|
+
def SharingUrl(self, SharingUrl):
|
|
4919
|
+
self._SharingUrl = SharingUrl
|
|
4920
|
+
|
|
4921
|
+
@property
|
|
4922
|
+
def SharingId(self):
|
|
4923
|
+
return self._SharingId
|
|
4924
|
+
|
|
4925
|
+
@SharingId.setter
|
|
4926
|
+
def SharingId(self, SharingId):
|
|
4927
|
+
self._SharingId = SharingId
|
|
4928
|
+
|
|
4929
|
+
@property
|
|
4930
|
+
def RequestId(self):
|
|
4931
|
+
return self._RequestId
|
|
4932
|
+
|
|
4933
|
+
@RequestId.setter
|
|
4934
|
+
def RequestId(self, RequestId):
|
|
4935
|
+
self._RequestId = RequestId
|
|
4936
|
+
|
|
4937
|
+
|
|
4938
|
+
def _deserialize(self, params):
|
|
4939
|
+
self._SharingUrl = params.get("SharingUrl")
|
|
4940
|
+
self._SharingId = params.get("SharingId")
|
|
4941
|
+
self._RequestId = params.get("RequestId")
|
|
4942
|
+
|
|
4943
|
+
|
|
4637
4944
|
class CreateConsumerRequest(AbstractModel):
|
|
4638
4945
|
"""CreateConsumer请求参数结构体
|
|
4639
4946
|
|
|
@@ -7313,6 +7620,9 @@ class DataTransformTaskInfo(AbstractModel):
|
|
|
7313
7620
|
:type DstResources: list of DataTransformResouceInfo
|
|
7314
7621
|
:param _EtlContent: 加工逻辑函数。
|
|
7315
7622
|
:type EtlContent: str
|
|
7623
|
+
:param _DataTransformType: 数据加工类型。0:标准加工任务;1:前置加工任务。
|
|
7624
|
+
注意:此字段可能返回 null,表示取不到有效值。
|
|
7625
|
+
:type DataTransformType: int
|
|
7316
7626
|
"""
|
|
7317
7627
|
self._Name = None
|
|
7318
7628
|
self._TaskId = None
|
|
@@ -7327,6 +7637,7 @@ class DataTransformTaskInfo(AbstractModel):
|
|
|
7327
7637
|
self._LogsetId = None
|
|
7328
7638
|
self._DstResources = None
|
|
7329
7639
|
self._EtlContent = None
|
|
7640
|
+
self._DataTransformType = None
|
|
7330
7641
|
|
|
7331
7642
|
@property
|
|
7332
7643
|
def Name(self):
|
|
@@ -7432,6 +7743,14 @@ class DataTransformTaskInfo(AbstractModel):
|
|
|
7432
7743
|
def EtlContent(self, EtlContent):
|
|
7433
7744
|
self._EtlContent = EtlContent
|
|
7434
7745
|
|
|
7746
|
+
@property
|
|
7747
|
+
def DataTransformType(self):
|
|
7748
|
+
return self._DataTransformType
|
|
7749
|
+
|
|
7750
|
+
@DataTransformType.setter
|
|
7751
|
+
def DataTransformType(self, DataTransformType):
|
|
7752
|
+
self._DataTransformType = DataTransformType
|
|
7753
|
+
|
|
7435
7754
|
|
|
7436
7755
|
def _deserialize(self, params):
|
|
7437
7756
|
self._Name = params.get("Name")
|
|
@@ -7452,6 +7771,7 @@ class DataTransformTaskInfo(AbstractModel):
|
|
|
7452
7771
|
obj._deserialize(item)
|
|
7453
7772
|
self._DstResources.append(obj)
|
|
7454
7773
|
self._EtlContent = params.get("EtlContent")
|
|
7774
|
+
self._DataTransformType = params.get("DataTransformType")
|
|
7455
7775
|
memeber_set = set(params.keys())
|
|
7456
7776
|
for name, value in vars(self).items():
|
|
7457
7777
|
property_name = name[1:]
|
|
@@ -7834,6 +8154,64 @@ class DeleteConfigResponse(AbstractModel):
|
|
|
7834
8154
|
self._RequestId = params.get("RequestId")
|
|
7835
8155
|
|
|
7836
8156
|
|
|
8157
|
+
class DeleteConsoleSharingRequest(AbstractModel):
|
|
8158
|
+
"""DeleteConsoleSharing请求参数结构体
|
|
8159
|
+
|
|
8160
|
+
"""
|
|
8161
|
+
|
|
8162
|
+
def __init__(self):
|
|
8163
|
+
r"""
|
|
8164
|
+
:param _SharingId: 免密分享Id
|
|
8165
|
+
:type SharingId: str
|
|
8166
|
+
"""
|
|
8167
|
+
self._SharingId = None
|
|
8168
|
+
|
|
8169
|
+
@property
|
|
8170
|
+
def SharingId(self):
|
|
8171
|
+
return self._SharingId
|
|
8172
|
+
|
|
8173
|
+
@SharingId.setter
|
|
8174
|
+
def SharingId(self, SharingId):
|
|
8175
|
+
self._SharingId = SharingId
|
|
8176
|
+
|
|
8177
|
+
|
|
8178
|
+
def _deserialize(self, params):
|
|
8179
|
+
self._SharingId = params.get("SharingId")
|
|
8180
|
+
memeber_set = set(params.keys())
|
|
8181
|
+
for name, value in vars(self).items():
|
|
8182
|
+
property_name = name[1:]
|
|
8183
|
+
if property_name in memeber_set:
|
|
8184
|
+
memeber_set.remove(property_name)
|
|
8185
|
+
if len(memeber_set) > 0:
|
|
8186
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
8187
|
+
|
|
8188
|
+
|
|
8189
|
+
|
|
8190
|
+
class DeleteConsoleSharingResponse(AbstractModel):
|
|
8191
|
+
"""DeleteConsoleSharing返回参数结构体
|
|
8192
|
+
|
|
8193
|
+
"""
|
|
8194
|
+
|
|
8195
|
+
def __init__(self):
|
|
8196
|
+
r"""
|
|
8197
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
8198
|
+
:type RequestId: str
|
|
8199
|
+
"""
|
|
8200
|
+
self._RequestId = None
|
|
8201
|
+
|
|
8202
|
+
@property
|
|
8203
|
+
def RequestId(self):
|
|
8204
|
+
return self._RequestId
|
|
8205
|
+
|
|
8206
|
+
@RequestId.setter
|
|
8207
|
+
def RequestId(self, RequestId):
|
|
8208
|
+
self._RequestId = RequestId
|
|
8209
|
+
|
|
8210
|
+
|
|
8211
|
+
def _deserialize(self, params):
|
|
8212
|
+
self._RequestId = params.get("RequestId")
|
|
8213
|
+
|
|
8214
|
+
|
|
7837
8215
|
class DeleteConsumerRequest(AbstractModel):
|
|
7838
8216
|
"""DeleteConsumer请求参数结构体
|
|
7839
8217
|
|
|
@@ -9436,6 +9814,49 @@ class DescribeConfigsResponse(AbstractModel):
|
|
|
9436
9814
|
self._RequestId = params.get("RequestId")
|
|
9437
9815
|
|
|
9438
9816
|
|
|
9817
|
+
class DescribeConsoleSharingListRequest(AbstractModel):
|
|
9818
|
+
"""DescribeConsoleSharingList请求参数结构体
|
|
9819
|
+
|
|
9820
|
+
"""
|
|
9821
|
+
|
|
9822
|
+
|
|
9823
|
+
class DescribeConsoleSharingListResponse(AbstractModel):
|
|
9824
|
+
"""DescribeConsoleSharingList返回参数结构体
|
|
9825
|
+
|
|
9826
|
+
"""
|
|
9827
|
+
|
|
9828
|
+
def __init__(self):
|
|
9829
|
+
r"""
|
|
9830
|
+
:param _TotalCount: 分页的总数目
|
|
9831
|
+
:type TotalCount: int
|
|
9832
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
9833
|
+
:type RequestId: str
|
|
9834
|
+
"""
|
|
9835
|
+
self._TotalCount = None
|
|
9836
|
+
self._RequestId = None
|
|
9837
|
+
|
|
9838
|
+
@property
|
|
9839
|
+
def TotalCount(self):
|
|
9840
|
+
return self._TotalCount
|
|
9841
|
+
|
|
9842
|
+
@TotalCount.setter
|
|
9843
|
+
def TotalCount(self, TotalCount):
|
|
9844
|
+
self._TotalCount = TotalCount
|
|
9845
|
+
|
|
9846
|
+
@property
|
|
9847
|
+
def RequestId(self):
|
|
9848
|
+
return self._RequestId
|
|
9849
|
+
|
|
9850
|
+
@RequestId.setter
|
|
9851
|
+
def RequestId(self, RequestId):
|
|
9852
|
+
self._RequestId = RequestId
|
|
9853
|
+
|
|
9854
|
+
|
|
9855
|
+
def _deserialize(self, params):
|
|
9856
|
+
self._TotalCount = params.get("TotalCount")
|
|
9857
|
+
self._RequestId = params.get("RequestId")
|
|
9858
|
+
|
|
9859
|
+
|
|
9439
9860
|
class DescribeConsumerRequest(AbstractModel):
|
|
9440
9861
|
"""DescribeConsumer请求参数结构体
|
|
9441
9862
|
|
|
@@ -9837,25 +10258,31 @@ class DescribeDataTransformInfoRequest(AbstractModel):
|
|
|
9837
10258
|
|
|
9838
10259
|
def __init__(self):
|
|
9839
10260
|
r"""
|
|
9840
|
-
:param _Filters:
|
|
9841
|
-
|
|
10261
|
+
:param _Filters: - taskName
|
|
9842
10262
|
按照【加工任务名称】进行过滤。
|
|
9843
10263
|
类型:String
|
|
9844
|
-
|
|
9845
10264
|
必选:否
|
|
9846
10265
|
|
|
9847
|
-
|
|
9848
|
-
|
|
10266
|
+
- taskId
|
|
9849
10267
|
按照【加工任务id】进行过滤。
|
|
9850
10268
|
类型:String
|
|
9851
|
-
|
|
9852
10269
|
必选:否
|
|
9853
10270
|
|
|
9854
|
-
|
|
9855
|
-
|
|
10271
|
+
- topicId
|
|
9856
10272
|
按照【源topicId】进行过滤。
|
|
9857
10273
|
类型:String
|
|
9858
|
-
|
|
10274
|
+
必选:否
|
|
10275
|
+
- status
|
|
10276
|
+
按照【 任务运行状态】进行过滤。 1:准备中,2:运行中,3:停止中,4:已停止
|
|
10277
|
+
类型:String
|
|
10278
|
+
必选:否
|
|
10279
|
+
- hasServiceLog
|
|
10280
|
+
按照【是否开启服务日志】进行过滤。 1:未开启,2:已开启
|
|
10281
|
+
类型:String
|
|
10282
|
+
必选:否
|
|
10283
|
+
- dstTopicType
|
|
10284
|
+
按照【目标topic类型】进行过滤。 1:固定,2:动态
|
|
10285
|
+
类型:String
|
|
9859
10286
|
必选:否
|
|
9860
10287
|
|
|
9861
10288
|
每次请求的Filters的上限为10,Filter.Values的上限为100。
|
|
@@ -16203,6 +16630,76 @@ class ModifyConfigResponse(AbstractModel):
|
|
|
16203
16630
|
self._RequestId = params.get("RequestId")
|
|
16204
16631
|
|
|
16205
16632
|
|
|
16633
|
+
class ModifyConsoleSharingRequest(AbstractModel):
|
|
16634
|
+
"""ModifyConsoleSharing请求参数结构体
|
|
16635
|
+
|
|
16636
|
+
"""
|
|
16637
|
+
|
|
16638
|
+
def __init__(self):
|
|
16639
|
+
r"""
|
|
16640
|
+
:param _SharingId: 免密分享链接Id
|
|
16641
|
+
:type SharingId: str
|
|
16642
|
+
:param _DurationMilliseconds: 指定分享链接有效期,单位:毫秒,最长可设定有效期为30天
|
|
16643
|
+
:type DurationMilliseconds: int
|
|
16644
|
+
"""
|
|
16645
|
+
self._SharingId = None
|
|
16646
|
+
self._DurationMilliseconds = None
|
|
16647
|
+
|
|
16648
|
+
@property
|
|
16649
|
+
def SharingId(self):
|
|
16650
|
+
return self._SharingId
|
|
16651
|
+
|
|
16652
|
+
@SharingId.setter
|
|
16653
|
+
def SharingId(self, SharingId):
|
|
16654
|
+
self._SharingId = SharingId
|
|
16655
|
+
|
|
16656
|
+
@property
|
|
16657
|
+
def DurationMilliseconds(self):
|
|
16658
|
+
return self._DurationMilliseconds
|
|
16659
|
+
|
|
16660
|
+
@DurationMilliseconds.setter
|
|
16661
|
+
def DurationMilliseconds(self, DurationMilliseconds):
|
|
16662
|
+
self._DurationMilliseconds = DurationMilliseconds
|
|
16663
|
+
|
|
16664
|
+
|
|
16665
|
+
def _deserialize(self, params):
|
|
16666
|
+
self._SharingId = params.get("SharingId")
|
|
16667
|
+
self._DurationMilliseconds = params.get("DurationMilliseconds")
|
|
16668
|
+
memeber_set = set(params.keys())
|
|
16669
|
+
for name, value in vars(self).items():
|
|
16670
|
+
property_name = name[1:]
|
|
16671
|
+
if property_name in memeber_set:
|
|
16672
|
+
memeber_set.remove(property_name)
|
|
16673
|
+
if len(memeber_set) > 0:
|
|
16674
|
+
warnings.warn("%s fileds are useless." % ",".join(memeber_set))
|
|
16675
|
+
|
|
16676
|
+
|
|
16677
|
+
|
|
16678
|
+
class ModifyConsoleSharingResponse(AbstractModel):
|
|
16679
|
+
"""ModifyConsoleSharing返回参数结构体
|
|
16680
|
+
|
|
16681
|
+
"""
|
|
16682
|
+
|
|
16683
|
+
def __init__(self):
|
|
16684
|
+
r"""
|
|
16685
|
+
:param _RequestId: 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。
|
|
16686
|
+
:type RequestId: str
|
|
16687
|
+
"""
|
|
16688
|
+
self._RequestId = None
|
|
16689
|
+
|
|
16690
|
+
@property
|
|
16691
|
+
def RequestId(self):
|
|
16692
|
+
return self._RequestId
|
|
16693
|
+
|
|
16694
|
+
@RequestId.setter
|
|
16695
|
+
def RequestId(self, RequestId):
|
|
16696
|
+
self._RequestId = RequestId
|
|
16697
|
+
|
|
16698
|
+
|
|
16699
|
+
def _deserialize(self, params):
|
|
16700
|
+
self._RequestId = params.get("RequestId")
|
|
16701
|
+
|
|
16702
|
+
|
|
16206
16703
|
class ModifyConsumerRequest(AbstractModel):
|
|
16207
16704
|
"""ModifyConsumer请求参数结构体
|
|
16208
16705
|
|
|
@@ -20196,16 +20693,26 @@ class SearchLogRequest(AbstractModel):
|
|
|
20196
20693
|
- 检索单个日志主题时请使用TopicId。
|
|
20197
20694
|
- TopicId 和 Topics 不能同时使用,在一次请求中有且只能选择一个。
|
|
20198
20695
|
:type Topics: list of MultiTopicSearchInformation
|
|
20199
|
-
:param
|
|
20696
|
+
:param _Sort: 原始日志是否按时间排序返回;可选值:asc(升序)、desc(降序),默认为 desc
|
|
20697
|
+
注意:
|
|
20698
|
+
* 仅当检索分析语句(Query)不包含SQL时有效
|
|
20699
|
+
* SQL结果排序方式参考<a href="https://cloud.tencent.com/document/product/614/58978" target="_blank">SQL ORDER BY语法</a>
|
|
20700
|
+
:type Sort: str
|
|
20701
|
+
:param _Limit: 表示单次查询返回的原始日志条数,默认为100,最大值为1000。
|
|
20200
20702
|
注意:
|
|
20201
20703
|
* 仅当检索分析语句(Query)不包含SQL时有效
|
|
20202
20704
|
* SQL结果条数指定方式参考<a href="https://cloud.tencent.com/document/product/614/58977" target="_blank">SQL LIMIT语法</a>
|
|
20705
|
+
|
|
20706
|
+
可通过两种方式获取后续更多日志:
|
|
20707
|
+
* Context:透传上次接口返回的Context值,获取后续更多日志,总计最多可获取1万条原始日志
|
|
20708
|
+
* Offset:偏移量,表示从第几行开始返回原始日志,无日志条数限制
|
|
20203
20709
|
:type Limit: int
|
|
20204
|
-
:param
|
|
20710
|
+
:param _Offset: 查询原始日志的偏移量,表示从第几行开始返回原始日志,默认为0。
|
|
20205
20711
|
注意:
|
|
20206
20712
|
* 仅当检索分析语句(Query)不包含SQL时有效
|
|
20207
|
-
*
|
|
20208
|
-
|
|
20713
|
+
* 不能与Context参数同时使用
|
|
20714
|
+
* 仅适用于单日志主题检索
|
|
20715
|
+
:type Offset: int
|
|
20209
20716
|
:param _Context: 透传上次接口返回的Context值,可获取后续更多日志,总计最多可获取1万条原始日志,过期时间1小时。
|
|
20210
20717
|
注意:
|
|
20211
20718
|
* 透传该参数时,请勿修改除该参数外的其它参数
|
|
@@ -20229,8 +20736,9 @@ class SearchLogRequest(AbstractModel):
|
|
|
20229
20736
|
self._SyntaxRule = None
|
|
20230
20737
|
self._TopicId = None
|
|
20231
20738
|
self._Topics = None
|
|
20232
|
-
self._Limit = None
|
|
20233
20739
|
self._Sort = None
|
|
20740
|
+
self._Limit = None
|
|
20741
|
+
self._Offset = None
|
|
20234
20742
|
self._Context = None
|
|
20235
20743
|
self._SamplingRate = None
|
|
20236
20744
|
self._UseNewAnalysis = None
|
|
@@ -20283,6 +20791,14 @@ class SearchLogRequest(AbstractModel):
|
|
|
20283
20791
|
def Topics(self, Topics):
|
|
20284
20792
|
self._Topics = Topics
|
|
20285
20793
|
|
|
20794
|
+
@property
|
|
20795
|
+
def Sort(self):
|
|
20796
|
+
return self._Sort
|
|
20797
|
+
|
|
20798
|
+
@Sort.setter
|
|
20799
|
+
def Sort(self, Sort):
|
|
20800
|
+
self._Sort = Sort
|
|
20801
|
+
|
|
20286
20802
|
@property
|
|
20287
20803
|
def Limit(self):
|
|
20288
20804
|
return self._Limit
|
|
@@ -20292,12 +20808,12 @@ class SearchLogRequest(AbstractModel):
|
|
|
20292
20808
|
self._Limit = Limit
|
|
20293
20809
|
|
|
20294
20810
|
@property
|
|
20295
|
-
def
|
|
20296
|
-
return self.
|
|
20811
|
+
def Offset(self):
|
|
20812
|
+
return self._Offset
|
|
20297
20813
|
|
|
20298
|
-
@
|
|
20299
|
-
def
|
|
20300
|
-
self.
|
|
20814
|
+
@Offset.setter
|
|
20815
|
+
def Offset(self, Offset):
|
|
20816
|
+
self._Offset = Offset
|
|
20301
20817
|
|
|
20302
20818
|
@property
|
|
20303
20819
|
def Context(self):
|
|
@@ -20336,8 +20852,9 @@ class SearchLogRequest(AbstractModel):
|
|
|
20336
20852
|
obj = MultiTopicSearchInformation()
|
|
20337
20853
|
obj._deserialize(item)
|
|
20338
20854
|
self._Topics.append(obj)
|
|
20339
|
-
self._Limit = params.get("Limit")
|
|
20340
20855
|
self._Sort = params.get("Sort")
|
|
20856
|
+
self._Limit = params.get("Limit")
|
|
20857
|
+
self._Offset = params.get("Offset")
|
|
20341
20858
|
self._Context = params.get("Context")
|
|
20342
20859
|
self._SamplingRate = params.get("SamplingRate")
|
|
20343
20860
|
self._UseNewAnalysis = params.get("UseNewAnalysis")
|
|
@@ -21544,7 +22061,7 @@ class UploadLogRequest(AbstractModel):
|
|
|
21544
22061
|
r"""
|
|
21545
22062
|
:param _TopicId: 主题id
|
|
21546
22063
|
:type TopicId: str
|
|
21547
|
-
:param _HashKey:
|
|
22064
|
+
:param _HashKey: 该参数已废弃,请勿使用
|
|
21548
22065
|
:type HashKey: str
|
|
21549
22066
|
:param _CompressType: 压缩方法
|
|
21550
22067
|
:type CompressType: str
|
|
@@ -21563,10 +22080,14 @@ class UploadLogRequest(AbstractModel):
|
|
|
21563
22080
|
|
|
21564
22081
|
@property
|
|
21565
22082
|
def HashKey(self):
|
|
22083
|
+
warnings.warn("parameter `HashKey` is deprecated", DeprecationWarning)
|
|
22084
|
+
|
|
21566
22085
|
return self._HashKey
|
|
21567
22086
|
|
|
21568
22087
|
@HashKey.setter
|
|
21569
22088
|
def HashKey(self, HashKey):
|
|
22089
|
+
warnings.warn("parameter `HashKey` is deprecated", DeprecationWarning)
|
|
22090
|
+
|
|
21570
22091
|
self._HashKey = HashKey
|
|
21571
22092
|
|
|
21572
22093
|
@property
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
tencentcloud-sdk-python-common==3.0.1209
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
tencentcloud-sdk-python-common==3.0.1192
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|