antchain-bot 1.11.19__py3-none-any.whl → 1.11.39__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.
@@ -1870,6 +1870,136 @@ class CodeListView(TeaModel):
1870
1870
  return self
1871
1871
 
1872
1872
 
1873
+ class IotbasicAppManagerPageInfo(TeaModel):
1874
+ def __init__(
1875
+ self,
1876
+ file_format: str = None,
1877
+ file_size: int = None,
1878
+ module_name: str = None,
1879
+ device_category: str = None,
1880
+ device_category_name: str = None,
1881
+ package_name: str = None,
1882
+ remark: str = None,
1883
+ apk_version: str = None,
1884
+ apk_type: int = None,
1885
+ apk_name: str = None,
1886
+ apk_id: str = None,
1887
+ download_count: int = None,
1888
+ install_count: int = None,
1889
+ device_model: str = None,
1890
+ ):
1891
+ # 应用类型
1892
+ self.file_format = file_format
1893
+ # 应用大小
1894
+ self.file_size = file_size
1895
+ # 应用模块名称
1896
+ self.module_name = module_name
1897
+ # 设备品类code
1898
+ self.device_category = device_category
1899
+ # 设备品类名称
1900
+ self.device_category_name = device_category_name
1901
+ # 应用模块包名
1902
+ self.package_name = package_name
1903
+ # 应用描述
1904
+ self.remark = remark
1905
+ # 应用版本号
1906
+ self.apk_version = apk_version
1907
+ # 应用包类型(整包:0/差分:1)
1908
+ self.apk_type = apk_type
1909
+ # 应用名称
1910
+ self.apk_name = apk_name
1911
+ # 应用包id
1912
+ self.apk_id = apk_id
1913
+ # 下载次数
1914
+ self.download_count = download_count
1915
+ # 安装次数
1916
+ self.install_count = install_count
1917
+ # 设备型号
1918
+ self.device_model = device_model
1919
+
1920
+ def validate(self):
1921
+ self.validate_required(self.file_format, 'file_format')
1922
+ self.validate_required(self.file_size, 'file_size')
1923
+ self.validate_required(self.module_name, 'module_name')
1924
+ self.validate_required(self.device_category, 'device_category')
1925
+ self.validate_required(self.device_category_name, 'device_category_name')
1926
+ self.validate_required(self.package_name, 'package_name')
1927
+ self.validate_required(self.apk_version, 'apk_version')
1928
+ self.validate_required(self.apk_type, 'apk_type')
1929
+ self.validate_required(self.apk_name, 'apk_name')
1930
+ self.validate_required(self.apk_id, 'apk_id')
1931
+ self.validate_required(self.download_count, 'download_count')
1932
+ self.validate_required(self.install_count, 'install_count')
1933
+
1934
+ def to_map(self):
1935
+ _map = super().to_map()
1936
+ if _map is not None:
1937
+ return _map
1938
+
1939
+ result = dict()
1940
+ if self.file_format is not None:
1941
+ result['file_format'] = self.file_format
1942
+ if self.file_size is not None:
1943
+ result['file_size'] = self.file_size
1944
+ if self.module_name is not None:
1945
+ result['module_name'] = self.module_name
1946
+ if self.device_category is not None:
1947
+ result['device_category'] = self.device_category
1948
+ if self.device_category_name is not None:
1949
+ result['device_category_name'] = self.device_category_name
1950
+ if self.package_name is not None:
1951
+ result['package_name'] = self.package_name
1952
+ if self.remark is not None:
1953
+ result['remark'] = self.remark
1954
+ if self.apk_version is not None:
1955
+ result['apk_version'] = self.apk_version
1956
+ if self.apk_type is not None:
1957
+ result['apk_type'] = self.apk_type
1958
+ if self.apk_name is not None:
1959
+ result['apk_name'] = self.apk_name
1960
+ if self.apk_id is not None:
1961
+ result['apk_id'] = self.apk_id
1962
+ if self.download_count is not None:
1963
+ result['download_count'] = self.download_count
1964
+ if self.install_count is not None:
1965
+ result['install_count'] = self.install_count
1966
+ if self.device_model is not None:
1967
+ result['device_model'] = self.device_model
1968
+ return result
1969
+
1970
+ def from_map(self, m: dict = None):
1971
+ m = m or dict()
1972
+ if m.get('file_format') is not None:
1973
+ self.file_format = m.get('file_format')
1974
+ if m.get('file_size') is not None:
1975
+ self.file_size = m.get('file_size')
1976
+ if m.get('module_name') is not None:
1977
+ self.module_name = m.get('module_name')
1978
+ if m.get('device_category') is not None:
1979
+ self.device_category = m.get('device_category')
1980
+ if m.get('device_category_name') is not None:
1981
+ self.device_category_name = m.get('device_category_name')
1982
+ if m.get('package_name') is not None:
1983
+ self.package_name = m.get('package_name')
1984
+ if m.get('remark') is not None:
1985
+ self.remark = m.get('remark')
1986
+ if m.get('apk_version') is not None:
1987
+ self.apk_version = m.get('apk_version')
1988
+ if m.get('apk_type') is not None:
1989
+ self.apk_type = m.get('apk_type')
1990
+ if m.get('apk_name') is not None:
1991
+ self.apk_name = m.get('apk_name')
1992
+ if m.get('apk_id') is not None:
1993
+ self.apk_id = m.get('apk_id')
1994
+ if m.get('download_count') is not None:
1995
+ self.download_count = m.get('download_count')
1996
+ if m.get('install_count') is not None:
1997
+ self.install_count = m.get('install_count')
1998
+ if m.get('device_model') is not None:
1999
+ self.device_model = m.get('device_model')
2000
+ return self
2001
+
2002
+
1873
2003
  class IotBasicDeviceQueryResponse(TeaModel):
1874
2004
  def __init__(
1875
2005
  self,
@@ -2607,6 +2737,106 @@ class PurchaseOrderInfoDetail(TeaModel):
2607
2737
  return self
2608
2738
 
2609
2739
 
2740
+ class IotbasicReleaseOrderInfo(TeaModel):
2741
+ def __init__(
2742
+ self,
2743
+ apk_name: str = None,
2744
+ apk_version: str = None,
2745
+ order_id: str = None,
2746
+ order_name: str = None,
2747
+ status: str = None,
2748
+ release_time: str = None,
2749
+ release_total: int = None,
2750
+ release_finished: int = None,
2751
+ status_change_time: str = None,
2752
+ ):
2753
+ # 应用名称
2754
+ self.apk_name = apk_name
2755
+ # 应用版本号
2756
+ self.apk_version = apk_version
2757
+ # 工单id
2758
+ self.order_id = order_id
2759
+ # 工单名称
2760
+ self.order_name = order_name
2761
+ # 发布批次状态
2762
+ # 升级中:IN_PROGRESS
2763
+ # 取消中:CANCELING
2764
+ # 部分成功:PARTIAL_SUCCESS
2765
+ # 部分失败:PARTIAL_FAILED
2766
+ # 部分取消:PARTIAL_CANCELED
2767
+ # 全部成功:ALL_SUCCESS
2768
+ # 全部失败:ALL_FAILED
2769
+ # 全部取消:ALL_CANCELED
2770
+ self.status = status
2771
+ # 发布时间
2772
+ self.release_time = release_time
2773
+ # 设备升级总数
2774
+ self.release_total = release_total
2775
+ # 设备升级完成数
2776
+ self.release_finished = release_finished
2777
+ # 工单状态变更时间
2778
+ self.status_change_time = status_change_time
2779
+
2780
+ def validate(self):
2781
+ self.validate_required(self.apk_name, 'apk_name')
2782
+ self.validate_required(self.apk_version, 'apk_version')
2783
+ self.validate_required(self.order_id, 'order_id')
2784
+ self.validate_required(self.order_name, 'order_name')
2785
+ self.validate_required(self.status, 'status')
2786
+ self.validate_required(self.release_time, 'release_time')
2787
+ self.validate_required(self.release_total, 'release_total')
2788
+ self.validate_required(self.release_finished, 'release_finished')
2789
+ self.validate_required(self.status_change_time, 'status_change_time')
2790
+
2791
+ def to_map(self):
2792
+ _map = super().to_map()
2793
+ if _map is not None:
2794
+ return _map
2795
+
2796
+ result = dict()
2797
+ if self.apk_name is not None:
2798
+ result['apk_name'] = self.apk_name
2799
+ if self.apk_version is not None:
2800
+ result['apk_version'] = self.apk_version
2801
+ if self.order_id is not None:
2802
+ result['order_id'] = self.order_id
2803
+ if self.order_name is not None:
2804
+ result['order_name'] = self.order_name
2805
+ if self.status is not None:
2806
+ result['status'] = self.status
2807
+ if self.release_time is not None:
2808
+ result['release_time'] = self.release_time
2809
+ if self.release_total is not None:
2810
+ result['release_total'] = self.release_total
2811
+ if self.release_finished is not None:
2812
+ result['release_finished'] = self.release_finished
2813
+ if self.status_change_time is not None:
2814
+ result['status_change_time'] = self.status_change_time
2815
+ return result
2816
+
2817
+ def from_map(self, m: dict = None):
2818
+ m = m or dict()
2819
+ if m.get('apk_name') is not None:
2820
+ self.apk_name = m.get('apk_name')
2821
+ if m.get('apk_version') is not None:
2822
+ self.apk_version = m.get('apk_version')
2823
+ if m.get('order_id') is not None:
2824
+ self.order_id = m.get('order_id')
2825
+ if m.get('order_name') is not None:
2826
+ self.order_name = m.get('order_name')
2827
+ if m.get('status') is not None:
2828
+ self.status = m.get('status')
2829
+ if m.get('release_time') is not None:
2830
+ self.release_time = m.get('release_time')
2831
+ if m.get('release_total') is not None:
2832
+ self.release_total = m.get('release_total')
2833
+ if m.get('release_finished') is not None:
2834
+ self.release_finished = m.get('release_finished')
2835
+ if m.get('status_change_time') is not None:
2836
+ self.status_change_time = m.get('status_change_time')
2837
+ return self
2838
+
2839
+
2610
2840
  class ProjectSpaceInfo(TeaModel):
2611
2841
  def __init__(
2612
2842
  self,
@@ -6338,6 +6568,41 @@ class JtDevice(TeaModel):
6338
6568
  return self
6339
6569
 
6340
6570
 
6571
+ class IotbasicOtaModuleInfo(TeaModel):
6572
+ def __init__(
6573
+ self,
6574
+ module_name: str = None,
6575
+ last_version: str = None,
6576
+ ):
6577
+ # OTA模块名称
6578
+ self.module_name = module_name
6579
+ # 最新版本号
6580
+ self.last_version = last_version
6581
+
6582
+ def validate(self):
6583
+ self.validate_required(self.module_name, 'module_name')
6584
+
6585
+ def to_map(self):
6586
+ _map = super().to_map()
6587
+ if _map is not None:
6588
+ return _map
6589
+
6590
+ result = dict()
6591
+ if self.module_name is not None:
6592
+ result['module_name'] = self.module_name
6593
+ if self.last_version is not None:
6594
+ result['last_version'] = self.last_version
6595
+ return result
6596
+
6597
+ def from_map(self, m: dict = None):
6598
+ m = m or dict()
6599
+ if m.get('module_name') is not None:
6600
+ self.module_name = m.get('module_name')
6601
+ if m.get('last_version') is not None:
6602
+ self.last_version = m.get('last_version')
6603
+ return self
6604
+
6605
+
6341
6606
  class ComputerInfo(TeaModel):
6342
6607
  def __init__(
6343
6608
  self,
@@ -6740,6 +7005,120 @@ class GoodsDigitalFingerprintRegisterResultData(TeaModel):
6740
7005
  return self
6741
7006
 
6742
7007
 
7008
+ class IotbasicReleaseDeviceInfo(TeaModel):
7009
+ def __init__(
7010
+ self,
7011
+ apk_name: str = None,
7012
+ apk_version: str = None,
7013
+ order_id: str = None,
7014
+ order_name: str = None,
7015
+ task_id: str = None,
7016
+ order_detail_id: str = None,
7017
+ device_sn: str = None,
7018
+ device_id: str = None,
7019
+ status: str = None,
7020
+ release_time: str = None,
7021
+ upgrade_time: str = None,
7022
+ ):
7023
+ # 应用名称
7024
+ self.apk_name = apk_name
7025
+ # 应用版本号
7026
+ self.apk_version = apk_version
7027
+ # 工单id
7028
+ self.order_id = order_id
7029
+ # 工单名称
7030
+ self.order_name = order_name
7031
+ # 任务id
7032
+ self.task_id = task_id
7033
+ # 设备升级任务唯一id
7034
+ self.order_detail_id = order_detail_id
7035
+ # 设备sn
7036
+ self.device_sn = device_sn
7037
+ # 设备id
7038
+ self.device_id = device_id
7039
+ # 设备升级状态
7040
+ # 待确认:CONFIRM
7041
+ # 待推送:QUEUED
7042
+ # 已推送:NOTIFIED
7043
+ # 升级中:IN_PROGRESS
7044
+ # 升级成功:SUCCEEDED
7045
+ # 升级失败:FAILED
7046
+ # 已取消:CANCELED
7047
+ # 升级超时:TIMEOUT
7048
+ self.status = status
7049
+ # 发布时间
7050
+ self.release_time = release_time
7051
+ # 升级完成时间
7052
+ self.upgrade_time = upgrade_time
7053
+
7054
+ def validate(self):
7055
+ self.validate_required(self.apk_name, 'apk_name')
7056
+ self.validate_required(self.apk_version, 'apk_version')
7057
+ self.validate_required(self.order_id, 'order_id')
7058
+ self.validate_required(self.order_name, 'order_name')
7059
+ self.validate_required(self.task_id, 'task_id')
7060
+ self.validate_required(self.order_detail_id, 'order_detail_id')
7061
+ self.validate_required(self.device_sn, 'device_sn')
7062
+ self.validate_required(self.device_id, 'device_id')
7063
+ self.validate_required(self.status, 'status')
7064
+
7065
+ def to_map(self):
7066
+ _map = super().to_map()
7067
+ if _map is not None:
7068
+ return _map
7069
+
7070
+ result = dict()
7071
+ if self.apk_name is not None:
7072
+ result['apk_name'] = self.apk_name
7073
+ if self.apk_version is not None:
7074
+ result['apk_version'] = self.apk_version
7075
+ if self.order_id is not None:
7076
+ result['order_id'] = self.order_id
7077
+ if self.order_name is not None:
7078
+ result['order_name'] = self.order_name
7079
+ if self.task_id is not None:
7080
+ result['task_id'] = self.task_id
7081
+ if self.order_detail_id is not None:
7082
+ result['order_detail_id'] = self.order_detail_id
7083
+ if self.device_sn is not None:
7084
+ result['device_sn'] = self.device_sn
7085
+ if self.device_id is not None:
7086
+ result['device_id'] = self.device_id
7087
+ if self.status is not None:
7088
+ result['status'] = self.status
7089
+ if self.release_time is not None:
7090
+ result['release_time'] = self.release_time
7091
+ if self.upgrade_time is not None:
7092
+ result['upgrade_time'] = self.upgrade_time
7093
+ return result
7094
+
7095
+ def from_map(self, m: dict = None):
7096
+ m = m or dict()
7097
+ if m.get('apk_name') is not None:
7098
+ self.apk_name = m.get('apk_name')
7099
+ if m.get('apk_version') is not None:
7100
+ self.apk_version = m.get('apk_version')
7101
+ if m.get('order_id') is not None:
7102
+ self.order_id = m.get('order_id')
7103
+ if m.get('order_name') is not None:
7104
+ self.order_name = m.get('order_name')
7105
+ if m.get('task_id') is not None:
7106
+ self.task_id = m.get('task_id')
7107
+ if m.get('order_detail_id') is not None:
7108
+ self.order_detail_id = m.get('order_detail_id')
7109
+ if m.get('device_sn') is not None:
7110
+ self.device_sn = m.get('device_sn')
7111
+ if m.get('device_id') is not None:
7112
+ self.device_id = m.get('device_id')
7113
+ if m.get('status') is not None:
7114
+ self.status = m.get('status')
7115
+ if m.get('release_time') is not None:
7116
+ self.release_time = m.get('release_time')
7117
+ if m.get('upgrade_time') is not None:
7118
+ self.upgrade_time = m.get('upgrade_time')
7119
+ return self
7120
+
7121
+
6743
7122
  class TenantProjectCreateReq(TeaModel):
6744
7123
  def __init__(
6745
7124
  self,
@@ -7824,6 +8203,55 @@ class OrderPushInfo(TeaModel):
7824
8203
  return self
7825
8204
 
7826
8205
 
8206
+ class SkuGrantStockInfoResp(TeaModel):
8207
+ def __init__(
8208
+ self,
8209
+ product_model: str = None,
8210
+ product_form: str = None,
8211
+ features: List[str] = None,
8212
+ cert_num: int = None,
8213
+ ):
8214
+ # 产品型号
8215
+ self.product_model = product_model
8216
+ # 产品形式,取值范围: SOFTWARE_HARDWARE:软硬一体(SE方案), SOFTWARE:纯软(非SE方案)
8217
+ self.product_form = product_form
8218
+ # 凭证种类列表,取值范围: ["PAYMENT"]:支付码, ["PAYMENT","TRANSIT"]:支付码+乘车码
8219
+ self.features = features
8220
+ # 授权数量(指当前证书凭证种类下未消耗的证书数量)
8221
+ self.cert_num = cert_num
8222
+
8223
+ def validate(self):
8224
+ pass
8225
+
8226
+ def to_map(self):
8227
+ _map = super().to_map()
8228
+ if _map is not None:
8229
+ return _map
8230
+
8231
+ result = dict()
8232
+ if self.product_model is not None:
8233
+ result['product_model'] = self.product_model
8234
+ if self.product_form is not None:
8235
+ result['product_form'] = self.product_form
8236
+ if self.features is not None:
8237
+ result['features'] = self.features
8238
+ if self.cert_num is not None:
8239
+ result['cert_num'] = self.cert_num
8240
+ return result
8241
+
8242
+ def from_map(self, m: dict = None):
8243
+ m = m or dict()
8244
+ if m.get('product_model') is not None:
8245
+ self.product_model = m.get('product_model')
8246
+ if m.get('product_form') is not None:
8247
+ self.product_form = m.get('product_form')
8248
+ if m.get('features') is not None:
8249
+ self.features = m.get('features')
8250
+ if m.get('cert_num') is not None:
8251
+ self.cert_num = m.get('cert_num')
8252
+ return self
8253
+
8254
+
7827
8255
  class DeviceOrderResult(TeaModel):
7828
8256
  def __init__(
7829
8257
  self,
@@ -20586,19 +21014,16 @@ class QueryIotbasicCategorylistRequest(TeaModel):
20586
21014
  self,
20587
21015
  auth_token: str = None,
20588
21016
  product_instance_id: str = None,
20589
- industry: str = None,
20590
- scene: str = None,
21017
+ project_code: str = None,
20591
21018
  ):
20592
21019
  # OAuth模式下的授权token
20593
21020
  self.auth_token = auth_token
20594
21021
  self.product_instance_id = product_instance_id
20595
- # 行业
20596
- self.industry = industry
20597
- # 场景
20598
- self.scene = scene
21022
+ # 项目编码
21023
+ self.project_code = project_code
20599
21024
 
20600
21025
  def validate(self):
20601
- pass
21026
+ self.validate_required(self.project_code, 'project_code')
20602
21027
 
20603
21028
  def to_map(self):
20604
21029
  _map = super().to_map()
@@ -20610,10 +21035,8 @@ class QueryIotbasicCategorylistRequest(TeaModel):
20610
21035
  result['auth_token'] = self.auth_token
20611
21036
  if self.product_instance_id is not None:
20612
21037
  result['product_instance_id'] = self.product_instance_id
20613
- if self.industry is not None:
20614
- result['industry'] = self.industry
20615
- if self.scene is not None:
20616
- result['scene'] = self.scene
21038
+ if self.project_code is not None:
21039
+ result['project_code'] = self.project_code
20617
21040
  return result
20618
21041
 
20619
21042
  def from_map(self, m: dict = None):
@@ -20622,10 +21045,8 @@ class QueryIotbasicCategorylistRequest(TeaModel):
20622
21045
  self.auth_token = m.get('auth_token')
20623
21046
  if m.get('product_instance_id') is not None:
20624
21047
  self.product_instance_id = m.get('product_instance_id')
20625
- if m.get('industry') is not None:
20626
- self.industry = m.get('industry')
20627
- if m.get('scene') is not None:
20628
- self.scene = m.get('scene')
21048
+ if m.get('project_code') is not None:
21049
+ self.project_code = m.get('project_code')
20629
21050
  return self
20630
21051
 
20631
21052
 
@@ -24279,7 +24700,7 @@ class GetDigitalkeyDeviceinfoResponse(TeaModel):
24279
24700
  return self
24280
24701
 
24281
24702
 
24282
- class UploadIotbasicAppmanagerfileRequest(TeaModel):
24703
+ class CreateIotlinkAppmanagerRequest(TeaModel):
24283
24704
  def __init__(
24284
24705
  self,
24285
24706
  auth_token: str = None,
@@ -24287,7 +24708,14 @@ class UploadIotbasicAppmanagerfileRequest(TeaModel):
24287
24708
  file_object: BinaryIO = None,
24288
24709
  file_object_name: str = None,
24289
24710
  file_id: str = None,
24290
- biz_type: str = None,
24711
+ module_name: str = None,
24712
+ apk_name: str = None,
24713
+ category_code: str = None,
24714
+ device_model_value: str = None,
24715
+ remark: str = None,
24716
+ apk_version: str = None,
24717
+ project_code: str = None,
24718
+ file_url: str = None,
24291
24719
  ):
24292
24720
  # OAuth模式下的授权token
24293
24721
  self.auth_token = auth_token
@@ -24298,12 +24726,30 @@ class UploadIotbasicAppmanagerfileRequest(TeaModel):
24298
24726
  # 待上传文件名
24299
24727
  self.file_object_name = file_object_name
24300
24728
  self.file_id = file_id
24301
- # 应用模块名称,由查询应用类型列表获取
24302
- self.biz_type = biz_type
24729
+ # 应用模块名称,由查询应用类型列表获取。默认使用default模块
24730
+ self.module_name = module_name
24731
+ # OTA升级包名称,需在iot账号下唯一,创建后不可修改。支持中文、英文字母、日文、数字、短划线(-)、下划线(_)和半角圆括号(()),必须以中文、英文、日文或数字开头,长度限制为1~40个字符。
24732
+ self.apk_name = apk_name
24733
+ # 品类code
24734
+ self.category_code = category_code
24735
+ # 设备型号值
24736
+ self.device_model_value = device_model_value
24737
+ # 应用包描述
24738
+ # 最大字符为100
24739
+ self.remark = remark
24740
+ # 当前OTA升级包的版本号,仅支持英文字母、数字、半角句号(.)、短划线(-)和下划线(_)。长度限制为1~64个字符。
24741
+ # 最新模块版本好可通过查询应用类型列表接口获取
24742
+ self.apk_version = apk_version
24743
+ # 项目编码
24744
+ self.project_code = project_code
24745
+ # 文件地址
24746
+ self.file_url = file_url
24303
24747
 
24304
24748
  def validate(self):
24305
- self.validate_required(self.file_id, 'file_id')
24306
- self.validate_required(self.biz_type, 'biz_type')
24749
+ self.validate_required(self.apk_name, 'apk_name')
24750
+ self.validate_required(self.category_code, 'category_code')
24751
+ self.validate_required(self.apk_version, 'apk_version')
24752
+ self.validate_required(self.project_code, 'project_code')
24307
24753
 
24308
24754
  def to_map(self):
24309
24755
  _map = super().to_map()
@@ -24321,8 +24767,22 @@ class UploadIotbasicAppmanagerfileRequest(TeaModel):
24321
24767
  result['fileObjectName'] = self.file_object_name
24322
24768
  if self.file_id is not None:
24323
24769
  result['file_id'] = self.file_id
24324
- if self.biz_type is not None:
24325
- result['biz_type'] = self.biz_type
24770
+ if self.module_name is not None:
24771
+ result['module_name'] = self.module_name
24772
+ if self.apk_name is not None:
24773
+ result['apk_name'] = self.apk_name
24774
+ if self.category_code is not None:
24775
+ result['category_code'] = self.category_code
24776
+ if self.device_model_value is not None:
24777
+ result['device_model_value'] = self.device_model_value
24778
+ if self.remark is not None:
24779
+ result['remark'] = self.remark
24780
+ if self.apk_version is not None:
24781
+ result['apk_version'] = self.apk_version
24782
+ if self.project_code is not None:
24783
+ result['project_code'] = self.project_code
24784
+ if self.file_url is not None:
24785
+ result['file_url'] = self.file_url
24326
24786
  return result
24327
24787
 
24328
24788
  def from_map(self, m: dict = None):
@@ -24337,12 +24797,26 @@ class UploadIotbasicAppmanagerfileRequest(TeaModel):
24337
24797
  self.file_object_name = m.get('fileObjectName')
24338
24798
  if m.get('file_id') is not None:
24339
24799
  self.file_id = m.get('file_id')
24340
- if m.get('biz_type') is not None:
24341
- self.biz_type = m.get('biz_type')
24800
+ if m.get('module_name') is not None:
24801
+ self.module_name = m.get('module_name')
24802
+ if m.get('apk_name') is not None:
24803
+ self.apk_name = m.get('apk_name')
24804
+ if m.get('category_code') is not None:
24805
+ self.category_code = m.get('category_code')
24806
+ if m.get('device_model_value') is not None:
24807
+ self.device_model_value = m.get('device_model_value')
24808
+ if m.get('remark') is not None:
24809
+ self.remark = m.get('remark')
24810
+ if m.get('apk_version') is not None:
24811
+ self.apk_version = m.get('apk_version')
24812
+ if m.get('project_code') is not None:
24813
+ self.project_code = m.get('project_code')
24814
+ if m.get('file_url') is not None:
24815
+ self.file_url = m.get('file_url')
24342
24816
  return self
24343
24817
 
24344
24818
 
24345
- class UploadIotbasicAppmanagerfileResponse(TeaModel):
24819
+ class CreateIotlinkAppmanagerResponse(TeaModel):
24346
24820
  def __init__(
24347
24821
  self,
24348
24822
  req_msg_id: str = None,
@@ -24359,7 +24833,7 @@ class UploadIotbasicAppmanagerfileResponse(TeaModel):
24359
24833
  self.result_msg = result_msg
24360
24834
  # 接口调用结果
24361
24835
  self.success = success
24362
- # 上传应用文件解析结果,json字符串
24836
+ # 文件id
24363
24837
  self.data = data
24364
24838
 
24365
24839
  def validate(self):
@@ -24398,6 +24872,1575 @@ class UploadIotbasicAppmanagerfileResponse(TeaModel):
24398
24872
  return self
24399
24873
 
24400
24874
 
24875
+ class ListIotlinkOtamoduleRequest(TeaModel):
24876
+ def __init__(
24877
+ self,
24878
+ auth_token: str = None,
24879
+ product_instance_id: str = None,
24880
+ category_code: str = None,
24881
+ ):
24882
+ # OAuth模式下的授权token
24883
+ self.auth_token = auth_token
24884
+ self.product_instance_id = product_instance_id
24885
+ # 品类code
24886
+ self.category_code = category_code
24887
+
24888
+ def validate(self):
24889
+ self.validate_required(self.category_code, 'category_code')
24890
+
24891
+ def to_map(self):
24892
+ _map = super().to_map()
24893
+ if _map is not None:
24894
+ return _map
24895
+
24896
+ result = dict()
24897
+ if self.auth_token is not None:
24898
+ result['auth_token'] = self.auth_token
24899
+ if self.product_instance_id is not None:
24900
+ result['product_instance_id'] = self.product_instance_id
24901
+ if self.category_code is not None:
24902
+ result['category_code'] = self.category_code
24903
+ return result
24904
+
24905
+ def from_map(self, m: dict = None):
24906
+ m = m or dict()
24907
+ if m.get('auth_token') is not None:
24908
+ self.auth_token = m.get('auth_token')
24909
+ if m.get('product_instance_id') is not None:
24910
+ self.product_instance_id = m.get('product_instance_id')
24911
+ if m.get('category_code') is not None:
24912
+ self.category_code = m.get('category_code')
24913
+ return self
24914
+
24915
+
24916
+ class ListIotlinkOtamoduleResponse(TeaModel):
24917
+ def __init__(
24918
+ self,
24919
+ req_msg_id: str = None,
24920
+ result_code: str = None,
24921
+ result_msg: str = None,
24922
+ success: bool = None,
24923
+ data: List[IotbasicOtaModuleInfo] = None,
24924
+ ):
24925
+ # 请求唯一ID,用于链路跟踪和问题排查
24926
+ self.req_msg_id = req_msg_id
24927
+ # 结果码,一般OK表示调用成功
24928
+ self.result_code = result_code
24929
+ # 异常信息的文本描述
24930
+ self.result_msg = result_msg
24931
+ # 操作结果
24932
+ self.success = success
24933
+ # 应用模块列表
24934
+ self.data = data
24935
+
24936
+ def validate(self):
24937
+ if self.data:
24938
+ for k in self.data:
24939
+ if k:
24940
+ k.validate()
24941
+
24942
+ def to_map(self):
24943
+ _map = super().to_map()
24944
+ if _map is not None:
24945
+ return _map
24946
+
24947
+ result = dict()
24948
+ if self.req_msg_id is not None:
24949
+ result['req_msg_id'] = self.req_msg_id
24950
+ if self.result_code is not None:
24951
+ result['result_code'] = self.result_code
24952
+ if self.result_msg is not None:
24953
+ result['result_msg'] = self.result_msg
24954
+ if self.success is not None:
24955
+ result['success'] = self.success
24956
+ result['data'] = []
24957
+ if self.data is not None:
24958
+ for k in self.data:
24959
+ result['data'].append(k.to_map() if k else None)
24960
+ return result
24961
+
24962
+ def from_map(self, m: dict = None):
24963
+ m = m or dict()
24964
+ if m.get('req_msg_id') is not None:
24965
+ self.req_msg_id = m.get('req_msg_id')
24966
+ if m.get('result_code') is not None:
24967
+ self.result_code = m.get('result_code')
24968
+ if m.get('result_msg') is not None:
24969
+ self.result_msg = m.get('result_msg')
24970
+ if m.get('success') is not None:
24971
+ self.success = m.get('success')
24972
+ self.data = []
24973
+ if m.get('data') is not None:
24974
+ for k in m.get('data'):
24975
+ temp_model = IotbasicOtaModuleInfo()
24976
+ self.data.append(temp_model.from_map(k))
24977
+ return self
24978
+
24979
+
24980
+ class PagequeryIotlinkAppmanagerRequest(TeaModel):
24981
+ def __init__(
24982
+ self,
24983
+ auth_token: str = None,
24984
+ product_instance_id: str = None,
24985
+ project_space: str = None,
24986
+ apk_name: str = None,
24987
+ apk_version: str = None,
24988
+ current: int = None,
24989
+ page_size: int = None,
24990
+ category_code: str = None,
24991
+ module_name: str = None,
24992
+ ):
24993
+ # OAuth模式下的授权token
24994
+ self.auth_token = auth_token
24995
+ self.product_instance_id = product_instance_id
24996
+ # 所属项目空间
24997
+ self.project_space = project_space
24998
+ # 应用名称
24999
+ self.apk_name = apk_name
25000
+ # 应用版本号
25001
+ self.apk_version = apk_version
25002
+ # 当前页
25003
+ # 默认第一页
25004
+ self.current = current
25005
+ # 每页数量
25006
+ # 默认20条,最大100条
25007
+ self.page_size = page_size
25008
+ # 品类code
25009
+ self.category_code = category_code
25010
+ # 应用模块名称,由查询应用类型列表获取
25011
+ self.module_name = module_name
25012
+
25013
+ def validate(self):
25014
+ self.validate_required(self.project_space, 'project_space')
25015
+ self.validate_required(self.current, 'current')
25016
+ self.validate_required(self.page_size, 'page_size')
25017
+
25018
+ def to_map(self):
25019
+ _map = super().to_map()
25020
+ if _map is not None:
25021
+ return _map
25022
+
25023
+ result = dict()
25024
+ if self.auth_token is not None:
25025
+ result['auth_token'] = self.auth_token
25026
+ if self.product_instance_id is not None:
25027
+ result['product_instance_id'] = self.product_instance_id
25028
+ if self.project_space is not None:
25029
+ result['project_space'] = self.project_space
25030
+ if self.apk_name is not None:
25031
+ result['apk_name'] = self.apk_name
25032
+ if self.apk_version is not None:
25033
+ result['apk_version'] = self.apk_version
25034
+ if self.current is not None:
25035
+ result['current'] = self.current
25036
+ if self.page_size is not None:
25037
+ result['page_size'] = self.page_size
25038
+ if self.category_code is not None:
25039
+ result['category_code'] = self.category_code
25040
+ if self.module_name is not None:
25041
+ result['module_name'] = self.module_name
25042
+ return result
25043
+
25044
+ def from_map(self, m: dict = None):
25045
+ m = m or dict()
25046
+ if m.get('auth_token') is not None:
25047
+ self.auth_token = m.get('auth_token')
25048
+ if m.get('product_instance_id') is not None:
25049
+ self.product_instance_id = m.get('product_instance_id')
25050
+ if m.get('project_space') is not None:
25051
+ self.project_space = m.get('project_space')
25052
+ if m.get('apk_name') is not None:
25053
+ self.apk_name = m.get('apk_name')
25054
+ if m.get('apk_version') is not None:
25055
+ self.apk_version = m.get('apk_version')
25056
+ if m.get('current') is not None:
25057
+ self.current = m.get('current')
25058
+ if m.get('page_size') is not None:
25059
+ self.page_size = m.get('page_size')
25060
+ if m.get('category_code') is not None:
25061
+ self.category_code = m.get('category_code')
25062
+ if m.get('module_name') is not None:
25063
+ self.module_name = m.get('module_name')
25064
+ return self
25065
+
25066
+
25067
+ class PagequeryIotlinkAppmanagerResponse(TeaModel):
25068
+ def __init__(
25069
+ self,
25070
+ req_msg_id: str = None,
25071
+ result_code: str = None,
25072
+ result_msg: str = None,
25073
+ success: bool = None,
25074
+ current: int = None,
25075
+ page_size: int = None,
25076
+ total: int = None,
25077
+ data: List[IotbasicAppManagerPageInfo] = None,
25078
+ ):
25079
+ # 请求唯一ID,用于链路跟踪和问题排查
25080
+ self.req_msg_id = req_msg_id
25081
+ # 结果码,一般OK表示调用成功
25082
+ self.result_code = result_code
25083
+ # 异常信息的文本描述
25084
+ self.result_msg = result_msg
25085
+ # 操作结果
25086
+ self.success = success
25087
+ # 当前页
25088
+ self.current = current
25089
+ # 每页数量
25090
+ self.page_size = page_size
25091
+ # 总数量
25092
+ self.total = total
25093
+ # 列表数据
25094
+ self.data = data
25095
+
25096
+ def validate(self):
25097
+ if self.data:
25098
+ for k in self.data:
25099
+ if k:
25100
+ k.validate()
25101
+
25102
+ def to_map(self):
25103
+ _map = super().to_map()
25104
+ if _map is not None:
25105
+ return _map
25106
+
25107
+ result = dict()
25108
+ if self.req_msg_id is not None:
25109
+ result['req_msg_id'] = self.req_msg_id
25110
+ if self.result_code is not None:
25111
+ result['result_code'] = self.result_code
25112
+ if self.result_msg is not None:
25113
+ result['result_msg'] = self.result_msg
25114
+ if self.success is not None:
25115
+ result['success'] = self.success
25116
+ if self.current is not None:
25117
+ result['current'] = self.current
25118
+ if self.page_size is not None:
25119
+ result['page_size'] = self.page_size
25120
+ if self.total is not None:
25121
+ result['total'] = self.total
25122
+ result['data'] = []
25123
+ if self.data is not None:
25124
+ for k in self.data:
25125
+ result['data'].append(k.to_map() if k else None)
25126
+ return result
25127
+
25128
+ def from_map(self, m: dict = None):
25129
+ m = m or dict()
25130
+ if m.get('req_msg_id') is not None:
25131
+ self.req_msg_id = m.get('req_msg_id')
25132
+ if m.get('result_code') is not None:
25133
+ self.result_code = m.get('result_code')
25134
+ if m.get('result_msg') is not None:
25135
+ self.result_msg = m.get('result_msg')
25136
+ if m.get('success') is not None:
25137
+ self.success = m.get('success')
25138
+ if m.get('current') is not None:
25139
+ self.current = m.get('current')
25140
+ if m.get('page_size') is not None:
25141
+ self.page_size = m.get('page_size')
25142
+ if m.get('total') is not None:
25143
+ self.total = m.get('total')
25144
+ self.data = []
25145
+ if m.get('data') is not None:
25146
+ for k in m.get('data'):
25147
+ temp_model = IotbasicAppManagerPageInfo()
25148
+ self.data.append(temp_model.from_map(k))
25149
+ return self
25150
+
25151
+
25152
+ class GetIotlinkAppmanagerfileurlRequest(TeaModel):
25153
+ def __init__(
25154
+ self,
25155
+ auth_token: str = None,
25156
+ product_instance_id: str = None,
25157
+ apk_id: str = None,
25158
+ ):
25159
+ # OAuth模式下的授权token
25160
+ self.auth_token = auth_token
25161
+ self.product_instance_id = product_instance_id
25162
+ # 应用包id
25163
+ self.apk_id = apk_id
25164
+
25165
+ def validate(self):
25166
+ self.validate_required(self.apk_id, 'apk_id')
25167
+
25168
+ def to_map(self):
25169
+ _map = super().to_map()
25170
+ if _map is not None:
25171
+ return _map
25172
+
25173
+ result = dict()
25174
+ if self.auth_token is not None:
25175
+ result['auth_token'] = self.auth_token
25176
+ if self.product_instance_id is not None:
25177
+ result['product_instance_id'] = self.product_instance_id
25178
+ if self.apk_id is not None:
25179
+ result['apk_id'] = self.apk_id
25180
+ return result
25181
+
25182
+ def from_map(self, m: dict = None):
25183
+ m = m or dict()
25184
+ if m.get('auth_token') is not None:
25185
+ self.auth_token = m.get('auth_token')
25186
+ if m.get('product_instance_id') is not None:
25187
+ self.product_instance_id = m.get('product_instance_id')
25188
+ if m.get('apk_id') is not None:
25189
+ self.apk_id = m.get('apk_id')
25190
+ return self
25191
+
25192
+
25193
+ class GetIotlinkAppmanagerfileurlResponse(TeaModel):
25194
+ def __init__(
25195
+ self,
25196
+ req_msg_id: str = None,
25197
+ result_code: str = None,
25198
+ result_msg: str = None,
25199
+ success: bool = None,
25200
+ data: str = None,
25201
+ ):
25202
+ # 请求唯一ID,用于链路跟踪和问题排查
25203
+ self.req_msg_id = req_msg_id
25204
+ # 结果码,一般OK表示调用成功
25205
+ self.result_code = result_code
25206
+ # 异常信息的文本描述
25207
+ self.result_msg = result_msg
25208
+ # 操作结果
25209
+ self.success = success
25210
+ # 应用下载地址
25211
+ self.data = data
25212
+
25213
+ def validate(self):
25214
+ pass
25215
+
25216
+ def to_map(self):
25217
+ _map = super().to_map()
25218
+ if _map is not None:
25219
+ return _map
25220
+
25221
+ result = dict()
25222
+ if self.req_msg_id is not None:
25223
+ result['req_msg_id'] = self.req_msg_id
25224
+ if self.result_code is not None:
25225
+ result['result_code'] = self.result_code
25226
+ if self.result_msg is not None:
25227
+ result['result_msg'] = self.result_msg
25228
+ if self.success is not None:
25229
+ result['success'] = self.success
25230
+ if self.data is not None:
25231
+ result['data'] = self.data
25232
+ return result
25233
+
25234
+ def from_map(self, m: dict = None):
25235
+ m = m or dict()
25236
+ if m.get('req_msg_id') is not None:
25237
+ self.req_msg_id = m.get('req_msg_id')
25238
+ if m.get('result_code') is not None:
25239
+ self.result_code = m.get('result_code')
25240
+ if m.get('result_msg') is not None:
25241
+ self.result_msg = m.get('result_msg')
25242
+ if m.get('success') is not None:
25243
+ self.success = m.get('success')
25244
+ if m.get('data') is not None:
25245
+ self.data = m.get('data')
25246
+ return self
25247
+
25248
+
25249
+ class PagequeryIotlinkAppreleaseorderRequest(TeaModel):
25250
+ def __init__(
25251
+ self,
25252
+ auth_token: str = None,
25253
+ product_instance_id: str = None,
25254
+ project_space: str = None,
25255
+ apk_name: str = None,
25256
+ apk_version: str = None,
25257
+ order_id: str = None,
25258
+ status: str = None,
25259
+ current: int = None,
25260
+ page_size: int = None,
25261
+ ):
25262
+ # OAuth模式下的授权token
25263
+ self.auth_token = auth_token
25264
+ self.product_instance_id = product_instance_id
25265
+ # 所属项目空间
25266
+ self.project_space = project_space
25267
+ # 应用名称
25268
+ self.apk_name = apk_name
25269
+ # 应用版本号
25270
+ self.apk_version = apk_version
25271
+ # 工单id
25272
+ self.order_id = order_id
25273
+ # 发布批次状态
25274
+ # 升级中:IN_PROGRESS
25275
+ # 取消中:CANCELING
25276
+ # 部分成功:PARTIAL_SUCCESS
25277
+ # 部分失败:PARTIAL_FAILED
25278
+ # 部分取消:PARTIAL_CANCELED
25279
+ # 全部成功:ALL_SUCCESS
25280
+ # 全部失败:ALL_FAILED
25281
+ # 全部取消:ALL_CANCELED
25282
+ self.status = status
25283
+ # 当前页
25284
+ self.current = current
25285
+ # 每页数量
25286
+ self.page_size = page_size
25287
+
25288
+ def validate(self):
25289
+ self.validate_required(self.project_space, 'project_space')
25290
+ self.validate_required(self.current, 'current')
25291
+ self.validate_required(self.page_size, 'page_size')
25292
+
25293
+ def to_map(self):
25294
+ _map = super().to_map()
25295
+ if _map is not None:
25296
+ return _map
25297
+
25298
+ result = dict()
25299
+ if self.auth_token is not None:
25300
+ result['auth_token'] = self.auth_token
25301
+ if self.product_instance_id is not None:
25302
+ result['product_instance_id'] = self.product_instance_id
25303
+ if self.project_space is not None:
25304
+ result['project_space'] = self.project_space
25305
+ if self.apk_name is not None:
25306
+ result['apk_name'] = self.apk_name
25307
+ if self.apk_version is not None:
25308
+ result['apk_version'] = self.apk_version
25309
+ if self.order_id is not None:
25310
+ result['order_id'] = self.order_id
25311
+ if self.status is not None:
25312
+ result['status'] = self.status
25313
+ if self.current is not None:
25314
+ result['current'] = self.current
25315
+ if self.page_size is not None:
25316
+ result['page_size'] = self.page_size
25317
+ return result
25318
+
25319
+ def from_map(self, m: dict = None):
25320
+ m = m or dict()
25321
+ if m.get('auth_token') is not None:
25322
+ self.auth_token = m.get('auth_token')
25323
+ if m.get('product_instance_id') is not None:
25324
+ self.product_instance_id = m.get('product_instance_id')
25325
+ if m.get('project_space') is not None:
25326
+ self.project_space = m.get('project_space')
25327
+ if m.get('apk_name') is not None:
25328
+ self.apk_name = m.get('apk_name')
25329
+ if m.get('apk_version') is not None:
25330
+ self.apk_version = m.get('apk_version')
25331
+ if m.get('order_id') is not None:
25332
+ self.order_id = m.get('order_id')
25333
+ if m.get('status') is not None:
25334
+ self.status = m.get('status')
25335
+ if m.get('current') is not None:
25336
+ self.current = m.get('current')
25337
+ if m.get('page_size') is not None:
25338
+ self.page_size = m.get('page_size')
25339
+ return self
25340
+
25341
+
25342
+ class PagequeryIotlinkAppreleaseorderResponse(TeaModel):
25343
+ def __init__(
25344
+ self,
25345
+ req_msg_id: str = None,
25346
+ result_code: str = None,
25347
+ result_msg: str = None,
25348
+ success: bool = None,
25349
+ current: int = None,
25350
+ page_size: int = None,
25351
+ total: int = None,
25352
+ data: List[IotbasicReleaseOrderInfo] = None,
25353
+ ):
25354
+ # 请求唯一ID,用于链路跟踪和问题排查
25355
+ self.req_msg_id = req_msg_id
25356
+ # 结果码,一般OK表示调用成功
25357
+ self.result_code = result_code
25358
+ # 异常信息的文本描述
25359
+ self.result_msg = result_msg
25360
+ # 接口调用结果
25361
+ self.success = success
25362
+ # 当前页
25363
+ self.current = current
25364
+ # 每页数量
25365
+ self.page_size = page_size
25366
+ # 总记录
25367
+ self.total = total
25368
+ # 分页查询结果列表
25369
+ self.data = data
25370
+
25371
+ def validate(self):
25372
+ if self.data:
25373
+ for k in self.data:
25374
+ if k:
25375
+ k.validate()
25376
+
25377
+ def to_map(self):
25378
+ _map = super().to_map()
25379
+ if _map is not None:
25380
+ return _map
25381
+
25382
+ result = dict()
25383
+ if self.req_msg_id is not None:
25384
+ result['req_msg_id'] = self.req_msg_id
25385
+ if self.result_code is not None:
25386
+ result['result_code'] = self.result_code
25387
+ if self.result_msg is not None:
25388
+ result['result_msg'] = self.result_msg
25389
+ if self.success is not None:
25390
+ result['success'] = self.success
25391
+ if self.current is not None:
25392
+ result['current'] = self.current
25393
+ if self.page_size is not None:
25394
+ result['page_size'] = self.page_size
25395
+ if self.total is not None:
25396
+ result['total'] = self.total
25397
+ result['data'] = []
25398
+ if self.data is not None:
25399
+ for k in self.data:
25400
+ result['data'].append(k.to_map() if k else None)
25401
+ return result
25402
+
25403
+ def from_map(self, m: dict = None):
25404
+ m = m or dict()
25405
+ if m.get('req_msg_id') is not None:
25406
+ self.req_msg_id = m.get('req_msg_id')
25407
+ if m.get('result_code') is not None:
25408
+ self.result_code = m.get('result_code')
25409
+ if m.get('result_msg') is not None:
25410
+ self.result_msg = m.get('result_msg')
25411
+ if m.get('success') is not None:
25412
+ self.success = m.get('success')
25413
+ if m.get('current') is not None:
25414
+ self.current = m.get('current')
25415
+ if m.get('page_size') is not None:
25416
+ self.page_size = m.get('page_size')
25417
+ if m.get('total') is not None:
25418
+ self.total = m.get('total')
25419
+ self.data = []
25420
+ if m.get('data') is not None:
25421
+ for k in m.get('data'):
25422
+ temp_model = IotbasicReleaseOrderInfo()
25423
+ self.data.append(temp_model.from_map(k))
25424
+ return self
25425
+
25426
+
25427
+ class PagequeryIotlinkAppreleasedeviceRequest(TeaModel):
25428
+ def __init__(
25429
+ self,
25430
+ auth_token: str = None,
25431
+ product_instance_id: str = None,
25432
+ project_space: str = None,
25433
+ apk_name: str = None,
25434
+ apk_version: str = None,
25435
+ order_id: str = None,
25436
+ device_sn: str = None,
25437
+ status: str = None,
25438
+ current: int = None,
25439
+ page_size: int = None,
25440
+ ):
25441
+ # OAuth模式下的授权token
25442
+ self.auth_token = auth_token
25443
+ self.product_instance_id = product_instance_id
25444
+ # 所属项目空间
25445
+ self.project_space = project_space
25446
+ # 应用名称
25447
+ self.apk_name = apk_name
25448
+ # 应用版本号
25449
+ self.apk_version = apk_version
25450
+ # 工单id
25451
+ self.order_id = order_id
25452
+ # 设备sn
25453
+ self.device_sn = device_sn
25454
+ # 设备升级状态
25455
+ # 待确认:CONFIRM
25456
+ # 待推送:QUEUED
25457
+ # 已推送:NOTIFIED
25458
+ # 升级中:IN_PROGRESS
25459
+ # 升级成功:SUCCEEDED
25460
+ # 升级失败:FAILED
25461
+ # 已取消:CANCELED
25462
+ # 升级超时:TIMEOUT
25463
+ self.status = status
25464
+ # 当前页
25465
+ self.current = current
25466
+ # 每页数量
25467
+ self.page_size = page_size
25468
+
25469
+ def validate(self):
25470
+ self.validate_required(self.project_space, 'project_space')
25471
+ self.validate_required(self.current, 'current')
25472
+ self.validate_required(self.page_size, 'page_size')
25473
+
25474
+ def to_map(self):
25475
+ _map = super().to_map()
25476
+ if _map is not None:
25477
+ return _map
25478
+
25479
+ result = dict()
25480
+ if self.auth_token is not None:
25481
+ result['auth_token'] = self.auth_token
25482
+ if self.product_instance_id is not None:
25483
+ result['product_instance_id'] = self.product_instance_id
25484
+ if self.project_space is not None:
25485
+ result['project_space'] = self.project_space
25486
+ if self.apk_name is not None:
25487
+ result['apk_name'] = self.apk_name
25488
+ if self.apk_version is not None:
25489
+ result['apk_version'] = self.apk_version
25490
+ if self.order_id is not None:
25491
+ result['order_id'] = self.order_id
25492
+ if self.device_sn is not None:
25493
+ result['device_sn'] = self.device_sn
25494
+ if self.status is not None:
25495
+ result['status'] = self.status
25496
+ if self.current is not None:
25497
+ result['current'] = self.current
25498
+ if self.page_size is not None:
25499
+ result['page_size'] = self.page_size
25500
+ return result
25501
+
25502
+ def from_map(self, m: dict = None):
25503
+ m = m or dict()
25504
+ if m.get('auth_token') is not None:
25505
+ self.auth_token = m.get('auth_token')
25506
+ if m.get('product_instance_id') is not None:
25507
+ self.product_instance_id = m.get('product_instance_id')
25508
+ if m.get('project_space') is not None:
25509
+ self.project_space = m.get('project_space')
25510
+ if m.get('apk_name') is not None:
25511
+ self.apk_name = m.get('apk_name')
25512
+ if m.get('apk_version') is not None:
25513
+ self.apk_version = m.get('apk_version')
25514
+ if m.get('order_id') is not None:
25515
+ self.order_id = m.get('order_id')
25516
+ if m.get('device_sn') is not None:
25517
+ self.device_sn = m.get('device_sn')
25518
+ if m.get('status') is not None:
25519
+ self.status = m.get('status')
25520
+ if m.get('current') is not None:
25521
+ self.current = m.get('current')
25522
+ if m.get('page_size') is not None:
25523
+ self.page_size = m.get('page_size')
25524
+ return self
25525
+
25526
+
25527
+ class PagequeryIotlinkAppreleasedeviceResponse(TeaModel):
25528
+ def __init__(
25529
+ self,
25530
+ req_msg_id: str = None,
25531
+ result_code: str = None,
25532
+ result_msg: str = None,
25533
+ success: bool = None,
25534
+ current: int = None,
25535
+ page_size: int = None,
25536
+ total: int = None,
25537
+ data: List[IotbasicReleaseDeviceInfo] = None,
25538
+ ):
25539
+ # 请求唯一ID,用于链路跟踪和问题排查
25540
+ self.req_msg_id = req_msg_id
25541
+ # 结果码,一般OK表示调用成功
25542
+ self.result_code = result_code
25543
+ # 异常信息的文本描述
25544
+ self.result_msg = result_msg
25545
+ # 接口调用结果
25546
+ self.success = success
25547
+ # 当前页
25548
+ self.current = current
25549
+ # 每页数量
25550
+ self.page_size = page_size
25551
+ # 总记录
25552
+ self.total = total
25553
+ # 结果列表数据
25554
+ self.data = data
25555
+
25556
+ def validate(self):
25557
+ if self.data:
25558
+ for k in self.data:
25559
+ if k:
25560
+ k.validate()
25561
+
25562
+ def to_map(self):
25563
+ _map = super().to_map()
25564
+ if _map is not None:
25565
+ return _map
25566
+
25567
+ result = dict()
25568
+ if self.req_msg_id is not None:
25569
+ result['req_msg_id'] = self.req_msg_id
25570
+ if self.result_code is not None:
25571
+ result['result_code'] = self.result_code
25572
+ if self.result_msg is not None:
25573
+ result['result_msg'] = self.result_msg
25574
+ if self.success is not None:
25575
+ result['success'] = self.success
25576
+ if self.current is not None:
25577
+ result['current'] = self.current
25578
+ if self.page_size is not None:
25579
+ result['page_size'] = self.page_size
25580
+ if self.total is not None:
25581
+ result['total'] = self.total
25582
+ result['data'] = []
25583
+ if self.data is not None:
25584
+ for k in self.data:
25585
+ result['data'].append(k.to_map() if k else None)
25586
+ return result
25587
+
25588
+ def from_map(self, m: dict = None):
25589
+ m = m or dict()
25590
+ if m.get('req_msg_id') is not None:
25591
+ self.req_msg_id = m.get('req_msg_id')
25592
+ if m.get('result_code') is not None:
25593
+ self.result_code = m.get('result_code')
25594
+ if m.get('result_msg') is not None:
25595
+ self.result_msg = m.get('result_msg')
25596
+ if m.get('success') is not None:
25597
+ self.success = m.get('success')
25598
+ if m.get('current') is not None:
25599
+ self.current = m.get('current')
25600
+ if m.get('page_size') is not None:
25601
+ self.page_size = m.get('page_size')
25602
+ if m.get('total') is not None:
25603
+ self.total = m.get('total')
25604
+ self.data = []
25605
+ if m.get('data') is not None:
25606
+ for k in m.get('data'):
25607
+ temp_model = IotbasicReleaseDeviceInfo()
25608
+ self.data.append(temp_model.from_map(k))
25609
+ return self
25610
+
25611
+
25612
+ class PublishIotlinkAppreleaseorderRequest(TeaModel):
25613
+ def __init__(
25614
+ self,
25615
+ auth_token: str = None,
25616
+ product_instance_id: str = None,
25617
+ apk_id: str = None,
25618
+ release_mode: str = None,
25619
+ data_list: List[str] = None,
25620
+ cover: bool = None,
25621
+ ):
25622
+ # OAuth模式下的授权token
25623
+ self.auth_token = auth_token
25624
+ self.product_instance_id = product_instance_id
25625
+ # 应用包id
25626
+ self.apk_id = apk_id
25627
+ # 发布方式
25628
+ # DEVICE:指定设备发布
25629
+ # VERSION:指定版本发布
25630
+ self.release_mode = release_mode
25631
+ # 指定发布方式的数据列表
25632
+ # 发布方式为DEVICE,字段为设备did列表;
25633
+ # 发布方式为VERSION,字段为应用包id列表;
25634
+ self.data_list = data_list
25635
+ # 对于数据列表中的设备存在升级中的任务是否覆盖安装?否:返回升级中的设备列表;是:取消升级中的设备升级任务,使用新的任务覆盖升级
25636
+ self.cover = cover
25637
+
25638
+ def validate(self):
25639
+ self.validate_required(self.apk_id, 'apk_id')
25640
+ self.validate_required(self.release_mode, 'release_mode')
25641
+ self.validate_required(self.data_list, 'data_list')
25642
+ self.validate_required(self.cover, 'cover')
25643
+
25644
+ def to_map(self):
25645
+ _map = super().to_map()
25646
+ if _map is not None:
25647
+ return _map
25648
+
25649
+ result = dict()
25650
+ if self.auth_token is not None:
25651
+ result['auth_token'] = self.auth_token
25652
+ if self.product_instance_id is not None:
25653
+ result['product_instance_id'] = self.product_instance_id
25654
+ if self.apk_id is not None:
25655
+ result['apk_id'] = self.apk_id
25656
+ if self.release_mode is not None:
25657
+ result['release_mode'] = self.release_mode
25658
+ if self.data_list is not None:
25659
+ result['data_list'] = self.data_list
25660
+ if self.cover is not None:
25661
+ result['cover'] = self.cover
25662
+ return result
25663
+
25664
+ def from_map(self, m: dict = None):
25665
+ m = m or dict()
25666
+ if m.get('auth_token') is not None:
25667
+ self.auth_token = m.get('auth_token')
25668
+ if m.get('product_instance_id') is not None:
25669
+ self.product_instance_id = m.get('product_instance_id')
25670
+ if m.get('apk_id') is not None:
25671
+ self.apk_id = m.get('apk_id')
25672
+ if m.get('release_mode') is not None:
25673
+ self.release_mode = m.get('release_mode')
25674
+ if m.get('data_list') is not None:
25675
+ self.data_list = m.get('data_list')
25676
+ if m.get('cover') is not None:
25677
+ self.cover = m.get('cover')
25678
+ return self
25679
+
25680
+
25681
+ class PublishIotlinkAppreleaseorderResponse(TeaModel):
25682
+ def __init__(
25683
+ self,
25684
+ req_msg_id: str = None,
25685
+ result_code: str = None,
25686
+ result_msg: str = None,
25687
+ success: bool = None,
25688
+ unfinished_list: List[IotbasicReleaseDeviceInfo] = None,
25689
+ ):
25690
+ # 请求唯一ID,用于链路跟踪和问题排查
25691
+ self.req_msg_id = req_msg_id
25692
+ # 结果码,一般OK表示调用成功
25693
+ self.result_code = result_code
25694
+ # 异常信息的文本描述
25695
+ self.result_msg = result_msg
25696
+ # 接口调用结果
25697
+ self.success = success
25698
+ # 未完成的设备升级列表
25699
+ self.unfinished_list = unfinished_list
25700
+
25701
+ def validate(self):
25702
+ if self.unfinished_list:
25703
+ for k in self.unfinished_list:
25704
+ if k:
25705
+ k.validate()
25706
+
25707
+ def to_map(self):
25708
+ _map = super().to_map()
25709
+ if _map is not None:
25710
+ return _map
25711
+
25712
+ result = dict()
25713
+ if self.req_msg_id is not None:
25714
+ result['req_msg_id'] = self.req_msg_id
25715
+ if self.result_code is not None:
25716
+ result['result_code'] = self.result_code
25717
+ if self.result_msg is not None:
25718
+ result['result_msg'] = self.result_msg
25719
+ if self.success is not None:
25720
+ result['success'] = self.success
25721
+ result['unfinished_list'] = []
25722
+ if self.unfinished_list is not None:
25723
+ for k in self.unfinished_list:
25724
+ result['unfinished_list'].append(k.to_map() if k else None)
25725
+ return result
25726
+
25727
+ def from_map(self, m: dict = None):
25728
+ m = m or dict()
25729
+ if m.get('req_msg_id') is not None:
25730
+ self.req_msg_id = m.get('req_msg_id')
25731
+ if m.get('result_code') is not None:
25732
+ self.result_code = m.get('result_code')
25733
+ if m.get('result_msg') is not None:
25734
+ self.result_msg = m.get('result_msg')
25735
+ if m.get('success') is not None:
25736
+ self.success = m.get('success')
25737
+ self.unfinished_list = []
25738
+ if m.get('unfinished_list') is not None:
25739
+ for k in m.get('unfinished_list'):
25740
+ temp_model = IotbasicReleaseDeviceInfo()
25741
+ self.unfinished_list.append(temp_model.from_map(k))
25742
+ return self
25743
+
25744
+
25745
+ class CancelIotlinkAppreleaseorderRequest(TeaModel):
25746
+ def __init__(
25747
+ self,
25748
+ auth_token: str = None,
25749
+ product_instance_id: str = None,
25750
+ order_id: str = None,
25751
+ ):
25752
+ # OAuth模式下的授权token
25753
+ self.auth_token = auth_token
25754
+ self.product_instance_id = product_instance_id
25755
+ # 工单id
25756
+ self.order_id = order_id
25757
+
25758
+ def validate(self):
25759
+ self.validate_required(self.order_id, 'order_id')
25760
+
25761
+ def to_map(self):
25762
+ _map = super().to_map()
25763
+ if _map is not None:
25764
+ return _map
25765
+
25766
+ result = dict()
25767
+ if self.auth_token is not None:
25768
+ result['auth_token'] = self.auth_token
25769
+ if self.product_instance_id is not None:
25770
+ result['product_instance_id'] = self.product_instance_id
25771
+ if self.order_id is not None:
25772
+ result['order_id'] = self.order_id
25773
+ return result
25774
+
25775
+ def from_map(self, m: dict = None):
25776
+ m = m or dict()
25777
+ if m.get('auth_token') is not None:
25778
+ self.auth_token = m.get('auth_token')
25779
+ if m.get('product_instance_id') is not None:
25780
+ self.product_instance_id = m.get('product_instance_id')
25781
+ if m.get('order_id') is not None:
25782
+ self.order_id = m.get('order_id')
25783
+ return self
25784
+
25785
+
25786
+ class CancelIotlinkAppreleaseorderResponse(TeaModel):
25787
+ def __init__(
25788
+ self,
25789
+ req_msg_id: str = None,
25790
+ result_code: str = None,
25791
+ result_msg: str = None,
25792
+ success: bool = None,
25793
+ ):
25794
+ # 请求唯一ID,用于链路跟踪和问题排查
25795
+ self.req_msg_id = req_msg_id
25796
+ # 结果码,一般OK表示调用成功
25797
+ self.result_code = result_code
25798
+ # 异常信息的文本描述
25799
+ self.result_msg = result_msg
25800
+ # 接口调用结果
25801
+ self.success = success
25802
+
25803
+ def validate(self):
25804
+ pass
25805
+
25806
+ def to_map(self):
25807
+ _map = super().to_map()
25808
+ if _map is not None:
25809
+ return _map
25810
+
25811
+ result = dict()
25812
+ if self.req_msg_id is not None:
25813
+ result['req_msg_id'] = self.req_msg_id
25814
+ if self.result_code is not None:
25815
+ result['result_code'] = self.result_code
25816
+ if self.result_msg is not None:
25817
+ result['result_msg'] = self.result_msg
25818
+ if self.success is not None:
25819
+ result['success'] = self.success
25820
+ return result
25821
+
25822
+ def from_map(self, m: dict = None):
25823
+ m = m or dict()
25824
+ if m.get('req_msg_id') is not None:
25825
+ self.req_msg_id = m.get('req_msg_id')
25826
+ if m.get('result_code') is not None:
25827
+ self.result_code = m.get('result_code')
25828
+ if m.get('result_msg') is not None:
25829
+ self.result_msg = m.get('result_msg')
25830
+ if m.get('success') is not None:
25831
+ self.success = m.get('success')
25832
+ return self
25833
+
25834
+
25835
+ class CancelIotlinkAppreleasedeviceRequest(TeaModel):
25836
+ def __init__(
25837
+ self,
25838
+ auth_token: str = None,
25839
+ product_instance_id: str = None,
25840
+ order_detail_id_list: List[str] = None,
25841
+ ):
25842
+ # OAuth模式下的授权token
25843
+ self.auth_token = auth_token
25844
+ self.product_instance_id = product_instance_id
25845
+ # 设备升级任务唯一id列表
25846
+ self.order_detail_id_list = order_detail_id_list
25847
+
25848
+ def validate(self):
25849
+ self.validate_required(self.order_detail_id_list, 'order_detail_id_list')
25850
+
25851
+ def to_map(self):
25852
+ _map = super().to_map()
25853
+ if _map is not None:
25854
+ return _map
25855
+
25856
+ result = dict()
25857
+ if self.auth_token is not None:
25858
+ result['auth_token'] = self.auth_token
25859
+ if self.product_instance_id is not None:
25860
+ result['product_instance_id'] = self.product_instance_id
25861
+ if self.order_detail_id_list is not None:
25862
+ result['order_detail_id_list'] = self.order_detail_id_list
25863
+ return result
25864
+
25865
+ def from_map(self, m: dict = None):
25866
+ m = m or dict()
25867
+ if m.get('auth_token') is not None:
25868
+ self.auth_token = m.get('auth_token')
25869
+ if m.get('product_instance_id') is not None:
25870
+ self.product_instance_id = m.get('product_instance_id')
25871
+ if m.get('order_detail_id_list') is not None:
25872
+ self.order_detail_id_list = m.get('order_detail_id_list')
25873
+ return self
25874
+
25875
+
25876
+ class CancelIotlinkAppreleasedeviceResponse(TeaModel):
25877
+ def __init__(
25878
+ self,
25879
+ req_msg_id: str = None,
25880
+ result_code: str = None,
25881
+ result_msg: str = None,
25882
+ success: bool = None,
25883
+ ):
25884
+ # 请求唯一ID,用于链路跟踪和问题排查
25885
+ self.req_msg_id = req_msg_id
25886
+ # 结果码,一般OK表示调用成功
25887
+ self.result_code = result_code
25888
+ # 异常信息的文本描述
25889
+ self.result_msg = result_msg
25890
+ # 接口调用结果
25891
+ self.success = success
25892
+
25893
+ def validate(self):
25894
+ pass
25895
+
25896
+ def to_map(self):
25897
+ _map = super().to_map()
25898
+ if _map is not None:
25899
+ return _map
25900
+
25901
+ result = dict()
25902
+ if self.req_msg_id is not None:
25903
+ result['req_msg_id'] = self.req_msg_id
25904
+ if self.result_code is not None:
25905
+ result['result_code'] = self.result_code
25906
+ if self.result_msg is not None:
25907
+ result['result_msg'] = self.result_msg
25908
+ if self.success is not None:
25909
+ result['success'] = self.success
25910
+ return result
25911
+
25912
+ def from_map(self, m: dict = None):
25913
+ m = m or dict()
25914
+ if m.get('req_msg_id') is not None:
25915
+ self.req_msg_id = m.get('req_msg_id')
25916
+ if m.get('result_code') is not None:
25917
+ self.result_code = m.get('result_code')
25918
+ if m.get('result_msg') is not None:
25919
+ self.result_msg = m.get('result_msg')
25920
+ if m.get('success') is not None:
25921
+ self.success = m.get('success')
25922
+ return self
25923
+
25924
+
25925
+ class RetryIotlinkAppreleasedeviceRequest(TeaModel):
25926
+ def __init__(
25927
+ self,
25928
+ auth_token: str = None,
25929
+ product_instance_id: str = None,
25930
+ order_detail_id_list: List[str] = None,
25931
+ ):
25932
+ # OAuth模式下的授权token
25933
+ self.auth_token = auth_token
25934
+ self.product_instance_id = product_instance_id
25935
+ # 设备升级任务唯一id列表
25936
+ self.order_detail_id_list = order_detail_id_list
25937
+
25938
+ def validate(self):
25939
+ self.validate_required(self.order_detail_id_list, 'order_detail_id_list')
25940
+
25941
+ def to_map(self):
25942
+ _map = super().to_map()
25943
+ if _map is not None:
25944
+ return _map
25945
+
25946
+ result = dict()
25947
+ if self.auth_token is not None:
25948
+ result['auth_token'] = self.auth_token
25949
+ if self.product_instance_id is not None:
25950
+ result['product_instance_id'] = self.product_instance_id
25951
+ if self.order_detail_id_list is not None:
25952
+ result['order_detail_id_list'] = self.order_detail_id_list
25953
+ return result
25954
+
25955
+ def from_map(self, m: dict = None):
25956
+ m = m or dict()
25957
+ if m.get('auth_token') is not None:
25958
+ self.auth_token = m.get('auth_token')
25959
+ if m.get('product_instance_id') is not None:
25960
+ self.product_instance_id = m.get('product_instance_id')
25961
+ if m.get('order_detail_id_list') is not None:
25962
+ self.order_detail_id_list = m.get('order_detail_id_list')
25963
+ return self
25964
+
25965
+
25966
+ class RetryIotlinkAppreleasedeviceResponse(TeaModel):
25967
+ def __init__(
25968
+ self,
25969
+ req_msg_id: str = None,
25970
+ result_code: str = None,
25971
+ result_msg: str = None,
25972
+ success: bool = None,
25973
+ ):
25974
+ # 请求唯一ID,用于链路跟踪和问题排查
25975
+ self.req_msg_id = req_msg_id
25976
+ # 结果码,一般OK表示调用成功
25977
+ self.result_code = result_code
25978
+ # 异常信息的文本描述
25979
+ self.result_msg = result_msg
25980
+ # 接口调用结果
25981
+ self.success = success
25982
+
25983
+ def validate(self):
25984
+ pass
25985
+
25986
+ def to_map(self):
25987
+ _map = super().to_map()
25988
+ if _map is not None:
25989
+ return _map
25990
+
25991
+ result = dict()
25992
+ if self.req_msg_id is not None:
25993
+ result['req_msg_id'] = self.req_msg_id
25994
+ if self.result_code is not None:
25995
+ result['result_code'] = self.result_code
25996
+ if self.result_msg is not None:
25997
+ result['result_msg'] = self.result_msg
25998
+ if self.success is not None:
25999
+ result['success'] = self.success
26000
+ return result
26001
+
26002
+ def from_map(self, m: dict = None):
26003
+ m = m or dict()
26004
+ if m.get('req_msg_id') is not None:
26005
+ self.req_msg_id = m.get('req_msg_id')
26006
+ if m.get('result_code') is not None:
26007
+ self.result_code = m.get('result_code')
26008
+ if m.get('result_msg') is not None:
26009
+ self.result_msg = m.get('result_msg')
26010
+ if m.get('success') is not None:
26011
+ self.success = m.get('success')
26012
+ return self
26013
+
26014
+
26015
+ class CreateIotlinkOtamoduleRequest(TeaModel):
26016
+ def __init__(
26017
+ self,
26018
+ auth_token: str = None,
26019
+ product_instance_id: str = None,
26020
+ category_code: str = None,
26021
+ module_name: str = None,
26022
+ alias_name: str = None,
26023
+ desc: str = None,
26024
+ project_code: str = None,
26025
+ ):
26026
+ # OAuth模式下的授权token
26027
+ self.auth_token = auth_token
26028
+ self.product_instance_id = product_instance_id
26029
+ # 品类code
26030
+ self.category_code = category_code
26031
+ # OTA模块名称,产品下唯一且不可修改。仅支持英文字母、数字、英文句号(.)、短划线(-)和下划线(_)。长度限制为1~64个字符。
26032
+ # 英文字母不区分大小写,例如“scanner”和“Scanner”被认为是相同的模块名称,不可重复使用
26033
+ self.module_name = module_name
26034
+ # OTA模块别名。支持中文、英文字母、数字、英文句号(.)、短划线(-)和下划线(_),长度限制为1~64个字符。
26035
+ self.alias_name = alias_name
26036
+ # OTA模块的描述信息,支持最多100个字符。
26037
+ self.desc = desc
26038
+ # 项目编码
26039
+ self.project_code = project_code
26040
+
26041
+ def validate(self):
26042
+ self.validate_required(self.category_code, 'category_code')
26043
+ self.validate_required(self.module_name, 'module_name')
26044
+ self.validate_required(self.project_code, 'project_code')
26045
+
26046
+ def to_map(self):
26047
+ _map = super().to_map()
26048
+ if _map is not None:
26049
+ return _map
26050
+
26051
+ result = dict()
26052
+ if self.auth_token is not None:
26053
+ result['auth_token'] = self.auth_token
26054
+ if self.product_instance_id is not None:
26055
+ result['product_instance_id'] = self.product_instance_id
26056
+ if self.category_code is not None:
26057
+ result['category_code'] = self.category_code
26058
+ if self.module_name is not None:
26059
+ result['module_name'] = self.module_name
26060
+ if self.alias_name is not None:
26061
+ result['alias_name'] = self.alias_name
26062
+ if self.desc is not None:
26063
+ result['desc'] = self.desc
26064
+ if self.project_code is not None:
26065
+ result['project_code'] = self.project_code
26066
+ return result
26067
+
26068
+ def from_map(self, m: dict = None):
26069
+ m = m or dict()
26070
+ if m.get('auth_token') is not None:
26071
+ self.auth_token = m.get('auth_token')
26072
+ if m.get('product_instance_id') is not None:
26073
+ self.product_instance_id = m.get('product_instance_id')
26074
+ if m.get('category_code') is not None:
26075
+ self.category_code = m.get('category_code')
26076
+ if m.get('module_name') is not None:
26077
+ self.module_name = m.get('module_name')
26078
+ if m.get('alias_name') is not None:
26079
+ self.alias_name = m.get('alias_name')
26080
+ if m.get('desc') is not None:
26081
+ self.desc = m.get('desc')
26082
+ if m.get('project_code') is not None:
26083
+ self.project_code = m.get('project_code')
26084
+ return self
26085
+
26086
+
26087
+ class CreateIotlinkOtamoduleResponse(TeaModel):
26088
+ def __init__(
26089
+ self,
26090
+ req_msg_id: str = None,
26091
+ result_code: str = None,
26092
+ result_msg: str = None,
26093
+ success: bool = None,
26094
+ ):
26095
+ # 请求唯一ID,用于链路跟踪和问题排查
26096
+ self.req_msg_id = req_msg_id
26097
+ # 结果码,一般OK表示调用成功
26098
+ self.result_code = result_code
26099
+ # 异常信息的文本描述
26100
+ self.result_msg = result_msg
26101
+ # 操作结果
26102
+ self.success = success
26103
+
26104
+ def validate(self):
26105
+ pass
26106
+
26107
+ def to_map(self):
26108
+ _map = super().to_map()
26109
+ if _map is not None:
26110
+ return _map
26111
+
26112
+ result = dict()
26113
+ if self.req_msg_id is not None:
26114
+ result['req_msg_id'] = self.req_msg_id
26115
+ if self.result_code is not None:
26116
+ result['result_code'] = self.result_code
26117
+ if self.result_msg is not None:
26118
+ result['result_msg'] = self.result_msg
26119
+ if self.success is not None:
26120
+ result['success'] = self.success
26121
+ return result
26122
+
26123
+ def from_map(self, m: dict = None):
26124
+ m = m or dict()
26125
+ if m.get('req_msg_id') is not None:
26126
+ self.req_msg_id = m.get('req_msg_id')
26127
+ if m.get('result_code') is not None:
26128
+ self.result_code = m.get('result_code')
26129
+ if m.get('result_msg') is not None:
26130
+ self.result_msg = m.get('result_msg')
26131
+ if m.get('success') is not None:
26132
+ self.success = m.get('success')
26133
+ return self
26134
+
26135
+
26136
+ class UpdateIotlinkOtamoduleRequest(TeaModel):
26137
+ def __init__(
26138
+ self,
26139
+ auth_token: str = None,
26140
+ product_instance_id: str = None,
26141
+ category_code: str = None,
26142
+ module_name: str = None,
26143
+ alias_name: str = None,
26144
+ desc: str = None,
26145
+ ):
26146
+ # OAuth模式下的授权token
26147
+ self.auth_token = auth_token
26148
+ self.product_instance_id = product_instance_id
26149
+ # 品类code
26150
+ self.category_code = category_code
26151
+ # OTA模块名称,产品下唯一且不可修改。仅支持英文字母、数字、英文句号(.)、短划线(-)和下划线(_)。长度限制为1~64个字符。 英文字母不区分大小写,例如“scanner”和“Scanner”被认为是相同的模块名称,不可重复使用
26152
+ self.module_name = module_name
26153
+ # OTA模块别名。支持中文、英文字母、数字、英文句号(.)、短划线(-)和下划线(_),长度限制为1~64个字符。
26154
+ self.alias_name = alias_name
26155
+ # OTA模块的描述信息,支持最多100个字符。
26156
+ self.desc = desc
26157
+
26158
+ def validate(self):
26159
+ self.validate_required(self.category_code, 'category_code')
26160
+ self.validate_required(self.module_name, 'module_name')
26161
+
26162
+ def to_map(self):
26163
+ _map = super().to_map()
26164
+ if _map is not None:
26165
+ return _map
26166
+
26167
+ result = dict()
26168
+ if self.auth_token is not None:
26169
+ result['auth_token'] = self.auth_token
26170
+ if self.product_instance_id is not None:
26171
+ result['product_instance_id'] = self.product_instance_id
26172
+ if self.category_code is not None:
26173
+ result['category_code'] = self.category_code
26174
+ if self.module_name is not None:
26175
+ result['module_name'] = self.module_name
26176
+ if self.alias_name is not None:
26177
+ result['alias_name'] = self.alias_name
26178
+ if self.desc is not None:
26179
+ result['desc'] = self.desc
26180
+ return result
26181
+
26182
+ def from_map(self, m: dict = None):
26183
+ m = m or dict()
26184
+ if m.get('auth_token') is not None:
26185
+ self.auth_token = m.get('auth_token')
26186
+ if m.get('product_instance_id') is not None:
26187
+ self.product_instance_id = m.get('product_instance_id')
26188
+ if m.get('category_code') is not None:
26189
+ self.category_code = m.get('category_code')
26190
+ if m.get('module_name') is not None:
26191
+ self.module_name = m.get('module_name')
26192
+ if m.get('alias_name') is not None:
26193
+ self.alias_name = m.get('alias_name')
26194
+ if m.get('desc') is not None:
26195
+ self.desc = m.get('desc')
26196
+ return self
26197
+
26198
+
26199
+ class UpdateIotlinkOtamoduleResponse(TeaModel):
26200
+ def __init__(
26201
+ self,
26202
+ req_msg_id: str = None,
26203
+ result_code: str = None,
26204
+ result_msg: str = None,
26205
+ success: bool = None,
26206
+ ):
26207
+ # 请求唯一ID,用于链路跟踪和问题排查
26208
+ self.req_msg_id = req_msg_id
26209
+ # 结果码,一般OK表示调用成功
26210
+ self.result_code = result_code
26211
+ # 异常信息的文本描述
26212
+ self.result_msg = result_msg
26213
+ # 操作结果
26214
+ self.success = success
26215
+
26216
+ def validate(self):
26217
+ pass
26218
+
26219
+ def to_map(self):
26220
+ _map = super().to_map()
26221
+ if _map is not None:
26222
+ return _map
26223
+
26224
+ result = dict()
26225
+ if self.req_msg_id is not None:
26226
+ result['req_msg_id'] = self.req_msg_id
26227
+ if self.result_code is not None:
26228
+ result['result_code'] = self.result_code
26229
+ if self.result_msg is not None:
26230
+ result['result_msg'] = self.result_msg
26231
+ if self.success is not None:
26232
+ result['success'] = self.success
26233
+ return result
26234
+
26235
+ def from_map(self, m: dict = None):
26236
+ m = m or dict()
26237
+ if m.get('req_msg_id') is not None:
26238
+ self.req_msg_id = m.get('req_msg_id')
26239
+ if m.get('result_code') is not None:
26240
+ self.result_code = m.get('result_code')
26241
+ if m.get('result_msg') is not None:
26242
+ self.result_msg = m.get('result_msg')
26243
+ if m.get('success') is not None:
26244
+ self.success = m.get('success')
26245
+ return self
26246
+
26247
+
26248
+ class DeleteIotlinkOtamoduleRequest(TeaModel):
26249
+ def __init__(
26250
+ self,
26251
+ auth_token: str = None,
26252
+ product_instance_id: str = None,
26253
+ category_code: str = None,
26254
+ module_name: str = None,
26255
+ ):
26256
+ # OAuth模式下的授权token
26257
+ self.auth_token = auth_token
26258
+ self.product_instance_id = product_instance_id
26259
+ # 品类code
26260
+ self.category_code = category_code
26261
+ # 要删除的OTA模块名称。
26262
+ self.module_name = module_name
26263
+
26264
+ def validate(self):
26265
+ self.validate_required(self.category_code, 'category_code')
26266
+ self.validate_required(self.module_name, 'module_name')
26267
+
26268
+ def to_map(self):
26269
+ _map = super().to_map()
26270
+ if _map is not None:
26271
+ return _map
26272
+
26273
+ result = dict()
26274
+ if self.auth_token is not None:
26275
+ result['auth_token'] = self.auth_token
26276
+ if self.product_instance_id is not None:
26277
+ result['product_instance_id'] = self.product_instance_id
26278
+ if self.category_code is not None:
26279
+ result['category_code'] = self.category_code
26280
+ if self.module_name is not None:
26281
+ result['module_name'] = self.module_name
26282
+ return result
26283
+
26284
+ def from_map(self, m: dict = None):
26285
+ m = m or dict()
26286
+ if m.get('auth_token') is not None:
26287
+ self.auth_token = m.get('auth_token')
26288
+ if m.get('product_instance_id') is not None:
26289
+ self.product_instance_id = m.get('product_instance_id')
26290
+ if m.get('category_code') is not None:
26291
+ self.category_code = m.get('category_code')
26292
+ if m.get('module_name') is not None:
26293
+ self.module_name = m.get('module_name')
26294
+ return self
26295
+
26296
+
26297
+ class DeleteIotlinkOtamoduleResponse(TeaModel):
26298
+ def __init__(
26299
+ self,
26300
+ req_msg_id: str = None,
26301
+ result_code: str = None,
26302
+ result_msg: str = None,
26303
+ success: bool = None,
26304
+ ):
26305
+ # 请求唯一ID,用于链路跟踪和问题排查
26306
+ self.req_msg_id = req_msg_id
26307
+ # 结果码,一般OK表示调用成功
26308
+ self.result_code = result_code
26309
+ # 异常信息的文本描述
26310
+ self.result_msg = result_msg
26311
+ # 操作结果
26312
+ self.success = success
26313
+
26314
+ def validate(self):
26315
+ pass
26316
+
26317
+ def to_map(self):
26318
+ _map = super().to_map()
26319
+ if _map is not None:
26320
+ return _map
26321
+
26322
+ result = dict()
26323
+ if self.req_msg_id is not None:
26324
+ result['req_msg_id'] = self.req_msg_id
26325
+ if self.result_code is not None:
26326
+ result['result_code'] = self.result_code
26327
+ if self.result_msg is not None:
26328
+ result['result_msg'] = self.result_msg
26329
+ if self.success is not None:
26330
+ result['success'] = self.success
26331
+ return result
26332
+
26333
+ def from_map(self, m: dict = None):
26334
+ m = m or dict()
26335
+ if m.get('req_msg_id') is not None:
26336
+ self.req_msg_id = m.get('req_msg_id')
26337
+ if m.get('result_code') is not None:
26338
+ self.result_code = m.get('result_code')
26339
+ if m.get('result_msg') is not None:
26340
+ self.result_msg = m.get('result_msg')
26341
+ if m.get('success') is not None:
26342
+ self.success = m.get('success')
26343
+ return self
26344
+
26345
+
26346
+ class ImportIotlinkThingmodeltslRequest(TeaModel):
26347
+ def __init__(
26348
+ self,
26349
+ auth_token: str = None,
26350
+ product_instance_id: str = None,
26351
+ category_code: str = None,
26352
+ tsl_str: str = None,
26353
+ ):
26354
+ # OAuth模式下的授权token
26355
+ self.auth_token = auth_token
26356
+ self.product_instance_id = product_instance_id
26357
+ # 品类code
26358
+ self.category_code = category_code
26359
+ # 您编辑的物模型(TSL)。JSON格式的字符串。产品的物模型(TSL)包含属性、服务和事件的定义。
26360
+ self.tsl_str = tsl_str
26361
+
26362
+ def validate(self):
26363
+ self.validate_required(self.category_code, 'category_code')
26364
+ self.validate_required(self.tsl_str, 'tsl_str')
26365
+
26366
+ def to_map(self):
26367
+ _map = super().to_map()
26368
+ if _map is not None:
26369
+ return _map
26370
+
26371
+ result = dict()
26372
+ if self.auth_token is not None:
26373
+ result['auth_token'] = self.auth_token
26374
+ if self.product_instance_id is not None:
26375
+ result['product_instance_id'] = self.product_instance_id
26376
+ if self.category_code is not None:
26377
+ result['category_code'] = self.category_code
26378
+ if self.tsl_str is not None:
26379
+ result['tsl_str'] = self.tsl_str
26380
+ return result
26381
+
26382
+ def from_map(self, m: dict = None):
26383
+ m = m or dict()
26384
+ if m.get('auth_token') is not None:
26385
+ self.auth_token = m.get('auth_token')
26386
+ if m.get('product_instance_id') is not None:
26387
+ self.product_instance_id = m.get('product_instance_id')
26388
+ if m.get('category_code') is not None:
26389
+ self.category_code = m.get('category_code')
26390
+ if m.get('tsl_str') is not None:
26391
+ self.tsl_str = m.get('tsl_str')
26392
+ return self
26393
+
26394
+
26395
+ class ImportIotlinkThingmodeltslResponse(TeaModel):
26396
+ def __init__(
26397
+ self,
26398
+ req_msg_id: str = None,
26399
+ result_code: str = None,
26400
+ result_msg: str = None,
26401
+ success: bool = None,
26402
+ ):
26403
+ # 请求唯一ID,用于链路跟踪和问题排查
26404
+ self.req_msg_id = req_msg_id
26405
+ # 结果码,一般OK表示调用成功
26406
+ self.result_code = result_code
26407
+ # 异常信息的文本描述
26408
+ self.result_msg = result_msg
26409
+ # 操作结果
26410
+ self.success = success
26411
+
26412
+ def validate(self):
26413
+ pass
26414
+
26415
+ def to_map(self):
26416
+ _map = super().to_map()
26417
+ if _map is not None:
26418
+ return _map
26419
+
26420
+ result = dict()
26421
+ if self.req_msg_id is not None:
26422
+ result['req_msg_id'] = self.req_msg_id
26423
+ if self.result_code is not None:
26424
+ result['result_code'] = self.result_code
26425
+ if self.result_msg is not None:
26426
+ result['result_msg'] = self.result_msg
26427
+ if self.success is not None:
26428
+ result['success'] = self.success
26429
+ return result
26430
+
26431
+ def from_map(self, m: dict = None):
26432
+ m = m or dict()
26433
+ if m.get('req_msg_id') is not None:
26434
+ self.req_msg_id = m.get('req_msg_id')
26435
+ if m.get('result_code') is not None:
26436
+ self.result_code = m.get('result_code')
26437
+ if m.get('result_msg') is not None:
26438
+ self.result_msg = m.get('result_msg')
26439
+ if m.get('success') is not None:
26440
+ self.success = m.get('success')
26441
+ return self
26442
+
26443
+
24401
26444
  class QueryIotplatformPurchaseorderRequest(TeaModel):
24402
26445
  def __init__(
24403
26446
  self,
@@ -37642,6 +39685,9 @@ class ApplyTechintegrationSkushipRequest(TeaModel):
37642
39685
  security_mechanism: str = None,
37643
39686
  cert_type: str = None,
37644
39687
  features: List[str] = None,
39688
+ task_id: str = None,
39689
+ task_batch_num: str = None,
39690
+ retry_flag: bool = None,
37645
39691
  ):
37646
39692
  # OAuth模式下的授权token
37647
39693
  self.auth_token = auth_token
@@ -37658,6 +39704,12 @@ class ApplyTechintegrationSkushipRequest(TeaModel):
37658
39704
  self.cert_type = cert_type
37659
39705
  # 凭证种类
37660
39706
  self.features = features
39707
+ # 证书拉取任务ID
39708
+ self.task_id = task_id
39709
+ # 证书拉取任务批次
39710
+ self.task_batch_num = task_batch_num
39711
+ # 重试标志
39712
+ self.retry_flag = retry_flag
37661
39713
 
37662
39714
  def validate(self):
37663
39715
  self.validate_required(self.device_model, 'device_model')
@@ -37692,6 +39744,12 @@ class ApplyTechintegrationSkushipRequest(TeaModel):
37692
39744
  result['cert_type'] = self.cert_type
37693
39745
  if self.features is not None:
37694
39746
  result['features'] = self.features
39747
+ if self.task_id is not None:
39748
+ result['task_id'] = self.task_id
39749
+ if self.task_batch_num is not None:
39750
+ result['task_batch_num'] = self.task_batch_num
39751
+ if self.retry_flag is not None:
39752
+ result['retry_flag'] = self.retry_flag
37695
39753
  return result
37696
39754
 
37697
39755
  def from_map(self, m: dict = None):
@@ -37712,6 +39770,12 @@ class ApplyTechintegrationSkushipRequest(TeaModel):
37712
39770
  self.cert_type = m.get('cert_type')
37713
39771
  if m.get('features') is not None:
37714
39772
  self.features = m.get('features')
39773
+ if m.get('task_id') is not None:
39774
+ self.task_id = m.get('task_id')
39775
+ if m.get('task_batch_num') is not None:
39776
+ self.task_batch_num = m.get('task_batch_num')
39777
+ if m.get('retry_flag') is not None:
39778
+ self.retry_flag = m.get('retry_flag')
37715
39779
  return self
37716
39780
 
37717
39781
 
@@ -37722,6 +39786,8 @@ class ApplyTechintegrationSkushipResponse(TeaModel):
37722
39786
  result_code: str = None,
37723
39787
  result_msg: str = None,
37724
39788
  data: List[str] = None,
39789
+ task_id: str = None,
39790
+ task_batch_num: str = None,
37725
39791
  ):
37726
39792
  # 请求唯一ID,用于链路跟踪和问题排查
37727
39793
  self.req_msg_id = req_msg_id
@@ -37731,6 +39797,10 @@ class ApplyTechintegrationSkushipResponse(TeaModel):
37731
39797
  self.result_msg = result_msg
37732
39798
  # 支付芯证书列表
37733
39799
  self.data = data
39800
+ # 证书拉取任务ID
39801
+ self.task_id = task_id
39802
+ # 证书拉取任务批次
39803
+ self.task_batch_num = task_batch_num
37734
39804
 
37735
39805
  def validate(self):
37736
39806
  pass
@@ -37749,6 +39819,10 @@ class ApplyTechintegrationSkushipResponse(TeaModel):
37749
39819
  result['result_msg'] = self.result_msg
37750
39820
  if self.data is not None:
37751
39821
  result['data'] = self.data
39822
+ if self.task_id is not None:
39823
+ result['task_id'] = self.task_id
39824
+ if self.task_batch_num is not None:
39825
+ result['task_batch_num'] = self.task_batch_num
37752
39826
  return result
37753
39827
 
37754
39828
  def from_map(self, m: dict = None):
@@ -37761,6 +39835,10 @@ class ApplyTechintegrationSkushipResponse(TeaModel):
37761
39835
  self.result_msg = m.get('result_msg')
37762
39836
  if m.get('data') is not None:
37763
39837
  self.data = m.get('data')
39838
+ if m.get('task_id') is not None:
39839
+ self.task_id = m.get('task_id')
39840
+ if m.get('task_batch_num') is not None:
39841
+ self.task_batch_num = m.get('task_batch_num')
37764
39842
  return self
37765
39843
 
37766
39844
 
@@ -38480,6 +40558,122 @@ class SendThingDataResponse(TeaModel):
38480
40558
  return self
38481
40559
 
38482
40560
 
40561
+ class QueryTechintegrationSkugrantstockinfoRequest(TeaModel):
40562
+ def __init__(
40563
+ self,
40564
+ auth_token: str = None,
40565
+ product_instance_id: str = None,
40566
+ product_model: str = None,
40567
+ product_form: str = None,
40568
+ features: List[str] = None,
40569
+ ):
40570
+ # OAuth模式下的授权token
40571
+ self.auth_token = auth_token
40572
+ self.product_instance_id = product_instance_id
40573
+ # 产品型号
40574
+ self.product_model = product_model
40575
+ # 产品形式,取值范围:
40576
+ # SOFTWARE_HARDWARE:软硬一体(SE方案),
40577
+ # SOFTWARE:纯软(非SE方案)
40578
+ self.product_form = product_form
40579
+ # 凭证种类列表,取值范围:
40580
+ # ["PAYMENT"]:支付码,
40581
+ # ["PAYMENT","TRANSIT"]:支付码+乘车码
40582
+ self.features = features
40583
+
40584
+ def validate(self):
40585
+ pass
40586
+
40587
+ def to_map(self):
40588
+ _map = super().to_map()
40589
+ if _map is not None:
40590
+ return _map
40591
+
40592
+ result = dict()
40593
+ if self.auth_token is not None:
40594
+ result['auth_token'] = self.auth_token
40595
+ if self.product_instance_id is not None:
40596
+ result['product_instance_id'] = self.product_instance_id
40597
+ if self.product_model is not None:
40598
+ result['product_model'] = self.product_model
40599
+ if self.product_form is not None:
40600
+ result['product_form'] = self.product_form
40601
+ if self.features is not None:
40602
+ result['features'] = self.features
40603
+ return result
40604
+
40605
+ def from_map(self, m: dict = None):
40606
+ m = m or dict()
40607
+ if m.get('auth_token') is not None:
40608
+ self.auth_token = m.get('auth_token')
40609
+ if m.get('product_instance_id') is not None:
40610
+ self.product_instance_id = m.get('product_instance_id')
40611
+ if m.get('product_model') is not None:
40612
+ self.product_model = m.get('product_model')
40613
+ if m.get('product_form') is not None:
40614
+ self.product_form = m.get('product_form')
40615
+ if m.get('features') is not None:
40616
+ self.features = m.get('features')
40617
+ return self
40618
+
40619
+
40620
+ class QueryTechintegrationSkugrantstockinfoResponse(TeaModel):
40621
+ def __init__(
40622
+ self,
40623
+ req_msg_id: str = None,
40624
+ result_code: str = None,
40625
+ result_msg: str = None,
40626
+ grant_stock_info_list: List[SkuGrantStockInfoResp] = None,
40627
+ ):
40628
+ # 请求唯一ID,用于链路跟踪和问题排查
40629
+ self.req_msg_id = req_msg_id
40630
+ # 结果码,一般OK表示调用成功
40631
+ self.result_code = result_code
40632
+ # 异常信息的文本描述
40633
+ self.result_msg = result_msg
40634
+ # 证书授权信息列表
40635
+ self.grant_stock_info_list = grant_stock_info_list
40636
+
40637
+ def validate(self):
40638
+ if self.grant_stock_info_list:
40639
+ for k in self.grant_stock_info_list:
40640
+ if k:
40641
+ k.validate()
40642
+
40643
+ def to_map(self):
40644
+ _map = super().to_map()
40645
+ if _map is not None:
40646
+ return _map
40647
+
40648
+ result = dict()
40649
+ if self.req_msg_id is not None:
40650
+ result['req_msg_id'] = self.req_msg_id
40651
+ if self.result_code is not None:
40652
+ result['result_code'] = self.result_code
40653
+ if self.result_msg is not None:
40654
+ result['result_msg'] = self.result_msg
40655
+ result['grant_stock_info_list'] = []
40656
+ if self.grant_stock_info_list is not None:
40657
+ for k in self.grant_stock_info_list:
40658
+ result['grant_stock_info_list'].append(k.to_map() if k else None)
40659
+ return result
40660
+
40661
+ def from_map(self, m: dict = None):
40662
+ m = m or dict()
40663
+ if m.get('req_msg_id') is not None:
40664
+ self.req_msg_id = m.get('req_msg_id')
40665
+ if m.get('result_code') is not None:
40666
+ self.result_code = m.get('result_code')
40667
+ if m.get('result_msg') is not None:
40668
+ self.result_msg = m.get('result_msg')
40669
+ self.grant_stock_info_list = []
40670
+ if m.get('grant_stock_info_list') is not None:
40671
+ for k in m.get('grant_stock_info_list'):
40672
+ temp_model = SkuGrantStockInfoResp()
40673
+ self.grant_stock_info_list.append(temp_model.from_map(k))
40674
+ return self
40675
+
40676
+
38483
40677
  class ExecThingsdidOneapiRequest(TeaModel):
38484
40678
  def __init__(
38485
40679
  self,