alibabacloud-nis20211216 2.0.2__py3-none-any.whl → 2.1.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.
@@ -27,6 +27,8 @@ class CreateAndAnalyzeNetworkPathRequest(TeaModel):
27
27
  # The ID of the region for which you want to initiate a task for analyzing network reachability.
28
28
  self.region_id = region_id
29
29
  # The ID of the source resource.
30
+ #
31
+ # This parameter is required.
30
32
  self.source_id = source_id
31
33
  # The source IP address.
32
34
  self.source_ip_address = source_ip_address
@@ -39,6 +41,8 @@ class CreateAndAnalyzeNetworkPathRequest(TeaModel):
39
41
  # * **vsw**: the vSwitch
40
42
  # * **vpn**: the VPN gateway
41
43
  # * **vbr**: the virtual border router (VBR)
44
+ #
45
+ # This parameter is required.
42
46
  self.source_type = source_type
43
47
  # The ID of the destination resource.
44
48
  self.target_id = target_id
@@ -311,6 +315,8 @@ class CreateNetworkPathRequest(TeaModel):
311
315
  # The description of the network path.
312
316
  self.network_path_description = network_path_description
313
317
  # The name of the network path.
318
+ #
319
+ # This parameter is required.
314
320
  self.network_path_name = network_path_name
315
321
  # The protocol type. Valid values:
316
322
  #
@@ -323,6 +329,8 @@ class CreateNetworkPathRequest(TeaModel):
323
329
  # The resource group ID.
324
330
  self.resource_group_id = resource_group_id
325
331
  # The ID of the source resource.
332
+ #
333
+ # This parameter is required.
326
334
  self.source_id = source_id
327
335
  # The source IP address.
328
336
  self.source_ip_address = source_ip_address
@@ -335,6 +343,8 @@ class CreateNetworkPathRequest(TeaModel):
335
343
  # * **vsw**: the vSwitch
336
344
  # * **vpn**: the VPN gateway
337
345
  # * **vbr**: the virtual border router (VBR)
346
+ #
347
+ # This parameter is required.
338
348
  self.source_type = source_type
339
349
  # The tags to add to the resource.
340
350
  self.tag = tag
@@ -556,7 +566,9 @@ class CreateNetworkReachableAnalysisRequest(TeaModel):
556
566
  region_id: str = None,
557
567
  tag: List[CreateNetworkReachableAnalysisRequestTag] = None,
558
568
  ):
559
- # The ID of the network path. You can call the [CreateNetworkPath](~~2366522~~) operation to obtain the ID of the network path.
569
+ # The ID of the network path. You can call the [CreateNetworkPath](https://help.aliyun.com/document_detail/2366522.html) operation to obtain the ID of the network path.
570
+ #
571
+ # This parameter is required.
560
572
  self.network_path_id = network_path_id
561
573
  # The ID of the region for which you want to create a task for analyzing network reachability.
562
574
  self.region_id = region_id
@@ -682,6 +694,8 @@ class DeleteNetworkPathRequest(TeaModel):
682
694
  region_id: str = None,
683
695
  ):
684
696
  # The IDs of network paths.
697
+ #
698
+ # This parameter is required.
685
699
  self.network_path_ids = network_path_ids
686
700
  # The region ID of the network path that you want to delete.
687
701
  self.region_id = region_id
@@ -717,6 +731,8 @@ class DeleteNetworkPathShrinkRequest(TeaModel):
717
731
  region_id: str = None,
718
732
  ):
719
733
  # The IDs of network paths.
734
+ #
735
+ # This parameter is required.
720
736
  self.network_path_ids_shrink = network_path_ids_shrink
721
737
  # The region ID of the network path that you want to delete.
722
738
  self.region_id = region_id
@@ -751,6 +767,10 @@ class DeleteNetworkPathResponseBody(TeaModel):
751
767
  data: bool = None,
752
768
  request_id: str = None,
753
769
  ):
770
+ # Result of operation.
771
+ #
772
+ # - **true**: Delete Success.
773
+ # - **false**: Delete Fail.
754
774
  self.data = data
755
775
  # The request ID.
756
776
  self.request_id = request_id
@@ -827,6 +847,8 @@ class DeleteNetworkReachableAnalysisRequest(TeaModel):
827
847
  region_id: str = None,
828
848
  ):
829
849
  # The IDs of the tasks for analyzing network reachability.
850
+ #
851
+ # This parameter is required.
830
852
  self.network_reachable_analysis_ids = network_reachable_analysis_ids
831
853
  # The ID of the region for which you want to delete a task for analyzing network reachability.
832
854
  self.region_id = region_id
@@ -862,6 +884,8 @@ class DeleteNetworkReachableAnalysisShrinkRequest(TeaModel):
862
884
  region_id: str = None,
863
885
  ):
864
886
  # The IDs of the tasks for analyzing network reachability.
887
+ #
888
+ # This parameter is required.
865
889
  self.network_reachable_analysis_ids_shrink = network_reachable_analysis_ids_shrink
866
890
  # The ID of the region for which you want to delete a task for analyzing network reachability.
867
891
  self.region_id = region_id
@@ -896,6 +920,9 @@ class DeleteNetworkReachableAnalysisResponseBody(TeaModel):
896
920
  data: bool = None,
897
921
  request_id: str = None,
898
922
  ):
923
+ # Result of operation.
924
+ # - **true**: Delete Success.
925
+ # - **false**: Delete Fail.
899
926
  self.data = data
900
927
  # The request ID.
901
928
  self.request_id = request_id
@@ -994,6 +1021,8 @@ class GetInternetTupleRequest(TeaModel):
994
1021
  # The IDs of member accounts.
995
1022
  self.account_ids = account_ids
996
1023
  # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
1024
+ #
1025
+ # This parameter is required.
997
1026
  self.begin_time = begin_time
998
1027
  # The local IP address.
999
1028
  self.cloud_ip = cloud_ip
@@ -1011,8 +1040,12 @@ class GetInternetTupleRequest(TeaModel):
1011
1040
  #
1012
1041
  # * **in**: inbound
1013
1042
  # * **out**: outbound
1043
+ #
1044
+ # This parameter is required.
1014
1045
  self.direction = direction
1015
1046
  # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
1047
+ #
1048
+ # This parameter is required.
1016
1049
  self.end_time = end_time
1017
1050
  # The ID of the Alibaba Cloud instance.
1018
1051
  self.instance_id = instance_id
@@ -1025,19 +1058,6 @@ class GetInternetTupleRequest(TeaModel):
1025
1058
  # * Rtt
1026
1059
  # * ByteCount
1027
1060
  # * PacketCount
1028
- # * InByteCount
1029
- # * OutByteCount
1030
- # * InPacketCount
1031
- # * OutPacketCount
1032
- # * InRetranCount
1033
- # * OutRetranCount
1034
- # * InDupAckCount
1035
- # * OutDupAckCount
1036
- # * InOutOrderCount
1037
- # * OutOutOrderCount
1038
- # * RetranCount
1039
- # * OutOrderCount
1040
- # * DupAckCount
1041
1061
  # * RetransmitRate
1042
1062
  self.order_by = order_by
1043
1063
  # The remote city.
@@ -1065,6 +1085,8 @@ class GetInternetTupleRequest(TeaModel):
1065
1085
  # > All protocols are supported. This parameter is required only when you set **TupleType** to **5**.
1066
1086
  self.protocol = protocol
1067
1087
  # The ID of the region for which you want to query the Internet traffic.
1088
+ #
1089
+ # This parameter is required.
1068
1090
  self.region_id = region_id
1069
1091
  # The order in which instances are ranked by Internet traffic. Valid values:
1070
1092
  #
@@ -1078,6 +1100,8 @@ class GetInternetTupleRequest(TeaModel):
1078
1100
  # * **1**: 1-tuple
1079
1101
  # * **2**: 2-tuple
1080
1102
  # * **5**: 5-tuple
1103
+ #
1104
+ # This parameter is required.
1081
1105
  self.tuple_type = tuple_type
1082
1106
  # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
1083
1107
  #
@@ -1217,6 +1241,8 @@ class GetInternetTupleShrinkRequest(TeaModel):
1217
1241
  # The IDs of member accounts.
1218
1242
  self.account_ids = account_ids
1219
1243
  # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
1244
+ #
1245
+ # This parameter is required.
1220
1246
  self.begin_time = begin_time
1221
1247
  # The local IP address.
1222
1248
  self.cloud_ip = cloud_ip
@@ -1234,8 +1260,12 @@ class GetInternetTupleShrinkRequest(TeaModel):
1234
1260
  #
1235
1261
  # * **in**: inbound
1236
1262
  # * **out**: outbound
1263
+ #
1264
+ # This parameter is required.
1237
1265
  self.direction = direction
1238
1266
  # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC.
1267
+ #
1268
+ # This parameter is required.
1239
1269
  self.end_time = end_time
1240
1270
  # The ID of the Alibaba Cloud instance.
1241
1271
  self.instance_id = instance_id
@@ -1248,19 +1278,6 @@ class GetInternetTupleShrinkRequest(TeaModel):
1248
1278
  # * Rtt
1249
1279
  # * ByteCount
1250
1280
  # * PacketCount
1251
- # * InByteCount
1252
- # * OutByteCount
1253
- # * InPacketCount
1254
- # * OutPacketCount
1255
- # * InRetranCount
1256
- # * OutRetranCount
1257
- # * InDupAckCount
1258
- # * OutDupAckCount
1259
- # * InOutOrderCount
1260
- # * OutOutOrderCount
1261
- # * RetranCount
1262
- # * OutOrderCount
1263
- # * DupAckCount
1264
1281
  # * RetransmitRate
1265
1282
  self.order_by = order_by
1266
1283
  # The remote city.
@@ -1288,6 +1305,8 @@ class GetInternetTupleShrinkRequest(TeaModel):
1288
1305
  # > All protocols are supported. This parameter is required only when you set **TupleType** to **5**.
1289
1306
  self.protocol = protocol
1290
1307
  # The ID of the region for which you want to query the Internet traffic.
1308
+ #
1309
+ # This parameter is required.
1291
1310
  self.region_id = region_id
1292
1311
  # The order in which instances are ranked by Internet traffic. Valid values:
1293
1312
  #
@@ -1301,6 +1320,8 @@ class GetInternetTupleShrinkRequest(TeaModel):
1301
1320
  # * **1**: 1-tuple
1302
1321
  # * **2**: 2-tuple
1303
1322
  # * **5**: 5-tuple
1323
+ #
1324
+ # This parameter is required.
1304
1325
  self.tuple_type = tuple_type
1305
1326
  # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
1306
1327
  #
@@ -1757,12 +1778,16 @@ class GetNatTopNRequest(TeaModel):
1757
1778
  top_n: int = None,
1758
1779
  ):
1759
1780
  # The beginning of the time range to query in milliseconds. If you do not specify **EndTime**, the point in time specified by **BeginTime** is queried.
1781
+ #
1782
+ # This parameter is required.
1760
1783
  self.begin_time = begin_time
1761
1784
  # The end of the time range to query in milliseconds. The time range specified by **BeginTime** and **EndTime** cannot exceed **86400000** milliseconds (24 hours).
1762
1785
  self.end_time = end_time
1763
1786
  # Query ranking statistics for a specific IP address. If you specify this parameter, you do not need to specify **TopN** or **OrderBy**.
1764
1787
  self.ip = ip
1765
1788
  # The ID of the NAT gateway.
1789
+ #
1790
+ # This parameter is required.
1766
1791
  self.nat_gateway_id = nat_gateway_id
1767
1792
  # The metric that is used for real-time SNAT performance ranking. Valid values:
1768
1793
  #
@@ -2007,6 +2032,8 @@ class GetNetworkReachableAnalysisRequest(TeaModel):
2007
2032
  region_id: str = None,
2008
2033
  ):
2009
2034
  # The ID of the task for analyzing network reachability. You can call the **CreateNetworkRearchableAnalysis** operation to obtain the ID of the task for analyzing network reachability.
2035
+ #
2036
+ # This parameter is required.
2010
2037
  self.network_reachable_analysis_id = network_reachable_analysis_id
2011
2038
  # The ID of the region for which you want to obtain the result of network reachability analysis.
2012
2039
  self.region_id = region_id
@@ -2168,85 +2195,71 @@ class GetNetworkReachableAnalysisResponse(TeaModel):
2168
2195
  return self
2169
2196
 
2170
2197
 
2171
- class GetTransitRouterFlowTopNRequest(TeaModel):
2198
+ class GetNisNetworkMetricsRequestDimensions(TeaModel):
2172
2199
  def __init__(
2173
2200
  self,
2174
- account_ids: List[int] = None,
2175
- bandwith_package_id: str = None,
2201
+ name: str = None,
2202
+ value: str = None,
2203
+ ):
2204
+ self.name = name
2205
+ self.value = value
2206
+
2207
+ def validate(self):
2208
+ pass
2209
+
2210
+ def to_map(self):
2211
+ _map = super().to_map()
2212
+ if _map is not None:
2213
+ return _map
2214
+
2215
+ result = dict()
2216
+ if self.name is not None:
2217
+ result['Name'] = self.name
2218
+ if self.value is not None:
2219
+ result['Value'] = self.value
2220
+ return result
2221
+
2222
+ def from_map(self, m: dict = None):
2223
+ m = m or dict()
2224
+ if m.get('Name') is not None:
2225
+ self.name = m.get('Name')
2226
+ if m.get('Value') is not None:
2227
+ self.value = m.get('Value')
2228
+ return self
2229
+
2230
+
2231
+ class GetNisNetworkMetricsRequest(TeaModel):
2232
+ def __init__(
2233
+ self,
2234
+ account_ids: List[str] = None,
2176
2235
  begin_time: int = None,
2177
- cen_id: str = None,
2178
- direction: str = None,
2236
+ dimensions: List[GetNisNetworkMetricsRequestDimensions] = None,
2179
2237
  end_time: int = None,
2180
- group_by: str = None,
2181
- order_by: str = None,
2182
- other_ip: str = None,
2183
- other_port: str = None,
2184
- other_region: str = None,
2185
- protocol: str = None,
2186
- sort: str = None,
2187
- this_ip: str = None,
2188
- this_port: str = None,
2189
- this_region: str = None,
2190
- top_n: int = None,
2191
- use_multi_account: bool = None,
2238
+ metric_name: str = None,
2239
+ region_no: str = None,
2240
+ resource_type: str = None,
2241
+ scan_by: str = None,
2242
+ use_cross_account: bool = None,
2192
2243
  ):
2193
- # The IDs of the member accounts.
2194
2244
  self.account_ids = account_ids
2195
- # The ID of the CEN bandwidth plan.
2196
- self.bandwith_package_id = bandwith_package_id
2197
- # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
2198
2245
  self.begin_time = begin_time
2199
- # The CEN instance ID.
2200
- self.cen_id = cen_id
2201
- # The direction of the inter-region traffic in the local regions or for the local IP addresses. Valid values:
2202
- #
2203
- # * **in**: inbound traffic
2204
- # * **out**: outbound traffic
2205
- self.direction = direction
2206
- # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
2246
+ # This parameter is required.
2247
+ self.dimensions = dimensions
2207
2248
  self.end_time = end_time
2208
- # The dimension for ranking inter-region traffic data. The value of this parameter is case-sensitive. Valid values:
2209
- #
2210
- # * **1Tuple**: queries the rankings of inter-region traffic data for the local regions, Cloud Enterprise Network (CEN) instances, and IP addresses.
2211
- # * **2Tuple**: queries the rankings of inter-region traffic data for the local and remote regions, and the local and remote IP addresses.
2212
- # * **5Tuple**: queries the rankings of inter-region traffic data for the local and remote IP addresses, local and remote ports, and protocols.
2213
- # * **Cen**: queries the rankings of inter-region traffic data for CEN instances.
2214
- # * **RegionPair**: queries the rankings of inter-region traffic data for the local and remote regions.
2215
- # * **Port**: queries the rankings of inter-region traffic data for the local and remote ports.
2216
- # * **Protocol**: queries the rankings of inter-region traffic data for the protocols.
2217
- self.group_by = group_by
2218
- # The metric for ranking inter-region traffic data. Default value: Bytes. This value specifies that inter-region traffic data is ranked by traffic volume.
2219
- self.order_by = order_by
2220
- # The remote IP address.
2221
- self.other_ip = other_ip
2222
- # The remote port.
2223
- self.other_port = other_port
2224
- # The remote region.
2225
- self.other_region = other_region
2226
- # The protocol number.
2227
- #
2228
- # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
2229
- self.protocol = protocol
2230
- # The order for ranking inter-region traffic data. Valid values:
2231
- #
2232
- # * **desc**: descending order
2233
- # * **asc**: ascending order
2234
- self.sort = sort
2235
- # The local IP address.
2236
- self.this_ip = this_ip
2237
- # The local port.
2238
- self.this_port = this_port
2239
- # The local region where the **local IP address** resides.
2240
- self.this_region = this_region
2241
- # Specifies the maximum number of data entries to display. Default value: **10**. Maximum value: 100.
2242
- self.top_n = top_n
2243
- # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
2244
- #
2245
- # > By default, the multi-account management feature is not available. If you want to use this feature, contact your account manager to apply for permissions.
2246
- self.use_multi_account = use_multi_account
2249
+ # This parameter is required.
2250
+ self.metric_name = metric_name
2251
+ # This parameter is required.
2252
+ self.region_no = region_no
2253
+ # This parameter is required.
2254
+ self.resource_type = resource_type
2255
+ self.scan_by = scan_by
2256
+ self.use_cross_account = use_cross_account
2247
2257
 
2248
2258
  def validate(self):
2249
- pass
2259
+ if self.dimensions:
2260
+ for k in self.dimensions:
2261
+ if k:
2262
+ k.validate()
2250
2263
 
2251
2264
  def to_map(self):
2252
2265
  _map = super().to_map()
@@ -2256,159 +2269,78 @@ class GetTransitRouterFlowTopNRequest(TeaModel):
2256
2269
  result = dict()
2257
2270
  if self.account_ids is not None:
2258
2271
  result['AccountIds'] = self.account_ids
2259
- if self.bandwith_package_id is not None:
2260
- result['BandwithPackageId'] = self.bandwith_package_id
2261
2272
  if self.begin_time is not None:
2262
2273
  result['BeginTime'] = self.begin_time
2263
- if self.cen_id is not None:
2264
- result['CenId'] = self.cen_id
2265
- if self.direction is not None:
2266
- result['Direction'] = self.direction
2274
+ result['Dimensions'] = []
2275
+ if self.dimensions is not None:
2276
+ for k in self.dimensions:
2277
+ result['Dimensions'].append(k.to_map() if k else None)
2267
2278
  if self.end_time is not None:
2268
2279
  result['EndTime'] = self.end_time
2269
- if self.group_by is not None:
2270
- result['GroupBy'] = self.group_by
2271
- if self.order_by is not None:
2272
- result['OrderBy'] = self.order_by
2273
- if self.other_ip is not None:
2274
- result['OtherIp'] = self.other_ip
2275
- if self.other_port is not None:
2276
- result['OtherPort'] = self.other_port
2277
- if self.other_region is not None:
2278
- result['OtherRegion'] = self.other_region
2279
- if self.protocol is not None:
2280
- result['Protocol'] = self.protocol
2281
- if self.sort is not None:
2282
- result['Sort'] = self.sort
2283
- if self.this_ip is not None:
2284
- result['ThisIp'] = self.this_ip
2285
- if self.this_port is not None:
2286
- result['ThisPort'] = self.this_port
2287
- if self.this_region is not None:
2288
- result['ThisRegion'] = self.this_region
2289
- if self.top_n is not None:
2290
- result['TopN'] = self.top_n
2291
- if self.use_multi_account is not None:
2292
- result['UseMultiAccount'] = self.use_multi_account
2280
+ if self.metric_name is not None:
2281
+ result['MetricName'] = self.metric_name
2282
+ if self.region_no is not None:
2283
+ result['RegionNo'] = self.region_no
2284
+ if self.resource_type is not None:
2285
+ result['ResourceType'] = self.resource_type
2286
+ if self.scan_by is not None:
2287
+ result['ScanBy'] = self.scan_by
2288
+ if self.use_cross_account is not None:
2289
+ result['UseCrossAccount'] = self.use_cross_account
2293
2290
  return result
2294
2291
 
2295
2292
  def from_map(self, m: dict = None):
2296
2293
  m = m or dict()
2297
2294
  if m.get('AccountIds') is not None:
2298
2295
  self.account_ids = m.get('AccountIds')
2299
- if m.get('BandwithPackageId') is not None:
2300
- self.bandwith_package_id = m.get('BandwithPackageId')
2301
2296
  if m.get('BeginTime') is not None:
2302
2297
  self.begin_time = m.get('BeginTime')
2303
- if m.get('CenId') is not None:
2304
- self.cen_id = m.get('CenId')
2305
- if m.get('Direction') is not None:
2306
- self.direction = m.get('Direction')
2298
+ self.dimensions = []
2299
+ if m.get('Dimensions') is not None:
2300
+ for k in m.get('Dimensions'):
2301
+ temp_model = GetNisNetworkMetricsRequestDimensions()
2302
+ self.dimensions.append(temp_model.from_map(k))
2307
2303
  if m.get('EndTime') is not None:
2308
2304
  self.end_time = m.get('EndTime')
2309
- if m.get('GroupBy') is not None:
2310
- self.group_by = m.get('GroupBy')
2311
- if m.get('OrderBy') is not None:
2312
- self.order_by = m.get('OrderBy')
2313
- if m.get('OtherIp') is not None:
2314
- self.other_ip = m.get('OtherIp')
2315
- if m.get('OtherPort') is not None:
2316
- self.other_port = m.get('OtherPort')
2317
- if m.get('OtherRegion') is not None:
2318
- self.other_region = m.get('OtherRegion')
2319
- if m.get('Protocol') is not None:
2320
- self.protocol = m.get('Protocol')
2321
- if m.get('Sort') is not None:
2322
- self.sort = m.get('Sort')
2323
- if m.get('ThisIp') is not None:
2324
- self.this_ip = m.get('ThisIp')
2325
- if m.get('ThisPort') is not None:
2326
- self.this_port = m.get('ThisPort')
2327
- if m.get('ThisRegion') is not None:
2328
- self.this_region = m.get('ThisRegion')
2329
- if m.get('TopN') is not None:
2330
- self.top_n = m.get('TopN')
2331
- if m.get('UseMultiAccount') is not None:
2332
- self.use_multi_account = m.get('UseMultiAccount')
2305
+ if m.get('MetricName') is not None:
2306
+ self.metric_name = m.get('MetricName')
2307
+ if m.get('RegionNo') is not None:
2308
+ self.region_no = m.get('RegionNo')
2309
+ if m.get('ResourceType') is not None:
2310
+ self.resource_type = m.get('ResourceType')
2311
+ if m.get('ScanBy') is not None:
2312
+ self.scan_by = m.get('ScanBy')
2313
+ if m.get('UseCrossAccount') is not None:
2314
+ self.use_cross_account = m.get('UseCrossAccount')
2333
2315
  return self
2334
2316
 
2335
2317
 
2336
- class GetTransitRouterFlowTopNShrinkRequest(TeaModel):
2318
+ class GetNisNetworkMetricsShrinkRequest(TeaModel):
2337
2319
  def __init__(
2338
2320
  self,
2339
- account_ids_shrink: str = None,
2340
- bandwith_package_id: str = None,
2321
+ account_ids: List[str] = None,
2341
2322
  begin_time: int = None,
2342
- cen_id: str = None,
2343
- direction: str = None,
2323
+ dimensions_shrink: str = None,
2344
2324
  end_time: int = None,
2345
- group_by: str = None,
2346
- order_by: str = None,
2347
- other_ip: str = None,
2348
- other_port: str = None,
2349
- other_region: str = None,
2350
- protocol: str = None,
2351
- sort: str = None,
2352
- this_ip: str = None,
2353
- this_port: str = None,
2354
- this_region: str = None,
2355
- top_n: int = None,
2356
- use_multi_account: bool = None,
2325
+ metric_name: str = None,
2326
+ region_no: str = None,
2327
+ resource_type: str = None,
2328
+ scan_by: str = None,
2329
+ use_cross_account: bool = None,
2357
2330
  ):
2358
- # The IDs of the member accounts.
2359
- self.account_ids_shrink = account_ids_shrink
2360
- # The ID of the CEN bandwidth plan.
2361
- self.bandwith_package_id = bandwith_package_id
2362
- # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
2331
+ self.account_ids = account_ids
2363
2332
  self.begin_time = begin_time
2364
- # The CEN instance ID.
2365
- self.cen_id = cen_id
2366
- # The direction of the inter-region traffic in the local regions or for the local IP addresses. Valid values:
2367
- #
2368
- # * **in**: inbound traffic
2369
- # * **out**: outbound traffic
2370
- self.direction = direction
2371
- # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
2333
+ # This parameter is required.
2334
+ self.dimensions_shrink = dimensions_shrink
2372
2335
  self.end_time = end_time
2373
- # The dimension for ranking inter-region traffic data. The value of this parameter is case-sensitive. Valid values:
2374
- #
2375
- # * **1Tuple**: queries the rankings of inter-region traffic data for the local regions, Cloud Enterprise Network (CEN) instances, and IP addresses.
2376
- # * **2Tuple**: queries the rankings of inter-region traffic data for the local and remote regions, and the local and remote IP addresses.
2377
- # * **5Tuple**: queries the rankings of inter-region traffic data for the local and remote IP addresses, local and remote ports, and protocols.
2378
- # * **Cen**: queries the rankings of inter-region traffic data for CEN instances.
2379
- # * **RegionPair**: queries the rankings of inter-region traffic data for the local and remote regions.
2380
- # * **Port**: queries the rankings of inter-region traffic data for the local and remote ports.
2381
- # * **Protocol**: queries the rankings of inter-region traffic data for the protocols.
2382
- self.group_by = group_by
2383
- # The metric for ranking inter-region traffic data. Default value: Bytes. This value specifies that inter-region traffic data is ranked by traffic volume.
2384
- self.order_by = order_by
2385
- # The remote IP address.
2386
- self.other_ip = other_ip
2387
- # The remote port.
2388
- self.other_port = other_port
2389
- # The remote region.
2390
- self.other_region = other_region
2391
- # The protocol number.
2392
- #
2393
- # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
2394
- self.protocol = protocol
2395
- # The order for ranking inter-region traffic data. Valid values:
2396
- #
2397
- # * **desc**: descending order
2398
- # * **asc**: ascending order
2399
- self.sort = sort
2400
- # The local IP address.
2401
- self.this_ip = this_ip
2402
- # The local port.
2403
- self.this_port = this_port
2404
- # The local region where the **local IP address** resides.
2405
- self.this_region = this_region
2406
- # Specifies the maximum number of data entries to display. Default value: **10**. Maximum value: 100.
2407
- self.top_n = top_n
2408
- # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
2409
- #
2410
- # > By default, the multi-account management feature is not available. If you want to use this feature, contact your account manager to apply for permissions.
2411
- self.use_multi_account = use_multi_account
2336
+ # This parameter is required.
2337
+ self.metric_name = metric_name
2338
+ # This parameter is required.
2339
+ self.region_no = region_no
2340
+ # This parameter is required.
2341
+ self.resource_type = resource_type
2342
+ self.scan_by = scan_by
2343
+ self.use_cross_account = use_cross_account
2412
2344
 
2413
2345
  def validate(self):
2414
2346
  pass
@@ -2419,11 +2351,997 @@ class GetTransitRouterFlowTopNShrinkRequest(TeaModel):
2419
2351
  return _map
2420
2352
 
2421
2353
  result = dict()
2422
- if self.account_ids_shrink is not None:
2423
- result['AccountIds'] = self.account_ids_shrink
2424
- if self.bandwith_package_id is not None:
2425
- result['BandwithPackageId'] = self.bandwith_package_id
2426
- if self.begin_time is not None:
2354
+ if self.account_ids is not None:
2355
+ result['AccountIds'] = self.account_ids
2356
+ if self.begin_time is not None:
2357
+ result['BeginTime'] = self.begin_time
2358
+ if self.dimensions_shrink is not None:
2359
+ result['Dimensions'] = self.dimensions_shrink
2360
+ if self.end_time is not None:
2361
+ result['EndTime'] = self.end_time
2362
+ if self.metric_name is not None:
2363
+ result['MetricName'] = self.metric_name
2364
+ if self.region_no is not None:
2365
+ result['RegionNo'] = self.region_no
2366
+ if self.resource_type is not None:
2367
+ result['ResourceType'] = self.resource_type
2368
+ if self.scan_by is not None:
2369
+ result['ScanBy'] = self.scan_by
2370
+ if self.use_cross_account is not None:
2371
+ result['UseCrossAccount'] = self.use_cross_account
2372
+ return result
2373
+
2374
+ def from_map(self, m: dict = None):
2375
+ m = m or dict()
2376
+ if m.get('AccountIds') is not None:
2377
+ self.account_ids = m.get('AccountIds')
2378
+ if m.get('BeginTime') is not None:
2379
+ self.begin_time = m.get('BeginTime')
2380
+ if m.get('Dimensions') is not None:
2381
+ self.dimensions_shrink = m.get('Dimensions')
2382
+ if m.get('EndTime') is not None:
2383
+ self.end_time = m.get('EndTime')
2384
+ if m.get('MetricName') is not None:
2385
+ self.metric_name = m.get('MetricName')
2386
+ if m.get('RegionNo') is not None:
2387
+ self.region_no = m.get('RegionNo')
2388
+ if m.get('ResourceType') is not None:
2389
+ self.resource_type = m.get('ResourceType')
2390
+ if m.get('ScanBy') is not None:
2391
+ self.scan_by = m.get('ScanBy')
2392
+ if m.get('UseCrossAccount') is not None:
2393
+ self.use_cross_account = m.get('UseCrossAccount')
2394
+ return self
2395
+
2396
+
2397
+ class GetNisNetworkMetricsResponseBodyDataMetrics(TeaModel):
2398
+ def __init__(
2399
+ self,
2400
+ time_stamp: int = None,
2401
+ value: float = None,
2402
+ ):
2403
+ self.time_stamp = time_stamp
2404
+ self.value = value
2405
+
2406
+ def validate(self):
2407
+ pass
2408
+
2409
+ def to_map(self):
2410
+ _map = super().to_map()
2411
+ if _map is not None:
2412
+ return _map
2413
+
2414
+ result = dict()
2415
+ if self.time_stamp is not None:
2416
+ result['TimeStamp'] = self.time_stamp
2417
+ if self.value is not None:
2418
+ result['Value'] = self.value
2419
+ return result
2420
+
2421
+ def from_map(self, m: dict = None):
2422
+ m = m or dict()
2423
+ if m.get('TimeStamp') is not None:
2424
+ self.time_stamp = m.get('TimeStamp')
2425
+ if m.get('Value') is not None:
2426
+ self.value = m.get('Value')
2427
+ return self
2428
+
2429
+
2430
+ class GetNisNetworkMetricsResponseBodyData(TeaModel):
2431
+ def __init__(
2432
+ self,
2433
+ metrics: List[GetNisNetworkMetricsResponseBodyDataMetrics] = None,
2434
+ unit: str = None,
2435
+ ):
2436
+ self.metrics = metrics
2437
+ self.unit = unit
2438
+
2439
+ def validate(self):
2440
+ if self.metrics:
2441
+ for k in self.metrics:
2442
+ if k:
2443
+ k.validate()
2444
+
2445
+ def to_map(self):
2446
+ _map = super().to_map()
2447
+ if _map is not None:
2448
+ return _map
2449
+
2450
+ result = dict()
2451
+ result['Metrics'] = []
2452
+ if self.metrics is not None:
2453
+ for k in self.metrics:
2454
+ result['Metrics'].append(k.to_map() if k else None)
2455
+ if self.unit is not None:
2456
+ result['Unit'] = self.unit
2457
+ return result
2458
+
2459
+ def from_map(self, m: dict = None):
2460
+ m = m or dict()
2461
+ self.metrics = []
2462
+ if m.get('Metrics') is not None:
2463
+ for k in m.get('Metrics'):
2464
+ temp_model = GetNisNetworkMetricsResponseBodyDataMetrics()
2465
+ self.metrics.append(temp_model.from_map(k))
2466
+ if m.get('Unit') is not None:
2467
+ self.unit = m.get('Unit')
2468
+ return self
2469
+
2470
+
2471
+ class GetNisNetworkMetricsResponseBody(TeaModel):
2472
+ def __init__(
2473
+ self,
2474
+ data: GetNisNetworkMetricsResponseBodyData = None,
2475
+ request_id: str = None,
2476
+ ):
2477
+ self.data = data
2478
+ self.request_id = request_id
2479
+
2480
+ def validate(self):
2481
+ if self.data:
2482
+ self.data.validate()
2483
+
2484
+ def to_map(self):
2485
+ _map = super().to_map()
2486
+ if _map is not None:
2487
+ return _map
2488
+
2489
+ result = dict()
2490
+ if self.data is not None:
2491
+ result['Data'] = self.data.to_map()
2492
+ if self.request_id is not None:
2493
+ result['RequestId'] = self.request_id
2494
+ return result
2495
+
2496
+ def from_map(self, m: dict = None):
2497
+ m = m or dict()
2498
+ if m.get('Data') is not None:
2499
+ temp_model = GetNisNetworkMetricsResponseBodyData()
2500
+ self.data = temp_model.from_map(m['Data'])
2501
+ if m.get('RequestId') is not None:
2502
+ self.request_id = m.get('RequestId')
2503
+ return self
2504
+
2505
+
2506
+ class GetNisNetworkMetricsResponse(TeaModel):
2507
+ def __init__(
2508
+ self,
2509
+ headers: Dict[str, str] = None,
2510
+ status_code: int = None,
2511
+ body: GetNisNetworkMetricsResponseBody = None,
2512
+ ):
2513
+ self.headers = headers
2514
+ self.status_code = status_code
2515
+ self.body = body
2516
+
2517
+ def validate(self):
2518
+ if self.body:
2519
+ self.body.validate()
2520
+
2521
+ def to_map(self):
2522
+ _map = super().to_map()
2523
+ if _map is not None:
2524
+ return _map
2525
+
2526
+ result = dict()
2527
+ if self.headers is not None:
2528
+ result['headers'] = self.headers
2529
+ if self.status_code is not None:
2530
+ result['statusCode'] = self.status_code
2531
+ if self.body is not None:
2532
+ result['body'] = self.body.to_map()
2533
+ return result
2534
+
2535
+ def from_map(self, m: dict = None):
2536
+ m = m or dict()
2537
+ if m.get('headers') is not None:
2538
+ self.headers = m.get('headers')
2539
+ if m.get('statusCode') is not None:
2540
+ self.status_code = m.get('statusCode')
2541
+ if m.get('body') is not None:
2542
+ temp_model = GetNisNetworkMetricsResponseBody()
2543
+ self.body = temp_model.from_map(m['body'])
2544
+ return self
2545
+
2546
+
2547
+ class GetNisNetworkRankingRequestFilter(TeaModel):
2548
+ def __init__(
2549
+ self,
2550
+ name: str = None,
2551
+ value: str = None,
2552
+ ):
2553
+ self.name = name
2554
+ self.value = value
2555
+
2556
+ def validate(self):
2557
+ pass
2558
+
2559
+ def to_map(self):
2560
+ _map = super().to_map()
2561
+ if _map is not None:
2562
+ return _map
2563
+
2564
+ result = dict()
2565
+ if self.name is not None:
2566
+ result['Name'] = self.name
2567
+ if self.value is not None:
2568
+ result['Value'] = self.value
2569
+ return result
2570
+
2571
+ def from_map(self, m: dict = None):
2572
+ m = m or dict()
2573
+ if m.get('Name') is not None:
2574
+ self.name = m.get('Name')
2575
+ if m.get('Value') is not None:
2576
+ self.value = m.get('Value')
2577
+ return self
2578
+
2579
+
2580
+ class GetNisNetworkRankingRequest(TeaModel):
2581
+ def __init__(
2582
+ self,
2583
+ account_ids: List[str] = None,
2584
+ begin_time: int = None,
2585
+ direction: str = None,
2586
+ end_time: int = None,
2587
+ filter: List[GetNisNetworkRankingRequestFilter] = None,
2588
+ group_by: str = None,
2589
+ order_by: str = None,
2590
+ region_no: str = None,
2591
+ resource_type: str = None,
2592
+ sort: str = None,
2593
+ top_n: int = None,
2594
+ use_cross_account: bool = None,
2595
+ ):
2596
+ self.account_ids = account_ids
2597
+ self.begin_time = begin_time
2598
+ # This parameter is required.
2599
+ self.direction = direction
2600
+ self.end_time = end_time
2601
+ self.filter = filter
2602
+ # This parameter is required.
2603
+ self.group_by = group_by
2604
+ # This parameter is required.
2605
+ self.order_by = order_by
2606
+ # This parameter is required.
2607
+ self.region_no = region_no
2608
+ # This parameter is required.
2609
+ self.resource_type = resource_type
2610
+ self.sort = sort
2611
+ self.top_n = top_n
2612
+ self.use_cross_account = use_cross_account
2613
+
2614
+ def validate(self):
2615
+ if self.filter:
2616
+ for k in self.filter:
2617
+ if k:
2618
+ k.validate()
2619
+
2620
+ def to_map(self):
2621
+ _map = super().to_map()
2622
+ if _map is not None:
2623
+ return _map
2624
+
2625
+ result = dict()
2626
+ if self.account_ids is not None:
2627
+ result['AccountIds'] = self.account_ids
2628
+ if self.begin_time is not None:
2629
+ result['BeginTime'] = self.begin_time
2630
+ if self.direction is not None:
2631
+ result['Direction'] = self.direction
2632
+ if self.end_time is not None:
2633
+ result['EndTime'] = self.end_time
2634
+ result['Filter'] = []
2635
+ if self.filter is not None:
2636
+ for k in self.filter:
2637
+ result['Filter'].append(k.to_map() if k else None)
2638
+ if self.group_by is not None:
2639
+ result['GroupBy'] = self.group_by
2640
+ if self.order_by is not None:
2641
+ result['OrderBy'] = self.order_by
2642
+ if self.region_no is not None:
2643
+ result['RegionNo'] = self.region_no
2644
+ if self.resource_type is not None:
2645
+ result['ResourceType'] = self.resource_type
2646
+ if self.sort is not None:
2647
+ result['Sort'] = self.sort
2648
+ if self.top_n is not None:
2649
+ result['TopN'] = self.top_n
2650
+ if self.use_cross_account is not None:
2651
+ result['UseCrossAccount'] = self.use_cross_account
2652
+ return result
2653
+
2654
+ def from_map(self, m: dict = None):
2655
+ m = m or dict()
2656
+ if m.get('AccountIds') is not None:
2657
+ self.account_ids = m.get('AccountIds')
2658
+ if m.get('BeginTime') is not None:
2659
+ self.begin_time = m.get('BeginTime')
2660
+ if m.get('Direction') is not None:
2661
+ self.direction = m.get('Direction')
2662
+ if m.get('EndTime') is not None:
2663
+ self.end_time = m.get('EndTime')
2664
+ self.filter = []
2665
+ if m.get('Filter') is not None:
2666
+ for k in m.get('Filter'):
2667
+ temp_model = GetNisNetworkRankingRequestFilter()
2668
+ self.filter.append(temp_model.from_map(k))
2669
+ if m.get('GroupBy') is not None:
2670
+ self.group_by = m.get('GroupBy')
2671
+ if m.get('OrderBy') is not None:
2672
+ self.order_by = m.get('OrderBy')
2673
+ if m.get('RegionNo') is not None:
2674
+ self.region_no = m.get('RegionNo')
2675
+ if m.get('ResourceType') is not None:
2676
+ self.resource_type = m.get('ResourceType')
2677
+ if m.get('Sort') is not None:
2678
+ self.sort = m.get('Sort')
2679
+ if m.get('TopN') is not None:
2680
+ self.top_n = m.get('TopN')
2681
+ if m.get('UseCrossAccount') is not None:
2682
+ self.use_cross_account = m.get('UseCrossAccount')
2683
+ return self
2684
+
2685
+
2686
+ class GetNisNetworkRankingShrinkRequest(TeaModel):
2687
+ def __init__(
2688
+ self,
2689
+ account_ids: List[str] = None,
2690
+ begin_time: int = None,
2691
+ direction: str = None,
2692
+ end_time: int = None,
2693
+ filter_shrink: str = None,
2694
+ group_by: str = None,
2695
+ order_by: str = None,
2696
+ region_no: str = None,
2697
+ resource_type: str = None,
2698
+ sort: str = None,
2699
+ top_n: int = None,
2700
+ use_cross_account: bool = None,
2701
+ ):
2702
+ self.account_ids = account_ids
2703
+ self.begin_time = begin_time
2704
+ # This parameter is required.
2705
+ self.direction = direction
2706
+ self.end_time = end_time
2707
+ self.filter_shrink = filter_shrink
2708
+ # This parameter is required.
2709
+ self.group_by = group_by
2710
+ # This parameter is required.
2711
+ self.order_by = order_by
2712
+ # This parameter is required.
2713
+ self.region_no = region_no
2714
+ # This parameter is required.
2715
+ self.resource_type = resource_type
2716
+ self.sort = sort
2717
+ self.top_n = top_n
2718
+ self.use_cross_account = use_cross_account
2719
+
2720
+ def validate(self):
2721
+ pass
2722
+
2723
+ def to_map(self):
2724
+ _map = super().to_map()
2725
+ if _map is not None:
2726
+ return _map
2727
+
2728
+ result = dict()
2729
+ if self.account_ids is not None:
2730
+ result['AccountIds'] = self.account_ids
2731
+ if self.begin_time is not None:
2732
+ result['BeginTime'] = self.begin_time
2733
+ if self.direction is not None:
2734
+ result['Direction'] = self.direction
2735
+ if self.end_time is not None:
2736
+ result['EndTime'] = self.end_time
2737
+ if self.filter_shrink is not None:
2738
+ result['Filter'] = self.filter_shrink
2739
+ if self.group_by is not None:
2740
+ result['GroupBy'] = self.group_by
2741
+ if self.order_by is not None:
2742
+ result['OrderBy'] = self.order_by
2743
+ if self.region_no is not None:
2744
+ result['RegionNo'] = self.region_no
2745
+ if self.resource_type is not None:
2746
+ result['ResourceType'] = self.resource_type
2747
+ if self.sort is not None:
2748
+ result['Sort'] = self.sort
2749
+ if self.top_n is not None:
2750
+ result['TopN'] = self.top_n
2751
+ if self.use_cross_account is not None:
2752
+ result['UseCrossAccount'] = self.use_cross_account
2753
+ return result
2754
+
2755
+ def from_map(self, m: dict = None):
2756
+ m = m or dict()
2757
+ if m.get('AccountIds') is not None:
2758
+ self.account_ids = m.get('AccountIds')
2759
+ if m.get('BeginTime') is not None:
2760
+ self.begin_time = m.get('BeginTime')
2761
+ if m.get('Direction') is not None:
2762
+ self.direction = m.get('Direction')
2763
+ if m.get('EndTime') is not None:
2764
+ self.end_time = m.get('EndTime')
2765
+ if m.get('Filter') is not None:
2766
+ self.filter_shrink = m.get('Filter')
2767
+ if m.get('GroupBy') is not None:
2768
+ self.group_by = m.get('GroupBy')
2769
+ if m.get('OrderBy') is not None:
2770
+ self.order_by = m.get('OrderBy')
2771
+ if m.get('RegionNo') is not None:
2772
+ self.region_no = m.get('RegionNo')
2773
+ if m.get('ResourceType') is not None:
2774
+ self.resource_type = m.get('ResourceType')
2775
+ if m.get('Sort') is not None:
2776
+ self.sort = m.get('Sort')
2777
+ if m.get('TopN') is not None:
2778
+ self.top_n = m.get('TopN')
2779
+ if m.get('UseCrossAccount') is not None:
2780
+ self.use_cross_account = m.get('UseCrossAccount')
2781
+ return self
2782
+
2783
+
2784
+ class GetNisNetworkRankingResponseBodyData(TeaModel):
2785
+ def __init__(
2786
+ self,
2787
+ active_session_count: float = None,
2788
+ asn: str = None,
2789
+ attachment_id: str = None,
2790
+ bandwidth_package_id: str = None,
2791
+ byte_count: float = None,
2792
+ city: str = None,
2793
+ country: str = None,
2794
+ destination_ip: str = None,
2795
+ destination_isp: str = None,
2796
+ destination_port: str = None,
2797
+ destination_region_no: str = None,
2798
+ destination_zone: str = None,
2799
+ ip: str = None,
2800
+ in_bps: float = None,
2801
+ in_pps: float = None,
2802
+ instance_id: str = None,
2803
+ isp: str = None,
2804
+ new_session_per_second: float = None,
2805
+ out_bps: float = None,
2806
+ out_pps: float = None,
2807
+ packet_count: float = None,
2808
+ protocol: str = None,
2809
+ province: str = None,
2810
+ rtt: float = None,
2811
+ region_no: str = None,
2812
+ retransmit_rate: float = None,
2813
+ source_ip: str = None,
2814
+ source_isp: str = None,
2815
+ source_port: str = None,
2816
+ source_zone: str = None,
2817
+ vbr_id: str = None,
2818
+ ):
2819
+ self.active_session_count = active_session_count
2820
+ self.asn = asn
2821
+ self.attachment_id = attachment_id
2822
+ self.bandwidth_package_id = bandwidth_package_id
2823
+ self.byte_count = byte_count
2824
+ self.city = city
2825
+ self.country = country
2826
+ self.destination_ip = destination_ip
2827
+ self.destination_isp = destination_isp
2828
+ self.destination_port = destination_port
2829
+ self.destination_region_no = destination_region_no
2830
+ self.destination_zone = destination_zone
2831
+ self.ip = ip
2832
+ self.in_bps = in_bps
2833
+ self.in_pps = in_pps
2834
+ self.instance_id = instance_id
2835
+ self.isp = isp
2836
+ self.new_session_per_second = new_session_per_second
2837
+ self.out_bps = out_bps
2838
+ self.out_pps = out_pps
2839
+ self.packet_count = packet_count
2840
+ self.protocol = protocol
2841
+ self.province = province
2842
+ self.rtt = rtt
2843
+ self.region_no = region_no
2844
+ self.retransmit_rate = retransmit_rate
2845
+ self.source_ip = source_ip
2846
+ self.source_isp = source_isp
2847
+ self.source_port = source_port
2848
+ self.source_zone = source_zone
2849
+ self.vbr_id = vbr_id
2850
+
2851
+ def validate(self):
2852
+ pass
2853
+
2854
+ def to_map(self):
2855
+ _map = super().to_map()
2856
+ if _map is not None:
2857
+ return _map
2858
+
2859
+ result = dict()
2860
+ if self.active_session_count is not None:
2861
+ result['ActiveSessionCount'] = self.active_session_count
2862
+ if self.asn is not None:
2863
+ result['Asn'] = self.asn
2864
+ if self.attachment_id is not None:
2865
+ result['AttachmentId'] = self.attachment_id
2866
+ if self.bandwidth_package_id is not None:
2867
+ result['BandwidthPackageId'] = self.bandwidth_package_id
2868
+ if self.byte_count is not None:
2869
+ result['ByteCount'] = self.byte_count
2870
+ if self.city is not None:
2871
+ result['City'] = self.city
2872
+ if self.country is not None:
2873
+ result['Country'] = self.country
2874
+ if self.destination_ip is not None:
2875
+ result['DestinationIp'] = self.destination_ip
2876
+ if self.destination_isp is not None:
2877
+ result['DestinationIsp'] = self.destination_isp
2878
+ if self.destination_port is not None:
2879
+ result['DestinationPort'] = self.destination_port
2880
+ if self.destination_region_no is not None:
2881
+ result['DestinationRegionNo'] = self.destination_region_no
2882
+ if self.destination_zone is not None:
2883
+ result['DestinationZone'] = self.destination_zone
2884
+ if self.ip is not None:
2885
+ result['IP'] = self.ip
2886
+ if self.in_bps is not None:
2887
+ result['InBps'] = self.in_bps
2888
+ if self.in_pps is not None:
2889
+ result['InPps'] = self.in_pps
2890
+ if self.instance_id is not None:
2891
+ result['InstanceId'] = self.instance_id
2892
+ if self.isp is not None:
2893
+ result['Isp'] = self.isp
2894
+ if self.new_session_per_second is not None:
2895
+ result['NewSessionPerSecond'] = self.new_session_per_second
2896
+ if self.out_bps is not None:
2897
+ result['OutBps'] = self.out_bps
2898
+ if self.out_pps is not None:
2899
+ result['OutPps'] = self.out_pps
2900
+ if self.packet_count is not None:
2901
+ result['PacketCount'] = self.packet_count
2902
+ if self.protocol is not None:
2903
+ result['Protocol'] = self.protocol
2904
+ if self.province is not None:
2905
+ result['Province'] = self.province
2906
+ if self.rtt is not None:
2907
+ result['RTT'] = self.rtt
2908
+ if self.region_no is not None:
2909
+ result['RegionNo'] = self.region_no
2910
+ if self.retransmit_rate is not None:
2911
+ result['RetransmitRate'] = self.retransmit_rate
2912
+ if self.source_ip is not None:
2913
+ result['SourceIp'] = self.source_ip
2914
+ if self.source_isp is not None:
2915
+ result['SourceIsp'] = self.source_isp
2916
+ if self.source_port is not None:
2917
+ result['SourcePort'] = self.source_port
2918
+ if self.source_zone is not None:
2919
+ result['SourceZone'] = self.source_zone
2920
+ if self.vbr_id is not None:
2921
+ result['VbrId'] = self.vbr_id
2922
+ return result
2923
+
2924
+ def from_map(self, m: dict = None):
2925
+ m = m or dict()
2926
+ if m.get('ActiveSessionCount') is not None:
2927
+ self.active_session_count = m.get('ActiveSessionCount')
2928
+ if m.get('Asn') is not None:
2929
+ self.asn = m.get('Asn')
2930
+ if m.get('AttachmentId') is not None:
2931
+ self.attachment_id = m.get('AttachmentId')
2932
+ if m.get('BandwidthPackageId') is not None:
2933
+ self.bandwidth_package_id = m.get('BandwidthPackageId')
2934
+ if m.get('ByteCount') is not None:
2935
+ self.byte_count = m.get('ByteCount')
2936
+ if m.get('City') is not None:
2937
+ self.city = m.get('City')
2938
+ if m.get('Country') is not None:
2939
+ self.country = m.get('Country')
2940
+ if m.get('DestinationIp') is not None:
2941
+ self.destination_ip = m.get('DestinationIp')
2942
+ if m.get('DestinationIsp') is not None:
2943
+ self.destination_isp = m.get('DestinationIsp')
2944
+ if m.get('DestinationPort') is not None:
2945
+ self.destination_port = m.get('DestinationPort')
2946
+ if m.get('DestinationRegionNo') is not None:
2947
+ self.destination_region_no = m.get('DestinationRegionNo')
2948
+ if m.get('DestinationZone') is not None:
2949
+ self.destination_zone = m.get('DestinationZone')
2950
+ if m.get('IP') is not None:
2951
+ self.ip = m.get('IP')
2952
+ if m.get('InBps') is not None:
2953
+ self.in_bps = m.get('InBps')
2954
+ if m.get('InPps') is not None:
2955
+ self.in_pps = m.get('InPps')
2956
+ if m.get('InstanceId') is not None:
2957
+ self.instance_id = m.get('InstanceId')
2958
+ if m.get('Isp') is not None:
2959
+ self.isp = m.get('Isp')
2960
+ if m.get('NewSessionPerSecond') is not None:
2961
+ self.new_session_per_second = m.get('NewSessionPerSecond')
2962
+ if m.get('OutBps') is not None:
2963
+ self.out_bps = m.get('OutBps')
2964
+ if m.get('OutPps') is not None:
2965
+ self.out_pps = m.get('OutPps')
2966
+ if m.get('PacketCount') is not None:
2967
+ self.packet_count = m.get('PacketCount')
2968
+ if m.get('Protocol') is not None:
2969
+ self.protocol = m.get('Protocol')
2970
+ if m.get('Province') is not None:
2971
+ self.province = m.get('Province')
2972
+ if m.get('RTT') is not None:
2973
+ self.rtt = m.get('RTT')
2974
+ if m.get('RegionNo') is not None:
2975
+ self.region_no = m.get('RegionNo')
2976
+ if m.get('RetransmitRate') is not None:
2977
+ self.retransmit_rate = m.get('RetransmitRate')
2978
+ if m.get('SourceIp') is not None:
2979
+ self.source_ip = m.get('SourceIp')
2980
+ if m.get('SourceIsp') is not None:
2981
+ self.source_isp = m.get('SourceIsp')
2982
+ if m.get('SourcePort') is not None:
2983
+ self.source_port = m.get('SourcePort')
2984
+ if m.get('SourceZone') is not None:
2985
+ self.source_zone = m.get('SourceZone')
2986
+ if m.get('VbrId') is not None:
2987
+ self.vbr_id = m.get('VbrId')
2988
+ return self
2989
+
2990
+
2991
+ class GetNisNetworkRankingResponseBody(TeaModel):
2992
+ def __init__(
2993
+ self,
2994
+ data: List[GetNisNetworkRankingResponseBodyData] = None,
2995
+ request_id: str = None,
2996
+ ):
2997
+ self.data = data
2998
+ self.request_id = request_id
2999
+
3000
+ def validate(self):
3001
+ if self.data:
3002
+ for k in self.data:
3003
+ if k:
3004
+ k.validate()
3005
+
3006
+ def to_map(self):
3007
+ _map = super().to_map()
3008
+ if _map is not None:
3009
+ return _map
3010
+
3011
+ result = dict()
3012
+ result['Data'] = []
3013
+ if self.data is not None:
3014
+ for k in self.data:
3015
+ result['Data'].append(k.to_map() if k else None)
3016
+ if self.request_id is not None:
3017
+ result['RequestId'] = self.request_id
3018
+ return result
3019
+
3020
+ def from_map(self, m: dict = None):
3021
+ m = m or dict()
3022
+ self.data = []
3023
+ if m.get('Data') is not None:
3024
+ for k in m.get('Data'):
3025
+ temp_model = GetNisNetworkRankingResponseBodyData()
3026
+ self.data.append(temp_model.from_map(k))
3027
+ if m.get('RequestId') is not None:
3028
+ self.request_id = m.get('RequestId')
3029
+ return self
3030
+
3031
+
3032
+ class GetNisNetworkRankingResponse(TeaModel):
3033
+ def __init__(
3034
+ self,
3035
+ headers: Dict[str, str] = None,
3036
+ status_code: int = None,
3037
+ body: GetNisNetworkRankingResponseBody = None,
3038
+ ):
3039
+ self.headers = headers
3040
+ self.status_code = status_code
3041
+ self.body = body
3042
+
3043
+ def validate(self):
3044
+ if self.body:
3045
+ self.body.validate()
3046
+
3047
+ def to_map(self):
3048
+ _map = super().to_map()
3049
+ if _map is not None:
3050
+ return _map
3051
+
3052
+ result = dict()
3053
+ if self.headers is not None:
3054
+ result['headers'] = self.headers
3055
+ if self.status_code is not None:
3056
+ result['statusCode'] = self.status_code
3057
+ if self.body is not None:
3058
+ result['body'] = self.body.to_map()
3059
+ return result
3060
+
3061
+ def from_map(self, m: dict = None):
3062
+ m = m or dict()
3063
+ if m.get('headers') is not None:
3064
+ self.headers = m.get('headers')
3065
+ if m.get('statusCode') is not None:
3066
+ self.status_code = m.get('statusCode')
3067
+ if m.get('body') is not None:
3068
+ temp_model = GetNisNetworkRankingResponseBody()
3069
+ self.body = temp_model.from_map(m['body'])
3070
+ return self
3071
+
3072
+
3073
+ class GetTransitRouterFlowTopNRequest(TeaModel):
3074
+ def __init__(
3075
+ self,
3076
+ account_ids: List[int] = None,
3077
+ bandwith_package_id: str = None,
3078
+ begin_time: int = None,
3079
+ cen_id: str = None,
3080
+ direction: str = None,
3081
+ end_time: int = None,
3082
+ group_by: str = None,
3083
+ order_by: str = None,
3084
+ other_ip: str = None,
3085
+ other_port: str = None,
3086
+ other_region: str = None,
3087
+ protocol: str = None,
3088
+ sort: str = None,
3089
+ this_ip: str = None,
3090
+ this_port: str = None,
3091
+ this_region: str = None,
3092
+ top_n: int = None,
3093
+ use_multi_account: bool = None,
3094
+ ):
3095
+ # The IDs of the member accounts.
3096
+ self.account_ids = account_ids
3097
+ # The ID of the CEN bandwidth plan.
3098
+ self.bandwith_package_id = bandwith_package_id
3099
+ # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3100
+ #
3101
+ # This parameter is required.
3102
+ self.begin_time = begin_time
3103
+ # The CEN instance ID.
3104
+ self.cen_id = cen_id
3105
+ # The direction of the inter-region traffic in the local regions or for the local IP addresses. Valid values:
3106
+ #
3107
+ # * **in**: inbound traffic
3108
+ # * **out**: outbound traffic
3109
+ #
3110
+ # This parameter is required.
3111
+ self.direction = direction
3112
+ # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3113
+ #
3114
+ # This parameter is required.
3115
+ self.end_time = end_time
3116
+ # The dimension for ranking inter-region traffic data. The value of this parameter is case-sensitive. Valid values:
3117
+ #
3118
+ # * **1Tuple**: queries the rankings of inter-region traffic data for the local regions, Cloud Enterprise Network (CEN) instances, and IP addresses.
3119
+ # * **2Tuple**: queries the rankings of inter-region traffic data for the local and remote regions, and the local and remote IP addresses.
3120
+ # * **5Tuple**: queries the rankings of inter-region traffic data for the local and remote IP addresses, local and remote ports, and protocols.
3121
+ # * **Cen**: queries the rankings of inter-region traffic data for CEN instances.
3122
+ # * **RegionPair**: queries the rankings of inter-region traffic data for the local and remote regions.
3123
+ # * **Port**: queries the rankings of inter-region traffic data for the local and remote ports.
3124
+ # * **Protocol**: queries the rankings of inter-region traffic data for the protocols.
3125
+ #
3126
+ # This parameter is required.
3127
+ self.group_by = group_by
3128
+ # The metric for ranking inter-region traffic data. Default value: Bytes. This value specifies that inter-region traffic data is ranked by traffic volume.
3129
+ self.order_by = order_by
3130
+ # The remote IP address.
3131
+ self.other_ip = other_ip
3132
+ # The remote port.
3133
+ self.other_port = other_port
3134
+ # The remote region.
3135
+ self.other_region = other_region
3136
+ # The protocol number.
3137
+ #
3138
+ # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
3139
+ self.protocol = protocol
3140
+ # The order for ranking inter-region traffic data. Valid values:
3141
+ #
3142
+ # * **desc**: descending order
3143
+ # * **asc**: ascending order
3144
+ self.sort = sort
3145
+ # The local IP address.
3146
+ self.this_ip = this_ip
3147
+ # The local port.
3148
+ self.this_port = this_port
3149
+ # The local region where the **local IP address** resides.
3150
+ self.this_region = this_region
3151
+ # Specifies the maximum number of data entries to display. Default value: **10**. Maximum value: 100.
3152
+ self.top_n = top_n
3153
+ # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
3154
+ #
3155
+ # > By default, the multi-account management feature is not available. If you want to use this feature, contact your account manager to apply for permissions.
3156
+ self.use_multi_account = use_multi_account
3157
+
3158
+ def validate(self):
3159
+ pass
3160
+
3161
+ def to_map(self):
3162
+ _map = super().to_map()
3163
+ if _map is not None:
3164
+ return _map
3165
+
3166
+ result = dict()
3167
+ if self.account_ids is not None:
3168
+ result['AccountIds'] = self.account_ids
3169
+ if self.bandwith_package_id is not None:
3170
+ result['BandwithPackageId'] = self.bandwith_package_id
3171
+ if self.begin_time is not None:
3172
+ result['BeginTime'] = self.begin_time
3173
+ if self.cen_id is not None:
3174
+ result['CenId'] = self.cen_id
3175
+ if self.direction is not None:
3176
+ result['Direction'] = self.direction
3177
+ if self.end_time is not None:
3178
+ result['EndTime'] = self.end_time
3179
+ if self.group_by is not None:
3180
+ result['GroupBy'] = self.group_by
3181
+ if self.order_by is not None:
3182
+ result['OrderBy'] = self.order_by
3183
+ if self.other_ip is not None:
3184
+ result['OtherIp'] = self.other_ip
3185
+ if self.other_port is not None:
3186
+ result['OtherPort'] = self.other_port
3187
+ if self.other_region is not None:
3188
+ result['OtherRegion'] = self.other_region
3189
+ if self.protocol is not None:
3190
+ result['Protocol'] = self.protocol
3191
+ if self.sort is not None:
3192
+ result['Sort'] = self.sort
3193
+ if self.this_ip is not None:
3194
+ result['ThisIp'] = self.this_ip
3195
+ if self.this_port is not None:
3196
+ result['ThisPort'] = self.this_port
3197
+ if self.this_region is not None:
3198
+ result['ThisRegion'] = self.this_region
3199
+ if self.top_n is not None:
3200
+ result['TopN'] = self.top_n
3201
+ if self.use_multi_account is not None:
3202
+ result['UseMultiAccount'] = self.use_multi_account
3203
+ return result
3204
+
3205
+ def from_map(self, m: dict = None):
3206
+ m = m or dict()
3207
+ if m.get('AccountIds') is not None:
3208
+ self.account_ids = m.get('AccountIds')
3209
+ if m.get('BandwithPackageId') is not None:
3210
+ self.bandwith_package_id = m.get('BandwithPackageId')
3211
+ if m.get('BeginTime') is not None:
3212
+ self.begin_time = m.get('BeginTime')
3213
+ if m.get('CenId') is not None:
3214
+ self.cen_id = m.get('CenId')
3215
+ if m.get('Direction') is not None:
3216
+ self.direction = m.get('Direction')
3217
+ if m.get('EndTime') is not None:
3218
+ self.end_time = m.get('EndTime')
3219
+ if m.get('GroupBy') is not None:
3220
+ self.group_by = m.get('GroupBy')
3221
+ if m.get('OrderBy') is not None:
3222
+ self.order_by = m.get('OrderBy')
3223
+ if m.get('OtherIp') is not None:
3224
+ self.other_ip = m.get('OtherIp')
3225
+ if m.get('OtherPort') is not None:
3226
+ self.other_port = m.get('OtherPort')
3227
+ if m.get('OtherRegion') is not None:
3228
+ self.other_region = m.get('OtherRegion')
3229
+ if m.get('Protocol') is not None:
3230
+ self.protocol = m.get('Protocol')
3231
+ if m.get('Sort') is not None:
3232
+ self.sort = m.get('Sort')
3233
+ if m.get('ThisIp') is not None:
3234
+ self.this_ip = m.get('ThisIp')
3235
+ if m.get('ThisPort') is not None:
3236
+ self.this_port = m.get('ThisPort')
3237
+ if m.get('ThisRegion') is not None:
3238
+ self.this_region = m.get('ThisRegion')
3239
+ if m.get('TopN') is not None:
3240
+ self.top_n = m.get('TopN')
3241
+ if m.get('UseMultiAccount') is not None:
3242
+ self.use_multi_account = m.get('UseMultiAccount')
3243
+ return self
3244
+
3245
+
3246
+ class GetTransitRouterFlowTopNShrinkRequest(TeaModel):
3247
+ def __init__(
3248
+ self,
3249
+ account_ids_shrink: str = None,
3250
+ bandwith_package_id: str = None,
3251
+ begin_time: int = None,
3252
+ cen_id: str = None,
3253
+ direction: str = None,
3254
+ end_time: int = None,
3255
+ group_by: str = None,
3256
+ order_by: str = None,
3257
+ other_ip: str = None,
3258
+ other_port: str = None,
3259
+ other_region: str = None,
3260
+ protocol: str = None,
3261
+ sort: str = None,
3262
+ this_ip: str = None,
3263
+ this_port: str = None,
3264
+ this_region: str = None,
3265
+ top_n: int = None,
3266
+ use_multi_account: bool = None,
3267
+ ):
3268
+ # The IDs of the member accounts.
3269
+ self.account_ids_shrink = account_ids_shrink
3270
+ # The ID of the CEN bandwidth plan.
3271
+ self.bandwith_package_id = bandwith_package_id
3272
+ # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3273
+ #
3274
+ # This parameter is required.
3275
+ self.begin_time = begin_time
3276
+ # The CEN instance ID.
3277
+ self.cen_id = cen_id
3278
+ # The direction of the inter-region traffic in the local regions or for the local IP addresses. Valid values:
3279
+ #
3280
+ # * **in**: inbound traffic
3281
+ # * **out**: outbound traffic
3282
+ #
3283
+ # This parameter is required.
3284
+ self.direction = direction
3285
+ # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3286
+ #
3287
+ # This parameter is required.
3288
+ self.end_time = end_time
3289
+ # The dimension for ranking inter-region traffic data. The value of this parameter is case-sensitive. Valid values:
3290
+ #
3291
+ # * **1Tuple**: queries the rankings of inter-region traffic data for the local regions, Cloud Enterprise Network (CEN) instances, and IP addresses.
3292
+ # * **2Tuple**: queries the rankings of inter-region traffic data for the local and remote regions, and the local and remote IP addresses.
3293
+ # * **5Tuple**: queries the rankings of inter-region traffic data for the local and remote IP addresses, local and remote ports, and protocols.
3294
+ # * **Cen**: queries the rankings of inter-region traffic data for CEN instances.
3295
+ # * **RegionPair**: queries the rankings of inter-region traffic data for the local and remote regions.
3296
+ # * **Port**: queries the rankings of inter-region traffic data for the local and remote ports.
3297
+ # * **Protocol**: queries the rankings of inter-region traffic data for the protocols.
3298
+ #
3299
+ # This parameter is required.
3300
+ self.group_by = group_by
3301
+ # The metric for ranking inter-region traffic data. Default value: Bytes. This value specifies that inter-region traffic data is ranked by traffic volume.
3302
+ self.order_by = order_by
3303
+ # The remote IP address.
3304
+ self.other_ip = other_ip
3305
+ # The remote port.
3306
+ self.other_port = other_port
3307
+ # The remote region.
3308
+ self.other_region = other_region
3309
+ # The protocol number.
3310
+ #
3311
+ # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
3312
+ self.protocol = protocol
3313
+ # The order for ranking inter-region traffic data. Valid values:
3314
+ #
3315
+ # * **desc**: descending order
3316
+ # * **asc**: ascending order
3317
+ self.sort = sort
3318
+ # The local IP address.
3319
+ self.this_ip = this_ip
3320
+ # The local port.
3321
+ self.this_port = this_port
3322
+ # The local region where the **local IP address** resides.
3323
+ self.this_region = this_region
3324
+ # Specifies the maximum number of data entries to display. Default value: **10**. Maximum value: 100.
3325
+ self.top_n = top_n
3326
+ # Specifies whether to enable the multi-account management feature. Default value: **false**. This value specifies that the multi-account management feature is disabled.
3327
+ #
3328
+ # > By default, the multi-account management feature is not available. If you want to use this feature, contact your account manager to apply for permissions.
3329
+ self.use_multi_account = use_multi_account
3330
+
3331
+ def validate(self):
3332
+ pass
3333
+
3334
+ def to_map(self):
3335
+ _map = super().to_map()
3336
+ if _map is not None:
3337
+ return _map
3338
+
3339
+ result = dict()
3340
+ if self.account_ids_shrink is not None:
3341
+ result['AccountIds'] = self.account_ids_shrink
3342
+ if self.bandwith_package_id is not None:
3343
+ result['BandwithPackageId'] = self.bandwith_package_id
3344
+ if self.begin_time is not None:
2427
3345
  result['BeginTime'] = self.begin_time
2428
3346
  if self.cen_id is not None:
2429
3347
  result['CenId'] = self.cen_id
@@ -2728,6 +3646,8 @@ class GetVbrFlowTopNRequest(TeaModel):
2728
3646
  # The CEN connection ID.
2729
3647
  self.attachment_id = attachment_id
2730
3648
  # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3649
+ #
3650
+ # This parameter is required.
2731
3651
  self.begin_time = begin_time
2732
3652
  # The CEN instance ID.
2733
3653
  self.cen_id = cen_id
@@ -2741,8 +3661,12 @@ class GetVbrFlowTopNRequest(TeaModel):
2741
3661
  #
2742
3662
  # * **in**: traffic from a data center to Alibaba Cloud
2743
3663
  # * **out**: traffic from Alibaba Cloud to a data center
3664
+ #
3665
+ # This parameter is required.
2744
3666
  self.direction = direction
2745
3667
  # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3668
+ #
3669
+ # This parameter is required.
2746
3670
  self.end_time = end_time
2747
3671
  # The dimension for ranking hybrid cloud traffic data. The value of this parameter is case-sensitive. Valid values:
2748
3672
  #
@@ -2752,6 +3676,8 @@ class GetVbrFlowTopNRequest(TeaModel):
2752
3676
  # * **CloudPort**: queries the rankings of hybrid cloud traffic data for the local ports.
2753
3677
  # * **OtherPort**: queries the rankings of hybrid cloud traffic data for the remote ports.
2754
3678
  # * **Protocol**: queries the rankings of hybrid cloud traffic data for the protocols.
3679
+ #
3680
+ # This parameter is required.
2755
3681
  self.group_by = group_by
2756
3682
  # The metric for ranking hybrid cloud traffic data. Default value: Bytes. This value specifies that hybrid cloud traffic data is ranked by traffic volumes.
2757
3683
  self.order_by = order_by
@@ -2766,6 +3692,8 @@ class GetVbrFlowTopNRequest(TeaModel):
2766
3692
  # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
2767
3693
  self.protocol = protocol
2768
3694
  # The local region.
3695
+ #
3696
+ # This parameter is required.
2769
3697
  self.region_id = region_id
2770
3698
  # The order for ranking hybrid cloud traffic data. Valid values:
2771
3699
  #
@@ -2896,6 +3824,8 @@ class GetVbrFlowTopNShrinkRequest(TeaModel):
2896
3824
  # The CEN connection ID.
2897
3825
  self.attachment_id = attachment_id
2898
3826
  # The beginning of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3827
+ #
3828
+ # This parameter is required.
2899
3829
  self.begin_time = begin_time
2900
3830
  # The CEN instance ID.
2901
3831
  self.cen_id = cen_id
@@ -2909,8 +3839,12 @@ class GetVbrFlowTopNShrinkRequest(TeaModel):
2909
3839
  #
2910
3840
  # * **in**: traffic from a data center to Alibaba Cloud
2911
3841
  # * **out**: traffic from Alibaba Cloud to a data center
3842
+ #
3843
+ # This parameter is required.
2912
3844
  self.direction = direction
2913
3845
  # The end of the time range to query. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since January 1, 1970, 00:00:00 UTC. The maximum time range that you can query is 24 hours.
3846
+ #
3847
+ # This parameter is required.
2914
3848
  self.end_time = end_time
2915
3849
  # The dimension for ranking hybrid cloud traffic data. The value of this parameter is case-sensitive. Valid values:
2916
3850
  #
@@ -2920,6 +3854,8 @@ class GetVbrFlowTopNShrinkRequest(TeaModel):
2920
3854
  # * **CloudPort**: queries the rankings of hybrid cloud traffic data for the local ports.
2921
3855
  # * **OtherPort**: queries the rankings of hybrid cloud traffic data for the remote ports.
2922
3856
  # * **Protocol**: queries the rankings of hybrid cloud traffic data for the protocols.
3857
+ #
3858
+ # This parameter is required.
2923
3859
  self.group_by = group_by
2924
3860
  # The metric for ranking hybrid cloud traffic data. Default value: Bytes. This value specifies that hybrid cloud traffic data is ranked by traffic volumes.
2925
3861
  self.order_by = order_by
@@ -2934,6 +3870,8 @@ class GetVbrFlowTopNShrinkRequest(TeaModel):
2934
3870
  # > All protocols are supported. This parameter is required only if you set **GroupBy** to **5Tuple** or **Protocol**.
2935
3871
  self.protocol = protocol
2936
3872
  # The local region.
3873
+ #
3874
+ # This parameter is required.
2937
3875
  self.region_id = region_id
2938
3876
  # The order for ranking hybrid cloud traffic data. Valid values:
2939
3877
  #