alibabacloud-sls20201230 5.4.1__py3-none-any.whl → 5.5.0__py3-none-any.whl

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.
@@ -878,7 +878,7 @@ class ConsumeProcessor(TeaModel):
878
878
  configuration: ConsumeProcessorConfiguration = None,
879
879
  create_time: int = None,
880
880
  description: str = None,
881
- processor_id: str = None,
881
+ display_name: str = None,
882
882
  processor_name: str = None,
883
883
  update_time: int = None,
884
884
  ):
@@ -887,7 +887,7 @@ class ConsumeProcessor(TeaModel):
887
887
  self.create_time = create_time
888
888
  self.description = description
889
889
  # This parameter is required.
890
- self.processor_id = processor_id
890
+ self.display_name = display_name
891
891
  # This parameter is required.
892
892
  self.processor_name = processor_name
893
893
  self.update_time = update_time
@@ -908,8 +908,8 @@ class ConsumeProcessor(TeaModel):
908
908
  result['createTime'] = self.create_time
909
909
  if self.description is not None:
910
910
  result['description'] = self.description
911
- if self.processor_id is not None:
912
- result['processorId'] = self.processor_id
911
+ if self.display_name is not None:
912
+ result['displayName'] = self.display_name
913
913
  if self.processor_name is not None:
914
914
  result['processorName'] = self.processor_name
915
915
  if self.update_time is not None:
@@ -925,8 +925,8 @@ class ConsumeProcessor(TeaModel):
925
925
  self.create_time = m.get('createTime')
926
926
  if m.get('description') is not None:
927
927
  self.description = m.get('description')
928
- if m.get('processorId') is not None:
929
- self.processor_id = m.get('processorId')
928
+ if m.get('displayName') is not None:
929
+ self.display_name = m.get('displayName')
930
930
  if m.get('processorName') is not None:
931
931
  self.processor_name = m.get('processorName')
932
932
  if m.get('updateTime') is not None:
@@ -1526,7 +1526,7 @@ class IngestProcessor(TeaModel):
1526
1526
  configuration: IngestProcessorConfiguration = None,
1527
1527
  create_time: int = None,
1528
1528
  description: str = None,
1529
- processor_id: str = None,
1529
+ display_name: str = None,
1530
1530
  processor_name: str = None,
1531
1531
  update_time: int = None,
1532
1532
  ):
@@ -1535,7 +1535,7 @@ class IngestProcessor(TeaModel):
1535
1535
  self.create_time = create_time
1536
1536
  self.description = description
1537
1537
  # This parameter is required.
1538
- self.processor_id = processor_id
1538
+ self.display_name = display_name
1539
1539
  # This parameter is required.
1540
1540
  self.processor_name = processor_name
1541
1541
  self.update_time = update_time
@@ -1556,8 +1556,8 @@ class IngestProcessor(TeaModel):
1556
1556
  result['createTime'] = self.create_time
1557
1557
  if self.description is not None:
1558
1558
  result['description'] = self.description
1559
- if self.processor_id is not None:
1560
- result['processorId'] = self.processor_id
1559
+ if self.display_name is not None:
1560
+ result['displayName'] = self.display_name
1561
1561
  if self.processor_name is not None:
1562
1562
  result['processorName'] = self.processor_name
1563
1563
  if self.update_time is not None:
@@ -1573,8 +1573,8 @@ class IngestProcessor(TeaModel):
1573
1573
  self.create_time = m.get('createTime')
1574
1574
  if m.get('description') is not None:
1575
1575
  self.description = m.get('description')
1576
- if m.get('processorId') is not None:
1577
- self.processor_id = m.get('processorId')
1576
+ if m.get('displayName') is not None:
1577
+ self.display_name = m.get('displayName')
1578
1578
  if m.get('processorName') is not None:
1579
1579
  self.processor_name = m.get('processorName')
1580
1580
  if m.get('updateTime') is not None:
@@ -1617,41 +1617,6 @@ class LogContent(TeaModel):
1617
1617
  return self
1618
1618
 
1619
1619
 
1620
- class LogTag(TeaModel):
1621
- def __init__(
1622
- self,
1623
- key: str = None,
1624
- value: str = None,
1625
- ):
1626
- # This parameter is required.
1627
- self.key = key
1628
- # This parameter is required.
1629
- self.value = value
1630
-
1631
- def validate(self):
1632
- pass
1633
-
1634
- def to_map(self):
1635
- _map = super().to_map()
1636
- if _map is not None:
1637
- return _map
1638
-
1639
- result = dict()
1640
- if self.key is not None:
1641
- result['Key'] = self.key
1642
- if self.value is not None:
1643
- result['Value'] = self.value
1644
- return result
1645
-
1646
- def from_map(self, m: dict = None):
1647
- m = m or dict()
1648
- if m.get('Key') is not None:
1649
- self.key = m.get('Key')
1650
- if m.get('Value') is not None:
1651
- self.value = m.get('Value')
1652
- return self
1653
-
1654
-
1655
1620
  class LogItem(TeaModel):
1656
1621
  def __init__(
1657
1622
  self,
@@ -1695,29 +1660,62 @@ class LogItem(TeaModel):
1695
1660
  return self
1696
1661
 
1697
1662
 
1663
+ class LogTag(TeaModel):
1664
+ def __init__(
1665
+ self,
1666
+ key: str = None,
1667
+ value: str = None,
1668
+ ):
1669
+ # This parameter is required.
1670
+ self.key = key
1671
+ # This parameter is required.
1672
+ self.value = value
1673
+
1674
+ def validate(self):
1675
+ pass
1676
+
1677
+ def to_map(self):
1678
+ _map = super().to_map()
1679
+ if _map is not None:
1680
+ return _map
1681
+
1682
+ result = dict()
1683
+ if self.key is not None:
1684
+ result['Key'] = self.key
1685
+ if self.value is not None:
1686
+ result['Value'] = self.value
1687
+ return result
1688
+
1689
+ def from_map(self, m: dict = None):
1690
+ m = m or dict()
1691
+ if m.get('Key') is not None:
1692
+ self.key = m.get('Key')
1693
+ if m.get('Value') is not None:
1694
+ self.value = m.get('Value')
1695
+ return self
1696
+
1697
+
1698
1698
  class LogGroup(TeaModel):
1699
1699
  def __init__(
1700
1700
  self,
1701
+ log_items: List[LogItem] = None,
1701
1702
  log_tags: List[LogTag] = None,
1702
- logs: List[LogItem] = None,
1703
1703
  source: str = None,
1704
1704
  topic: str = None,
1705
1705
  ):
1706
1706
  # This parameter is required.
1707
+ self.log_items = log_items
1707
1708
  self.log_tags = log_tags
1708
- # This parameter is required.
1709
- self.logs = logs
1710
1709
  self.source = source
1711
- # This parameter is required.
1712
1710
  self.topic = topic
1713
1711
 
1714
1712
  def validate(self):
1715
- if self.log_tags:
1716
- for k in self.log_tags:
1713
+ if self.log_items:
1714
+ for k in self.log_items:
1717
1715
  if k:
1718
1716
  k.validate()
1719
- if self.logs:
1720
- for k in self.logs:
1717
+ if self.log_tags:
1718
+ for k in self.log_tags:
1721
1719
  if k:
1722
1720
  k.validate()
1723
1721
 
@@ -1727,14 +1725,14 @@ class LogGroup(TeaModel):
1727
1725
  return _map
1728
1726
 
1729
1727
  result = dict()
1728
+ result['LogItems'] = []
1729
+ if self.log_items is not None:
1730
+ for k in self.log_items:
1731
+ result['LogItems'].append(k.to_map() if k else None)
1730
1732
  result['LogTags'] = []
1731
1733
  if self.log_tags is not None:
1732
1734
  for k in self.log_tags:
1733
1735
  result['LogTags'].append(k.to_map() if k else None)
1734
- result['Logs'] = []
1735
- if self.logs is not None:
1736
- for k in self.logs:
1737
- result['Logs'].append(k.to_map() if k else None)
1738
1736
  if self.source is not None:
1739
1737
  result['Source'] = self.source
1740
1738
  if self.topic is not None:
@@ -1743,16 +1741,16 @@ class LogGroup(TeaModel):
1743
1741
 
1744
1742
  def from_map(self, m: dict = None):
1745
1743
  m = m or dict()
1744
+ self.log_items = []
1745
+ if m.get('LogItems') is not None:
1746
+ for k in m.get('LogItems'):
1747
+ temp_model = LogItem()
1748
+ self.log_items.append(temp_model.from_map(k))
1746
1749
  self.log_tags = []
1747
1750
  if m.get('LogTags') is not None:
1748
1751
  for k in m.get('LogTags'):
1749
1752
  temp_model = LogTag()
1750
1753
  self.log_tags.append(temp_model.from_map(k))
1751
- self.logs = []
1752
- if m.get('Logs') is not None:
1753
- for k in m.get('Logs'):
1754
- temp_model = LogItem()
1755
- self.logs.append(temp_model.from_map(k))
1756
1754
  if m.get('Source') is not None:
1757
1755
  self.source = m.get('Source')
1758
1756
  if m.get('Topic') is not None:
@@ -1760,18 +1758,56 @@ class LogGroup(TeaModel):
1760
1758
  return self
1761
1759
 
1762
1760
 
1761
+ class LogGroupList(TeaModel):
1762
+ def __init__(
1763
+ self,
1764
+ log_group_list: List[LogGroup] = None,
1765
+ ):
1766
+ # This parameter is required.
1767
+ self.log_group_list = log_group_list
1768
+
1769
+ def validate(self):
1770
+ if self.log_group_list:
1771
+ for k in self.log_group_list:
1772
+ if k:
1773
+ k.validate()
1774
+
1775
+ def to_map(self):
1776
+ _map = super().to_map()
1777
+ if _map is not None:
1778
+ return _map
1779
+
1780
+ result = dict()
1781
+ result['logGroupList'] = []
1782
+ if self.log_group_list is not None:
1783
+ for k in self.log_group_list:
1784
+ result['logGroupList'].append(k.to_map() if k else None)
1785
+ return result
1786
+
1787
+ def from_map(self, m: dict = None):
1788
+ m = m or dict()
1789
+ self.log_group_list = []
1790
+ if m.get('logGroupList') is not None:
1791
+ for k in m.get('logGroupList'):
1792
+ temp_model = LogGroup()
1793
+ self.log_group_list.append(temp_model.from_map(k))
1794
+ return self
1795
+
1796
+
1763
1797
  class LogtailConfigOutputDetail(TeaModel):
1764
1798
  def __init__(
1765
1799
  self,
1766
1800
  endpoint: str = None,
1767
1801
  logstore_name: str = None,
1768
1802
  region: str = None,
1803
+ telemetry_type: str = None,
1769
1804
  ):
1770
1805
  # This parameter is required.
1771
1806
  self.endpoint = endpoint
1772
1807
  # This parameter is required.
1773
1808
  self.logstore_name = logstore_name
1774
1809
  self.region = region
1810
+ self.telemetry_type = telemetry_type
1775
1811
 
1776
1812
  def validate(self):
1777
1813
  pass
@@ -1788,6 +1824,8 @@ class LogtailConfigOutputDetail(TeaModel):
1788
1824
  result['logstoreName'] = self.logstore_name
1789
1825
  if self.region is not None:
1790
1826
  result['region'] = self.region
1827
+ if self.telemetry_type is not None:
1828
+ result['telemetryType'] = self.telemetry_type
1791
1829
  return result
1792
1830
 
1793
1831
  def from_map(self, m: dict = None):
@@ -1798,6 +1836,8 @@ class LogtailConfigOutputDetail(TeaModel):
1798
1836
  self.logstore_name = m.get('logstoreName')
1799
1837
  if m.get('region') is not None:
1800
1838
  self.region = m.get('region')
1839
+ if m.get('telemetryType') is not None:
1840
+ self.telemetry_type = m.get('telemetryType')
1801
1841
  return self
1802
1842
 
1803
1843
 
@@ -5697,17 +5737,17 @@ class CreateLogStoreRequest(TeaModel):
5697
5737
  telemetry_type: str = None,
5698
5738
  ttl: int = None,
5699
5739
  ):
5700
- # Specifies whether to record public IP addresses. Default value: false.
5740
+ # Specifies whether to record the **public IP address** and **log receiving time**. Default value: false. Valid values:
5701
5741
  #
5702
- # * true
5703
- # * false
5742
+ # * true********\
5743
+ # * false********\
5704
5744
  self.append_meta = append_meta
5705
- # Specifies whether to enable automatic sharding.
5745
+ # Specifies whether to enable automatic sharding. Valid values:
5706
5746
  #
5707
5747
  # * true
5708
5748
  # * false
5709
5749
  self.auto_split = auto_split
5710
- # Specifies whether to enable the web tracking feature. Default value: false.
5750
+ # Specifies whether to enable the web tracking feature. Default value: false. Valid values:
5711
5751
  #
5712
5752
  # * true
5713
5753
  # * false
@@ -5731,12 +5771,12 @@ class CreateLogStoreRequest(TeaModel):
5731
5771
  self.logstore_name = logstore_name
5732
5772
  # The maximum number of shards into which existing shards can be automatically split. Valid values: 1 to 256.
5733
5773
  #
5734
- # > If you set autoSplit to true, you must specify maxSplitShard.
5774
+ # > If you set autoSplit to true, you must specify this parameter.
5735
5775
  self.max_split_shard = max_split_shard
5736
5776
  # The type of the Logstore. Simple Log Service provides two types of Logstores: Standard Logstores and Query Logstores. Valid values:
5737
5777
  #
5738
5778
  # * **standard**: Standard Logstore. This type of Logstore supports the log analysis feature and is suitable for scenarios such as real-time monitoring and interactive analysis. You can also use this type of Logstore to build a comprehensive observability system.
5739
- # * **query**: Query Logstore. This type of Logstore supports high-performance queries. The index traffic fee of a query Logstore is approximately half that of a Standard Logstore. Query Logstores do not support SQL analysis. Query Logstores are suitable for scenarios in which the amount of data is large, the log retention period is long, or log analysis is not required. If logs are stored for weeks or months, the log retention period is considered long.
5779
+ # * **query**: Query Logstore. This type of Logstore supports high-performance queries. The index traffic fee of a Query Logstore is approximately half that of a Standard Logstore. Query Logstores do not support SQL analysis. Query Logstores are suitable for scenarios in which the amount of data is large, the log retention period is long, or log analysis is not required. If logs are stored for weeks or months, the log retention period is considered long.
5740
5780
  self.mode = mode
5741
5781
  self.processor_id = processor_id
5742
5782
  # The number of shards.
@@ -5750,7 +5790,7 @@ class CreateLogStoreRequest(TeaModel):
5750
5790
  # * **None** (default): log data
5751
5791
  # * **Metrics**: metric data
5752
5792
  self.telemetry_type = telemetry_type
5753
- # The retention period of data. Unit: days. Valid values: 1 to 3000. If you set this parameter to 3650, logs are permanently stored.
5793
+ # The retention period of data. Unit: days. Valid values: 1 to 3000. If you set this parameter to 3650, data is permanently stored.
5754
5794
  #
5755
5795
  # This parameter is required.
5756
5796
  self.ttl = ttl
@@ -6249,14 +6289,24 @@ class CreateMetricStoreRequest(TeaModel):
6249
6289
  shard_count: int = None,
6250
6290
  ttl: int = None,
6251
6291
  ):
6292
+ # Specifies whether to enable automatic sharding.
6252
6293
  self.auto_split = auto_split
6294
+ # The maximum number of shards into which existing shards can be automatically split. This parameter is valid only when you set the autoSplit parameter to true.
6253
6295
  self.max_split_shard = max_split_shard
6296
+ # The type of the metric data. Example: prometheus.
6254
6297
  self.metric_type = metric_type
6298
+ # The type of the Metricstore. For example, you can set the parameter to standard to query Standard Metricstores.
6255
6299
  self.mode = mode
6300
+ # The name of the Metricstore.
6301
+ #
6256
6302
  # This parameter is required.
6257
6303
  self.name = name
6304
+ # The number of shards in the Metricstore.
6305
+ #
6258
6306
  # This parameter is required.
6259
6307
  self.shard_count = shard_count
6308
+ # The retention period of the metric data in the Metricstore. Unit: days.
6309
+ #
6260
6310
  # This parameter is required.
6261
6311
  self.ttl = ttl
6262
6312
 
@@ -7105,11 +7155,13 @@ class CreateSavedSearchRequest(TeaModel):
7105
7155
  #
7106
7156
  # This parameter is required.
7107
7157
  self.savedsearch_name = savedsearch_name
7108
- # The query statement of the saved search. A query statement consists of a search statement and an analytic statement in the `Search statement|Analytic statement` format. For more information about search statements and analytic statements, see [Log search overview](https://help.aliyun.com/document_detail/43772.html) and [Log analysis overview](https://help.aliyun.com/document_detail/53608.html).
7158
+ # The query statement of the saved search. A query statement consists of a search statement and an analytic statement in the `Search statement|Analytic statement` format. For more information, see [Log search overview](https://help.aliyun.com/document_detail/43772.html) and [Log analysis overview](https://help.aliyun.com/document_detail/53608.html).
7109
7159
  #
7110
7160
  # This parameter is required.
7111
7161
  self.search_query = search_query
7112
- # The topic of the log.
7162
+ # The topic of the logs.
7163
+ #
7164
+ # This parameter is required.
7113
7165
  self.topic = topic
7114
7166
 
7115
7167
  def validate(self):
@@ -7446,6 +7498,7 @@ class CreateTicketRequest(TeaModel):
7446
7498
  expiration_time: int = None,
7447
7499
  ):
7448
7500
  self.access_token_expiration_time = access_token_expiration_time
7501
+ # The validity period of the ticket that is used for logon-free access. Unit: seconds. Default value: 86400. Maximum value: 2592000. The value 86400 specifies one day.
7449
7502
  self.expiration_time = expiration_time
7450
7503
 
7451
7504
  def validate(self):
@@ -7477,6 +7530,7 @@ class CreateTicketResponseBody(TeaModel):
7477
7530
  self,
7478
7531
  ticket: str = None,
7479
7532
  ):
7533
+ # The ticket that is used for logon-free access.
7480
7534
  self.ticket = ticket
7481
7535
 
7482
7536
  def validate(self):
@@ -8431,6 +8485,154 @@ class DeleteStoreViewResponse(TeaModel):
8431
8485
  return self
8432
8486
 
8433
8487
 
8488
+ class DescribeRegionsRequest(TeaModel):
8489
+ def __init__(
8490
+ self,
8491
+ language: str = None,
8492
+ ):
8493
+ self.language = language
8494
+
8495
+ def validate(self):
8496
+ pass
8497
+
8498
+ def to_map(self):
8499
+ _map = super().to_map()
8500
+ if _map is not None:
8501
+ return _map
8502
+
8503
+ result = dict()
8504
+ if self.language is not None:
8505
+ result['language'] = self.language
8506
+ return result
8507
+
8508
+ def from_map(self, m: dict = None):
8509
+ m = m or dict()
8510
+ if m.get('language') is not None:
8511
+ self.language = m.get('language')
8512
+ return self
8513
+
8514
+
8515
+ class DescribeRegionsResponseBodyRegions(TeaModel):
8516
+ def __init__(
8517
+ self,
8518
+ internet_endpoint: str = None,
8519
+ intranet_endpoint: str = None,
8520
+ local_name: str = None,
8521
+ region: str = None,
8522
+ ):
8523
+ self.internet_endpoint = internet_endpoint
8524
+ self.intranet_endpoint = intranet_endpoint
8525
+ self.local_name = local_name
8526
+ self.region = region
8527
+
8528
+ def validate(self):
8529
+ pass
8530
+
8531
+ def to_map(self):
8532
+ _map = super().to_map()
8533
+ if _map is not None:
8534
+ return _map
8535
+
8536
+ result = dict()
8537
+ if self.internet_endpoint is not None:
8538
+ result['internetEndpoint'] = self.internet_endpoint
8539
+ if self.intranet_endpoint is not None:
8540
+ result['intranetEndpoint'] = self.intranet_endpoint
8541
+ if self.local_name is not None:
8542
+ result['localName'] = self.local_name
8543
+ if self.region is not None:
8544
+ result['region'] = self.region
8545
+ return result
8546
+
8547
+ def from_map(self, m: dict = None):
8548
+ m = m or dict()
8549
+ if m.get('internetEndpoint') is not None:
8550
+ self.internet_endpoint = m.get('internetEndpoint')
8551
+ if m.get('intranetEndpoint') is not None:
8552
+ self.intranet_endpoint = m.get('intranetEndpoint')
8553
+ if m.get('localName') is not None:
8554
+ self.local_name = m.get('localName')
8555
+ if m.get('region') is not None:
8556
+ self.region = m.get('region')
8557
+ return self
8558
+
8559
+
8560
+ class DescribeRegionsResponseBody(TeaModel):
8561
+ def __init__(
8562
+ self,
8563
+ regions: List[DescribeRegionsResponseBodyRegions] = None,
8564
+ ):
8565
+ self.regions = regions
8566
+
8567
+ def validate(self):
8568
+ if self.regions:
8569
+ for k in self.regions:
8570
+ if k:
8571
+ k.validate()
8572
+
8573
+ def to_map(self):
8574
+ _map = super().to_map()
8575
+ if _map is not None:
8576
+ return _map
8577
+
8578
+ result = dict()
8579
+ result['regions'] = []
8580
+ if self.regions is not None:
8581
+ for k in self.regions:
8582
+ result['regions'].append(k.to_map() if k else None)
8583
+ return result
8584
+
8585
+ def from_map(self, m: dict = None):
8586
+ m = m or dict()
8587
+ self.regions = []
8588
+ if m.get('regions') is not None:
8589
+ for k in m.get('regions'):
8590
+ temp_model = DescribeRegionsResponseBodyRegions()
8591
+ self.regions.append(temp_model.from_map(k))
8592
+ return self
8593
+
8594
+
8595
+ class DescribeRegionsResponse(TeaModel):
8596
+ def __init__(
8597
+ self,
8598
+ headers: Dict[str, str] = None,
8599
+ status_code: int = None,
8600
+ body: DescribeRegionsResponseBody = None,
8601
+ ):
8602
+ self.headers = headers
8603
+ self.status_code = status_code
8604
+ self.body = body
8605
+
8606
+ def validate(self):
8607
+ if self.body:
8608
+ self.body.validate()
8609
+
8610
+ def to_map(self):
8611
+ _map = super().to_map()
8612
+ if _map is not None:
8613
+ return _map
8614
+
8615
+ result = dict()
8616
+ if self.headers is not None:
8617
+ result['headers'] = self.headers
8618
+ if self.status_code is not None:
8619
+ result['statusCode'] = self.status_code
8620
+ if self.body is not None:
8621
+ result['body'] = self.body.to_map()
8622
+ return result
8623
+
8624
+ def from_map(self, m: dict = None):
8625
+ m = m or dict()
8626
+ if m.get('headers') is not None:
8627
+ self.headers = m.get('headers')
8628
+ if m.get('statusCode') is not None:
8629
+ self.status_code = m.get('statusCode')
8630
+ if m.get('body') is not None:
8631
+ temp_model = DescribeRegionsResponseBody()
8632
+ self.body = temp_model.from_map(m['body'])
8633
+ return self
8634
+
8635
+
8434
8636
  class DisableAlertResponse(TeaModel):
8435
8637
  def __init__(
8436
8638
  self,
@@ -9411,7 +9613,6 @@ class GetContextLogsRequest(TeaModel):
9411
9613
  forward_lines: int = None,
9412
9614
  pack_id: str = None,
9413
9615
  pack_meta: str = None,
9414
- type: str = None,
9415
9616
  ):
9416
9617
  # The number of logs that you want to obtain and are generated before the generation time of the start log. Valid values: `(0,100]`.
9417
9618
  #
@@ -9429,10 +9630,6 @@ class GetContextLogsRequest(TeaModel):
9429
9630
  #
9430
9631
  # This parameter is required.
9431
9632
  self.pack_meta = pack_meta
9432
- # The type of the data in the Logstore. Set the value to context_log.
9433
- #
9434
- # This parameter is required.
9435
- self.type = type
9436
9633
 
9437
9634
  def validate(self):
9438
9635
  pass
@@ -9451,8 +9648,6 @@ class GetContextLogsRequest(TeaModel):
9451
9648
  result['pack_id'] = self.pack_id
9452
9649
  if self.pack_meta is not None:
9453
9650
  result['pack_meta'] = self.pack_meta
9454
- if self.type is not None:
9455
- result['type'] = self.type
9456
9651
  return result
9457
9652
 
9458
9653
  def from_map(self, m: dict = None):
@@ -9465,8 +9660,6 @@ class GetContextLogsRequest(TeaModel):
9465
9660
  self.pack_id = m.get('pack_id')
9466
9661
  if m.get('pack_meta') is not None:
9467
9662
  self.pack_meta = m.get('pack_meta')
9468
- if m.get('type') is not None:
9469
- self.type = m.get('type')
9470
9663
  return self
9471
9664
 
9472
9665
 
@@ -10751,9 +10944,9 @@ class GetLogsRequest(TeaModel):
10751
10944
  #
10752
10945
  # This parameter is required.
10753
10946
  self.from_ = from_
10754
- # The maximum number of logs to return for the request. This parameter takes effect only when the query parameter is set to a search statement. Minimum value: 0. Maximum value: 100. Default value: 100.
10947
+ # The maximum number of logs to return for the request. This parameter takes effect only when the query parameter is set to a search statement. Minimum value: 0. Maximum value: 100. Default value: 100. For more information, see [Perform paged queries](https://help.aliyun.com/document_detail/89994.html).
10755
10948
  self.line = line
10756
- # The line from which the query starts. This parameter takes effect only when the query parameter is set to a search statement. Default value: 0.
10949
+ # The line from which the query starts. This parameter takes effect only when the query parameter is set to a search statement. Default value: 0. For more information, see [Perform paged queries](https://help.aliyun.com/document_detail/89994.html).
10757
10950
  self.offset = offset
10758
10951
  # Specifies whether to enable the Dedicated SQL feature. For more information, see [Enable Dedicated SQL](https://help.aliyun.com/document_detail/223777.html). Valid values:
10759
10952
  #
@@ -10790,7 +10983,7 @@ class GetLogsRequest(TeaModel):
10790
10983
  #
10791
10984
  # This parameter is required.
10792
10985
  self.to = to
10793
- # The topic of the logs. The default value is double quotation marks (""). For more information, see [Topic](https://help.aliyun.com/document_detail/48881.html).
10986
+ # The topic of the logs. The default value is an empty string. For more information, see [Topic](https://help.aliyun.com/document_detail/48881.html).
10794
10987
  self.topic = topic
10795
10988
 
10796
10989
  def validate(self):
@@ -10887,7 +11080,10 @@ class GetLogsV2Headers(TeaModel):
10887
11080
  accept_encoding: str = None,
10888
11081
  ):
10889
11082
  self.common_headers = common_headers
10890
- # The compression method.
11083
+ # The compression format.
11084
+ #
11085
+ # * For Java, Python, and Go, only the lz4 and gzip algorithms are supported for decompression.
11086
+ # * For PHP, JavaScript, and C#, only the gzip algorithm is supported for decompression.
10891
11087
  #
10892
11088
  # This parameter is required.
10893
11089
  self.accept_encoding = accept_encoding
@@ -11535,14 +11731,23 @@ class GetMetricStoreResponseBody(TeaModel):
11535
11731
  shard_count: int = None,
11536
11732
  ttl: int = None,
11537
11733
  ):
11734
+ # Indicates whether the automatic sharding feature is enabled.
11538
11735
  self.auto_split = auto_split
11736
+ # The creation time. The value is a UNIX timestamp.
11539
11737
  self.create_time = create_time
11738
+ # The last update time. The value is a UNIX timestamp.
11540
11739
  self.last_modify_time = last_modify_time
11740
+ # The maximum number of shards into which existing shards can be automatically split.
11541
11741
  self.max_split_shard = max_split_shard
11742
+ # The metric type of the Metricstore. Example: prometheus.
11542
11743
  self.metric_type = metric_type
11744
+ # The specification type of the Metricstore. Example: standard.
11543
11745
  self.mode = mode
11746
+ # The name of the Metricstore.
11544
11747
  self.name = name
11748
+ # The number of shards.
11545
11749
  self.shard_count = shard_count
11750
+ # The retention period. Unit: days.
11546
11751
  self.ttl = ttl
11547
11752
 
11548
11753
  def validate(self):
@@ -12996,6 +13201,7 @@ class ListCollectionPoliciesResponseBodyDataCentralizeConfig(TeaModel):
12996
13201
  self.dest_logstore = dest_logstore
12997
13202
  self.dest_project = dest_project
12998
13203
  self.dest_region = dest_region
13204
+ # The data retention period for centralized storage. Unit: days.
12999
13205
  self.dest_ttl = dest_ttl
13000
13206
 
13001
13207
  def validate(self):
@@ -13156,6 +13362,7 @@ class ListCollectionPoliciesResponseBodyData(TeaModel):
13156
13362
  product_code: str = None,
13157
13363
  resource_directory: ListCollectionPoliciesResponseBodyDataResourceDirectory = None,
13158
13364
  ):
13365
+ # The configuration for centralized storage.
13159
13366
  self.centralize_config = centralize_config
13160
13367
  self.centralize_enabled = centralize_enabled
13161
13368
  self.data_code = data_code
@@ -13322,6 +13529,7 @@ class ListCollectionPoliciesResponseBody(TeaModel):
13322
13529
  total_count: int = None,
13323
13530
  ):
13324
13531
  self.current_count = current_count
13532
+ # The data of the policies that are matched against the query conditions. The data is returned based on paginated results.
13325
13533
  self.data = data
13326
13534
  self.statistics = statistics
13327
13535
  self.total_count = total_count
@@ -14944,9 +15152,13 @@ class ListMetricStoresRequest(TeaModel):
14944
15152
  offset: int = None,
14945
15153
  size: int = None,
14946
15154
  ):
15155
+ # The type of the Metricstore. For example, you can set the parameter to standard to query Standard Metricstores.
14947
15156
  self.mode = mode
15157
+ # The name of the Metricstore. Fuzzy search is supported. If you do not specify this parameter, all Metricstores are involved.
14948
15158
  self.name = name
15159
+ # The start position of the query.
14949
15160
  self.offset = offset
15161
+ # The number of entries per page.
14950
15162
  self.size = size
14951
15163
 
14952
15164
  def validate(self):
@@ -14988,8 +15200,11 @@ class ListMetricStoresResponseBody(TeaModel):
14988
15200
  metricstores: List[str] = None,
14989
15201
  total: int = None,
14990
15202
  ):
15203
+ # The total number of entries returned.
14991
15204
  self.count = count
15205
+ # The names of the Metricstores.
14992
15206
  self.metricstores = metricstores
15207
+ # The total number of queried Metricstores.
14993
15208
  self.total = total
14994
15209
 
14995
15210
  def validate(self):
@@ -16403,6 +16618,128 @@ class OpenSlsServiceResponse(TeaModel):
16403
16618
  return self
16404
16619
 
16405
16620
 
16621
+ class PullLogsHeaders(TeaModel):
16622
+ def __init__(
16623
+ self,
16624
+ common_headers: Dict[str, str] = None,
16625
+ accept_encoding: str = None,
16626
+ ):
16627
+ self.common_headers = common_headers
16628
+ self.accept_encoding = accept_encoding
16629
+
16630
+ def validate(self):
16631
+ pass
16632
+
16633
+ def to_map(self):
16634
+ _map = super().to_map()
16635
+ if _map is not None:
16636
+ return _map
16637
+
16638
+ result = dict()
16639
+ if self.common_headers is not None:
16640
+ result['commonHeaders'] = self.common_headers
16641
+ if self.accept_encoding is not None:
16642
+ result['Accept-Encoding'] = self.accept_encoding
16643
+ return result
16644
+
16645
+ def from_map(self, m: dict = None):
16646
+ m = m or dict()
16647
+ if m.get('commonHeaders') is not None:
16648
+ self.common_headers = m.get('commonHeaders')
16649
+ if m.get('Accept-Encoding') is not None:
16650
+ self.accept_encoding = m.get('Accept-Encoding')
16651
+ return self
16652
+
16653
+
16654
+ class PullLogsRequest(TeaModel):
16655
+ def __init__(
16656
+ self,
16657
+ count: int = None,
16658
+ cursor: str = None,
16659
+ end_cursor: str = None,
16660
+ query: str = None,
16661
+ ):
16662
+ # This parameter is required.
16663
+ self.count = count
16664
+ # This parameter is required.
16665
+ self.cursor = cursor
16666
+ self.end_cursor = end_cursor
16667
+ # The SPL statement that is used to filter data. For more information, see [SPL instructions](https://help.aliyun.com/document_detail/2536530.html).
16668
+ self.query = query
16669
+
16670
+ def validate(self):
16671
+ pass
16672
+
16673
+ def to_map(self):
16674
+ _map = super().to_map()
16675
+ if _map is not None:
16676
+ return _map
16677
+
16678
+ result = dict()
16679
+ if self.count is not None:
16680
+ result['count'] = self.count
16681
+ if self.cursor is not None:
16682
+ result['cursor'] = self.cursor
16683
+ if self.end_cursor is not None:
16684
+ result['end_cursor'] = self.end_cursor
16685
+ if self.query is not None:
16686
+ result['query'] = self.query
16687
+ return result
16688
+
16689
+ def from_map(self, m: dict = None):
16690
+ m = m or dict()
16691
+ if m.get('count') is not None:
16692
+ self.count = m.get('count')
16693
+ if m.get('cursor') is not None:
16694
+ self.cursor = m.get('cursor')
16695
+ if m.get('end_cursor') is not None:
16696
+ self.end_cursor = m.get('end_cursor')
16697
+ if m.get('query') is not None:
16698
+ self.query = m.get('query')
16699
+ return self
16700
+
16701
+
16702
+ class PullLogsResponse(TeaModel):
16703
+ def __init__(
16704
+ self,
16705
+ headers: Dict[str, str] = None,
16706
+ status_code: int = None,
16707
+ body: LogGroupList = None,
16708
+ ):
16709
+ self.headers = headers
16710
+ self.status_code = status_code
16711
+ self.body = body
16712
+
16713
+ def validate(self):
16714
+ if self.body:
16715
+ self.body.validate()
16716
+
16717
+ def to_map(self):
16718
+ _map = super().to_map()
16719
+ if _map is not None:
16720
+ return _map
16721
+
16722
+ result = dict()
16723
+ if self.headers is not None:
16724
+ result['headers'] = self.headers
16725
+ if self.status_code is not None:
16726
+ result['statusCode'] = self.status_code
16727
+ if self.body is not None:
16728
+ result['body'] = self.body.to_map()
16729
+ return result
16730
+
16731
+ def from_map(self, m: dict = None):
16732
+ m = m or dict()
16733
+ if m.get('headers') is not None:
16734
+ self.headers = m.get('headers')
16735
+ if m.get('statusCode') is not None:
16736
+ self.status_code = m.get('statusCode')
16737
+ if m.get('body') is not None:
16738
+ temp_model = LogGroupList()
16739
+ self.body = temp_model.from_map(m['body'])
16740
+ return self
16741
+
16742
+
16406
16743
  class PutAnnotationDataRequest(TeaModel):
16407
16744
  def __init__(
16408
16745
  self,
@@ -16480,6 +16817,105 @@ class PutAnnotationDataResponse(TeaModel):
16480
16817
  return self
16481
16818
 
16482
16819
 
16820
+ class PutLogsHeaders(TeaModel):
16821
+ def __init__(
16822
+ self,
16823
+ common_headers: Dict[str, str] = None,
16824
+ x_log_compresstype: str = None,
16825
+ ):
16826
+ self.common_headers = common_headers
16827
+ # The compression format. lz4 and gzip are supported.
16828
+ #
16829
+ # This parameter is required.
16830
+ self.x_log_compresstype = x_log_compresstype
16831
+
16832
+ def validate(self):
16833
+ pass
16834
+
16835
+ def to_map(self):
16836
+ _map = super().to_map()
16837
+ if _map is not None:
16838
+ return _map
16839
+
16840
+ result = dict()
16841
+ if self.common_headers is not None:
16842
+ result['commonHeaders'] = self.common_headers
16843
+ if self.x_log_compresstype is not None:
16844
+ result['x-log-compresstype'] = self.x_log_compresstype
16845
+ return result
16846
+
16847
+ def from_map(self, m: dict = None):
16848
+ m = m or dict()
16849
+ if m.get('commonHeaders') is not None:
16850
+ self.common_headers = m.get('commonHeaders')
16851
+ if m.get('x-log-compresstype') is not None:
16852
+ self.x_log_compresstype = m.get('x-log-compresstype')
16853
+ return self
16854
+
16855
+
16856
+ class PutLogsRequest(TeaModel):
16857
+ def __init__(
16858
+ self,
16859
+ body: LogGroup = None,
16860
+ ):
16861
+ # The compressed Protobuf data.
16862
+ self.body = body
16863
+
16864
+ def validate(self):
16865
+ if self.body:
16866
+ self.body.validate()
16867
+
16868
+ def to_map(self):
16869
+ _map = super().to_map()
16870
+ if _map is not None:
16871
+ return _map
16872
+
16873
+ result = dict()
16874
+ if self.body is not None:
16875
+ result['body'] = self.body.to_map()
16876
+ return result
16877
+
16878
+ def from_map(self, m: dict = None):
16879
+ m = m or dict()
16880
+ if m.get('body') is not None:
16881
+ temp_model = LogGroup()
16882
+ self.body = temp_model.from_map(m['body'])
16883
+ return self
16884
+
16885
+
16886
+ class PutLogsResponse(TeaModel):
16887
+ def __init__(
16888
+ self,
16889
+ headers: Dict[str, str] = None,
16890
+ status_code: int = None,
16891
+ ):
16892
+ self.headers = headers
16893
+ self.status_code = status_code
16894
+
16895
+ def validate(self):
16896
+ pass
16897
+
16898
+ def to_map(self):
16899
+ _map = super().to_map()
16900
+ if _map is not None:
16901
+ return _map
16902
+
16903
+ result = dict()
16904
+ if self.headers is not None:
16905
+ result['headers'] = self.headers
16906
+ if self.status_code is not None:
16907
+ result['statusCode'] = self.status_code
16908
+ return result
16909
+
16910
+ def from_map(self, m: dict = None):
16911
+ m = m or dict()
16912
+ if m.get('headers') is not None:
16913
+ self.headers = m.get('headers')
16914
+ if m.get('statusCode') is not None:
16915
+ self.status_code = m.get('statusCode')
16916
+ return self
16917
+
16918
+
16483
16919
  class PutProjectPolicyRequest(TeaModel):
16484
16920
  def __init__(
16485
16921
  self,
@@ -16697,6 +17133,7 @@ class RefreshTokenRequest(TeaModel):
16697
17133
  ticket: str = None,
16698
17134
  ):
16699
17135
  self.access_token_expiration_time = access_token_expiration_time
17136
+ # The ticket that is used for logon-free access.
16700
17137
  self.ticket = ticket
16701
17138
 
16702
17139
  def validate(self):
@@ -17766,7 +18203,7 @@ class UpdateDashboardRequest(TeaModel):
17766
18203
  description: str = None,
17767
18204
  display_name: str = None,
17768
18205
  ):
17769
- # The attributes of the dashboard.
18206
+ # The attribute values of the dashboard.
17770
18207
  self.attribute = attribute
17771
18208
  # The charts on the dashboard.
17772
18209
  #
@@ -18011,7 +18448,6 @@ class UpdateLogStoreRequest(TeaModel):
18011
18448
  logstore_name: str = None,
18012
18449
  max_split_shard: int = None,
18013
18450
  mode: str = None,
18014
- processor_id: str = None,
18015
18451
  shard_count: int = None,
18016
18452
  telemetry_type: str = None,
18017
18453
  ttl: int = None,
@@ -18050,7 +18486,6 @@ class UpdateLogStoreRequest(TeaModel):
18050
18486
  # * **standard**: Standard Logstore. This type of Logstore supports the log analysis feature and is suitable for scenarios such as real-time monitoring and interactive analysis. You can also use this type of Logstore to build a comprehensive observability system.
18051
18487
  # * **query**: Query Logstore. This type of Logstore supports high-performance queries. The index traffic fee of a Query Logstore is approximately half that of a Standard Logstore. Query Logstores do not support SQL analysis. Query Logstores are suitable for scenarios in which the amount of data is large, the log retention period is long, or log analysis is not required. If logs are stored for weeks or months, the log retention period is considered long.
18052
18488
  self.mode = mode
18053
- self.processor_id = processor_id
18054
18489
  # The number of shards.
18055
18490
  #
18056
18491
  # > You cannot call the UpdateLogStore operation to change the number of shards. You can call the SplitShard or MergeShards operation to change the number of shards.
@@ -18093,8 +18528,6 @@ class UpdateLogStoreRequest(TeaModel):
18093
18528
  result['maxSplitShard'] = self.max_split_shard
18094
18529
  if self.mode is not None:
18095
18530
  result['mode'] = self.mode
18096
- if self.processor_id is not None:
18097
- result['processorId'] = self.processor_id
18098
18531
  if self.shard_count is not None:
18099
18532
  result['shardCount'] = self.shard_count
18100
18533
  if self.telemetry_type is not None:
@@ -18124,8 +18557,6 @@ class UpdateLogStoreRequest(TeaModel):
18124
18557
  self.max_split_shard = m.get('maxSplitShard')
18125
18558
  if m.get('mode') is not None:
18126
18559
  self.mode = m.get('mode')
18127
- if m.get('processorId') is not None:
18128
- self.processor_id = m.get('processorId')
18129
18560
  if m.get('shardCount') is not None:
18130
18561
  self.shard_count = m.get('shardCount')
18131
18562
  if m.get('telemetryType') is not None:
@@ -18168,6 +18599,120 @@ class UpdateLogStoreResponse(TeaModel):
18168
18599
  return self
18169
18600
 
18170
18601
 
18602
+ class UpdateLogStoreEncryptionRequestUserCmkInfo(TeaModel):
18603
+ def __init__(
18604
+ self,
18605
+ key_id: str = None,
18606
+ region_id: str = None,
18607
+ role_arn: str = None,
18608
+ ):
18609
+ self.key_id = key_id
18610
+ self.region_id = region_id
18611
+ self.role_arn = role_arn
18612
+
18613
+ def validate(self):
18614
+ pass
18615
+
18616
+ def to_map(self):
18617
+ _map = super().to_map()
18618
+ if _map is not None:
18619
+ return _map
18620
+
18621
+ result = dict()
18622
+ if self.key_id is not None:
18623
+ result['keyId'] = self.key_id
18624
+ if self.region_id is not None:
18625
+ result['regionId'] = self.region_id
18626
+ if self.role_arn is not None:
18627
+ result['roleArn'] = self.role_arn
18628
+ return result
18629
+
18630
+ def from_map(self, m: dict = None):
18631
+ m = m or dict()
18632
+ if m.get('keyId') is not None:
18633
+ self.key_id = m.get('keyId')
18634
+ if m.get('regionId') is not None:
18635
+ self.region_id = m.get('regionId')
18636
+ if m.get('roleArn') is not None:
18637
+ self.role_arn = m.get('roleArn')
18638
+ return self
18639
+
18640
+
18641
+ class UpdateLogStoreEncryptionRequest(TeaModel):
18642
+ def __init__(
18643
+ self,
18644
+ enable: bool = None,
18645
+ encrypt_type: str = None,
18646
+ user_cmk_info: UpdateLogStoreEncryptionRequestUserCmkInfo = None,
18647
+ ):
18648
+ # This parameter is required.
18649
+ self.enable = enable
18650
+ self.encrypt_type = encrypt_type
18651
+ self.user_cmk_info = user_cmk_info
18652
+
18653
+ def validate(self):
18654
+ if self.user_cmk_info:
18655
+ self.user_cmk_info.validate()
18656
+
18657
+ def to_map(self):
18658
+ _map = super().to_map()
18659
+ if _map is not None:
18660
+ return _map
18661
+
18662
+ result = dict()
18663
+ if self.enable is not None:
18664
+ result['enable'] = self.enable
18665
+ if self.encrypt_type is not None:
18666
+ result['encryptType'] = self.encrypt_type
18667
+ if self.user_cmk_info is not None:
18668
+ result['userCmkInfo'] = self.user_cmk_info.to_map()
18669
+ return result
18670
+
18671
+ def from_map(self, m: dict = None):
18672
+ m = m or dict()
18673
+ if m.get('enable') is not None:
18674
+ self.enable = m.get('enable')
18675
+ if m.get('encryptType') is not None:
18676
+ self.encrypt_type = m.get('encryptType')
18677
+ if m.get('userCmkInfo') is not None:
18678
+ temp_model = UpdateLogStoreEncryptionRequestUserCmkInfo()
18679
+ self.user_cmk_info = temp_model.from_map(m['userCmkInfo'])
18680
+ return self
18681
+
18682
+
18683
+ class UpdateLogStoreEncryptionResponse(TeaModel):
18684
+ def __init__(
18685
+ self,
18686
+ headers: Dict[str, str] = None,
18687
+ status_code: int = None,
18688
+ ):
18689
+ self.headers = headers
18690
+ self.status_code = status_code
18691
+
18692
+ def validate(self):
18693
+ pass
18694
+
18695
+ def to_map(self):
18696
+ _map = super().to_map()
18697
+ if _map is not None:
18698
+ return _map
18699
+
18700
+ result = dict()
18701
+ if self.headers is not None:
18702
+ result['headers'] = self.headers
18703
+ if self.status_code is not None:
18704
+ result['statusCode'] = self.status_code
18705
+ return result
18706
+
18707
+ def from_map(self, m: dict = None):
18708
+ m = m or dict()
18709
+ if m.get('headers') is not None:
18710
+ self.headers = m.get('headers')
18711
+ if m.get('statusCode') is not None:
18712
+ self.status_code = m.get('statusCode')
18713
+ return self
18714
+
18715
+
18171
18716
  class UpdateLogStoreMeteringModeRequest(TeaModel):
18172
18717
  def __init__(
18173
18718
  self,
@@ -18371,24 +18916,49 @@ class UpdateLogtailPipelineConfigRequest(TeaModel):
18371
18916
  processors: List[Dict[str, Any]] = None,
18372
18917
  ):
18373
18918
  # The aggregation plug-ins.
18919
+ #
18920
+ # > This parameter takes effect only when extended plug-ins are used. You can use only one aggregation plug-in.
18374
18921
  self.aggregators = aggregators
18375
18922
  # The name of the configuration.
18376
18923
  #
18924
+ # > The value of this parameter must be the same as the value of configName in the outer layer.
18925
+ #
18377
18926
  # This parameter is required.
18378
18927
  self.config_name = config_name
18379
- # The data output plug-ins.
18928
+ # The output plug-ins.
18929
+ #
18930
+ # > You can use only one Simple Log Service output plug-in.
18380
18931
  #
18381
18932
  # This parameter is required.
18382
18933
  self.flushers = flushers
18383
- # The global configuration.
18934
+ # The global settings.
18935
+ #
18936
+ # **\
18937
+ #
18938
+ # ****\
18384
18939
  self.global_ = global_
18385
- # The data source plug-ins.
18940
+ # The input plug-ins.
18941
+ #
18942
+ # > You can configure only one input plug-in.
18386
18943
  #
18387
18944
  # This parameter is required.
18388
18945
  self.inputs = inputs
18389
- # The sample log.
18946
+ # The sample log. You can specify multiple sample logs.
18390
18947
  self.log_sample = log_sample
18391
18948
  # The processing plug-ins.
18949
+ #
18950
+ # > Logtail supports native plug-ins and extended plug-ins for data processing. For more information, see [Logtail plug-ins overview](https://help.aliyun.com/document_detail/64957.html).
18951
+ #
18952
+ # >
18953
+ #
18954
+ # * You can use native plug-ins only to collect text logs.
18955
+ #
18956
+ # * You cannot add native plug-ins and extended plug-ins at the same time.
18957
+ #
18958
+ # * When you add native plug-ins, take note of the following items:
18959
+ #
18960
+ # * You must add one of the following Logtail plug-ins for data processing as the first plug-in: Data Parsing (Regex Mode), Data Parsing (Delimiter Mode), Data Parsing (JSON Mode), Data Parsing (NGINX Mode), Data Parsing (Apache Mode), and Data Parsing (IIS Mode).
18961
+ # * After you add the first plug-in, you can add one Time Parsing plug-in, one Data Filtering plug-in, and multiple Data Masking plug-ins.
18392
18962
  self.processors = processors
18393
18963
 
18394
18964
  def validate(self):
@@ -18684,9 +19254,13 @@ class UpdateMetricStoreRequest(TeaModel):
18684
19254
  mode: str = None,
18685
19255
  ttl: int = None,
18686
19256
  ):
19257
+ # Specifies whether to enable automatic sharding.
18687
19258
  self.auto_split = auto_split
19259
+ # The maximum number of shards into which existing shards can be automatically split. This parameter is valid only when you set the autoSplit parameter to true.
18688
19260
  self.max_split_shard = max_split_shard
19261
+ # The type of the Metricstore.
18689
19262
  self.mode = mode
19263
+ # The retention period of the metric data. Unit: days.
18690
19264
  self.ttl = ttl
18691
19265
 
18692
19266
  def validate(self):
@@ -19528,9 +20102,7 @@ class UpdateSavedSearchRequest(TeaModel):
19528
20102
  #
19529
20103
  # This parameter is required.
19530
20104
  self.savedsearch_name = savedsearch_name
19531
- # The search statement or the query statement of the saved search. A query statement consists of a search statement and an analytic statement in the Search statement|Analytic statement format.
19532
- #
19533
- # For more information, see Log search overview and Log analysis overview.
20105
+ # The query statement of the saved search. A query statement consists of a search statement and an analytic statement in the Search statement|Analytic statement format. For more information, see [Log search overview](https://help.aliyun.com/document_detail/43772.html) and [Log analysis overview](https://help.aliyun.com/document_detail/53608.html).
19534
20106
  #
19535
20107
  # This parameter is required.
19536
20108
  self.search_query = search_query