alibabacloud-quotas20200510 1.1.4__py3-none-any.whl → 1.2.1__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.
@@ -49,8 +49,11 @@ class CreateQuotaAlarmRequest(TeaModel):
49
49
  threshold_type: str = None,
50
50
  web_hook: str = None,
51
51
  ):
52
+ # This parameter is required.
52
53
  self.alarm_name = alarm_name
54
+ # This parameter is required.
53
55
  self.product_code = product_code
56
+ # This parameter is required.
54
57
  self.quota_action_code = quota_action_code
55
58
  self.quota_dimensions = quota_dimensions
56
59
  self.threshold = threshold
@@ -159,9 +162,6 @@ class CreateQuotaAlarmResponse(TeaModel):
159
162
  self.body = body
160
163
 
161
164
  def validate(self):
162
- self.validate_required(self.headers, 'headers')
163
- self.validate_required(self.status_code, 'status_code')
164
- self.validate_required(self.body, 'body')
165
165
  if self.body:
166
166
  self.body.validate()
167
167
 
@@ -199,15 +199,19 @@ class CreateQuotaApplicationRequestDimensions(TeaModel):
199
199
  ):
200
200
  # The key of the dimension.
201
201
  #
202
- # The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
202
+ # >
203
203
  #
204
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
204
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
205
+ #
206
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
205
207
  self.key = key
206
208
  # The value of the dimension.
207
209
  #
208
- # The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
210
+ # >
211
+ #
212
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
209
213
  #
210
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
214
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
211
215
  self.value = value
212
216
 
213
217
  def validate(self):
@@ -258,13 +262,19 @@ class CreateQuotaApplicationRequest(TeaModel):
258
262
  self.audit_mode = audit_mode
259
263
  # The requested value of the quota.
260
264
  #
261
- # > Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, you must specify a reasonable quota value and detailed reasons when you submit an application to increase the value of the quota.
265
+ # >
266
+ #
267
+ # * You can specify the DesireValue parameter based on the values of the `TotalUsage` and `ApplicableRange` parameters that are returned by the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) operation.
268
+ #
269
+ # * Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, you must specify a reasonable quota value and detailed reasons when you submit an application to increase the value of the quota.
270
+ #
271
+ # This parameter is required.
262
272
  self.desire_value = desire_value
263
273
  # The quota dimensions.
264
274
  self.dimensions = dimensions
265
275
  # The end time of the validity period of the quota. Specify the value in UTC. This parameter is valid only if you set the QuotaCategory parameter to WhiteListLabel.
266
276
  #
267
- # > If you do not specify an end time, the default end time is 99 years after the quota application is submitted.
277
+ # > If you do not specify an end time, the default end time is 99 years after the quota application is submitted.
268
278
  self.effective_time = effective_time
269
279
  # The language of the quota alert notification. Valid values:
270
280
  #
@@ -273,7 +283,7 @@ class CreateQuotaApplicationRequest(TeaModel):
273
283
  self.env_language = env_language
274
284
  # The start time of the validity period of the quota. Specify the value in UTC. This parameter is valid only if you set the QuotaCategory parameter to WhiteListLabel.
275
285
  #
276
- # > If you do not specify a start time, the default start time is the time when the quota application is submitted.
286
+ # > If you do not specify a start time, the default start time is the time when the quota application is submitted.
277
287
  self.expire_time = expire_time
278
288
  # Specifies whether to send a notification about the application result. Valid values:
279
289
  #
@@ -282,9 +292,15 @@ class CreateQuotaApplicationRequest(TeaModel):
282
292
  self.notice_type = notice_type
283
293
  # The abbreviation of the Alibaba Cloud service name.
284
294
  #
285
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
295
+ # > To query the abbreviation of an Alibaba Cloud service name, check the `ProductCode` parameter that is described in [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html).
296
+ #
297
+ # This parameter is required.
286
298
  self.product_code = product_code
287
- # The ID of the quota.
299
+ # The quota ID.
300
+ #
301
+ # > To query the quota ID of an Alibaba Cloud service, check the `QuotaActionCode` parameter that is described in [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html).
302
+ #
303
+ # This parameter is required.
288
304
  self.quota_action_code = quota_action_code
289
305
  # The type of the quota.
290
306
  #
@@ -295,6 +311,8 @@ class CreateQuotaApplicationRequest(TeaModel):
295
311
  # The reason for the application.
296
312
  #
297
313
  # > Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, you must specify a reasonable quota value and detailed reasons when you submit an application to increase the value of the quota.
314
+ #
315
+ # This parameter is required.
298
316
  self.reason = reason
299
317
 
300
318
  def validate(self):
@@ -410,7 +428,7 @@ class CreateQuotaApplicationResponseBody(TeaModel):
410
428
  self.notice_type = notice_type
411
429
  # The abbreviation of the Alibaba Cloud service name.
412
430
  self.product_code = product_code
413
- # The ID of the quota.
431
+ # The quota ID.
414
432
  self.quota_action_code = quota_action_code
415
433
  # The Alibaba Cloud Resource Name (ARN) of the quota.
416
434
  self.quota_arn = quota_arn
@@ -418,7 +436,7 @@ class CreateQuotaApplicationResponseBody(TeaModel):
418
436
  self.quota_description = quota_description
419
437
  # The name of the quota.
420
438
  self.quota_name = quota_name
421
- # The unit of the new quota value.
439
+ # The unit of the quota.
422
440
  self.quota_unit = quota_unit
423
441
  # The reason for the application.
424
442
  self.reason = reason
@@ -532,9 +550,6 @@ class CreateQuotaApplicationResponse(TeaModel):
532
550
  self.body = body
533
551
 
534
552
  def validate(self):
535
- self.validate_required(self.headers, 'headers')
536
- self.validate_required(self.status_code, 'status_code')
537
- self.validate_required(self.body, 'body')
538
553
  if self.body:
539
554
  self.body.validate()
540
555
 
@@ -570,15 +585,21 @@ class CreateQuotaApplicationsForTemplateRequestDimensions(TeaModel):
570
585
  key: str = None,
571
586
  value: str = None,
572
587
  ):
573
- # The key of the quota dimension.
588
+ # The key of the dimension.
589
+ #
590
+ # >
574
591
  #
575
- # The value range of N varies based on the number of dimensions that are supported by the Alibaba Cloud service.
592
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
576
593
  #
577
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
594
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
578
595
  self.key = key
579
- # The value of the quota dimension.
596
+ # The value of the dimension.
597
+ #
598
+ # >
580
599
  #
581
- # > The value range of N varies based on the number of dimensions that are supported by the Alibaba Cloud service.
600
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
601
+ #
602
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
582
603
  self.value = value
583
604
 
584
605
  def validate(self):
@@ -620,13 +641,21 @@ class CreateQuotaApplicationsForTemplateRequest(TeaModel):
620
641
  quota_category: str = None,
621
642
  reason: str = None,
622
643
  ):
623
- # The Alibaba Cloud accounts that correspond to the resource directory member accounts for which the quotas are applied.
644
+ # The Alibaba Cloud accounts that correspond to the resource directory members for which the quotas are applied.
645
+ #
646
+ # > You can submit a quota increase application for a maximum of 50 members at a time. For more information about the members of a resource directory, see [ListAccounts](https://help.aliyun.com/document_detail/604207.html).
624
647
  #
625
- # > You can apply for a quota increase for up to 50 member accounts in each request. For more information about the member accounts in a resource directory, see [ListAccounts](~~604207~~).
648
+ # This parameter is required.
626
649
  self.aliyun_uids = aliyun_uids
627
650
  # The requested value of the quota.
628
651
  #
629
- # > Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, you must specify a reasonable quota value and detailed reasons when you submit the application.
652
+ # >
653
+ #
654
+ # * You can specify DesireValue based on the values of `TotalUsage` and `ApplicableRange` in the response to the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) operation.
655
+ #
656
+ # * Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, specify a reasonable quota value and a detailed reason.
657
+ #
658
+ # This parameter is required.
630
659
  self.desire_value = desire_value
631
660
  # The quota dimensions.
632
661
  self.dimensions = dimensions
@@ -650,19 +679,29 @@ class CreateQuotaApplicationsForTemplateRequest(TeaModel):
650
679
  self.notice_type = notice_type
651
680
  # The abbreviation of the Alibaba Cloud service name.
652
681
  #
653
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
682
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of `ProductCode` in the response.
683
+ #
684
+ # This parameter is required.
654
685
  self.product_code = product_code
655
686
  # The quota ID.
687
+ #
688
+ # > To query the quota ID of an Alibaba Cloud service, call the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) and check the value of `QuotaActionCode` in the response.
689
+ #
690
+ # This parameter is required.
656
691
  self.quota_action_code = quota_action_code
657
692
  # The quota type. Valid values:
658
693
  #
659
- # * CommonQuota (default): general quota
694
+ # * CommonQuota: general quota
660
695
  # * FlowControl: API rate limit
661
696
  # * WhiteListLabel: privilege
697
+ #
698
+ # This parameter is required.
662
699
  self.quota_category = quota_category
663
700
  # The reason for the quota application.
664
701
  #
665
702
  # > Applications are reviewed by the technical support team of each Alibaba Cloud service. To increase the success rate of your application, you must specify a reasonable quota value and detailed reasons when you submit the application.
703
+ #
704
+ # This parameter is required.
666
705
  self.reason = reason
667
706
 
668
707
  def validate(self):
@@ -837,9 +876,6 @@ class CreateQuotaApplicationsForTemplateResponse(TeaModel):
837
876
  self.body = body
838
877
 
839
878
  def validate(self):
840
- self.validate_required(self.headers, 'headers')
841
- self.validate_required(self.status_code, 'status_code')
842
- self.validate_required(self.body, 'body')
843
879
  if self.body:
844
880
  self.body.validate()
845
881
 
@@ -877,15 +913,19 @@ class CreateTemplateQuotaItemRequestDimensions(TeaModel):
877
913
  ):
878
914
  # The key of the dimension.
879
915
  #
880
- # The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
916
+ # >
917
+ #
918
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
881
919
  #
882
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
920
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
883
921
  self.key = key
884
922
  # The value of the dimension.
885
923
  #
886
- # The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
924
+ # >
887
925
  #
888
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
926
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
927
+ #
928
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
889
929
  self.value = value
890
930
 
891
931
  def validate(self):
@@ -926,6 +966,14 @@ class CreateTemplateQuotaItemRequest(TeaModel):
926
966
  quota_category: str = None,
927
967
  ):
928
968
  # The requested value of the quota.
969
+ #
970
+ # >
971
+ #
972
+ # * You can specify DesireValue based on the values of `TotalUsage` and `ApplicableRange` in the response to the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) operation.
973
+ #
974
+ # * Applications are reviewed by the technical support team for each cloud service. To increase the success rate of your application, specify a reasonable quota value and a detailed reason.
975
+ #
976
+ # This parameter is required.
929
977
  self.desire_value = desire_value
930
978
  # The quota dimensions.
931
979
  self.dimensions = dimensions
@@ -949,9 +997,15 @@ class CreateTemplateQuotaItemRequest(TeaModel):
949
997
  self.notice_type = notice_type
950
998
  # The abbreviation of the Alibaba Cloud service name.
951
999
  #
952
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
1000
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of `ProductCode` in the response.
1001
+ #
1002
+ # This parameter is required.
953
1003
  self.product_code = product_code
954
- # The ID of the quota.
1004
+ # The quota ID.
1005
+ #
1006
+ # > To obtain the quota ID of an Alibaba Cloud service, call the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) operation and check the value of `QuotaActionCode` in the response.
1007
+ #
1008
+ # This parameter is required.
955
1009
  self.quota_action_code = quota_action_code
956
1010
  # The quota type. Valid values:
957
1011
  #
@@ -1067,9 +1121,6 @@ class CreateTemplateQuotaItemResponse(TeaModel):
1067
1121
  self.body = body
1068
1122
 
1069
1123
  def validate(self):
1070
- self.validate_required(self.headers, 'headers')
1071
- self.validate_required(self.status_code, 'status_code')
1072
- self.validate_required(self.body, 'body')
1073
1124
  if self.body:
1074
1125
  self.body.validate()
1075
1126
 
@@ -1105,6 +1156,10 @@ class DeleteQuotaAlarmRequest(TeaModel):
1105
1156
  alarm_id: str = None,
1106
1157
  ):
1107
1158
  # The ID of the quota alert.
1159
+ #
1160
+ # > You can call the [ListQuotaAlarms](https://help.aliyun.com/document_detail/440561.html) operation to obtain the ID of a quota alert.
1161
+ #
1162
+ # This parameter is required.
1108
1163
  self.alarm_id = alarm_id
1109
1164
 
1110
1165
  def validate(self):
@@ -1167,9 +1222,6 @@ class DeleteQuotaAlarmResponse(TeaModel):
1167
1222
  self.body = body
1168
1223
 
1169
1224
  def validate(self):
1170
- self.validate_required(self.headers, 'headers')
1171
- self.validate_required(self.status_code, 'status_code')
1172
- self.validate_required(self.body, 'body')
1173
1225
  if self.body:
1174
1226
  self.body.validate()
1175
1227
 
@@ -1205,6 +1257,10 @@ class DeleteTemplateQuotaItemRequest(TeaModel):
1205
1257
  id: str = None,
1206
1258
  ):
1207
1259
  # The ID of the quota template.
1260
+ #
1261
+ # You can call the [ListQuotaApplicationTemplates](https://help.aliyun.com/document_detail/450403.html) operation to obtain the ID of a quota template.
1262
+ #
1263
+ # This parameter is required.
1208
1264
  self.id = id
1209
1265
 
1210
1266
  def validate(self):
@@ -1274,9 +1330,6 @@ class DeleteTemplateQuotaItemResponse(TeaModel):
1274
1330
  self.body = body
1275
1331
 
1276
1332
  def validate(self):
1277
- self.validate_required(self.headers, 'headers')
1278
- self.validate_required(self.status_code, 'status_code')
1279
- self.validate_required(self.body, 'body')
1280
1333
  if self.body:
1281
1334
  self.body.validate()
1282
1335
 
@@ -1358,9 +1411,13 @@ class GetProductQuotaRequest(TeaModel):
1358
1411
  self.dimensions = dimensions
1359
1412
  # The abbreviation of the Alibaba Cloud service name.
1360
1413
  #
1361
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
1414
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
1415
+ #
1416
+ # This parameter is required.
1362
1417
  self.product_code = product_code
1363
1418
  # The ID of the quota.
1419
+ #
1420
+ # This parameter is required.
1364
1421
  self.quota_action_code = quota_action_code
1365
1422
 
1366
1423
  def validate(self):
@@ -1494,6 +1551,45 @@ class GetProductQuotaResponseBodyQuotaQuotaItems(TeaModel):
1494
1551
  return self
1495
1552
 
1496
1553
 
1554
+ class GetProductQuotaResponseBodyQuotaUsageMetric(TeaModel):
1555
+ def __init__(
1556
+ self,
1557
+ metric_dimensions: Dict[str, str] = None,
1558
+ metric_name: str = None,
1559
+ metric_namespace: str = None,
1560
+ ):
1561
+ self.metric_dimensions = metric_dimensions
1562
+ self.metric_name = metric_name
1563
+ self.metric_namespace = metric_namespace
1564
+
1565
+ def validate(self):
1566
+ pass
1567
+
1568
+ def to_map(self):
1569
+ _map = super().to_map()
1570
+ if _map is not None:
1571
+ return _map
1572
+
1573
+ result = dict()
1574
+ if self.metric_dimensions is not None:
1575
+ result['MetricDimensions'] = self.metric_dimensions
1576
+ if self.metric_name is not None:
1577
+ result['MetricName'] = self.metric_name
1578
+ if self.metric_namespace is not None:
1579
+ result['MetricNamespace'] = self.metric_namespace
1580
+ return result
1581
+
1582
+ def from_map(self, m: dict = None):
1583
+ m = m or dict()
1584
+ if m.get('MetricDimensions') is not None:
1585
+ self.metric_dimensions = m.get('MetricDimensions')
1586
+ if m.get('MetricName') is not None:
1587
+ self.metric_name = m.get('MetricName')
1588
+ if m.get('MetricNamespace') is not None:
1589
+ self.metric_namespace = m.get('MetricNamespace')
1590
+ return self
1591
+
1592
+
1497
1593
  class GetProductQuotaResponseBodyQuota(TeaModel):
1498
1594
  def __init__(
1499
1595
  self,
@@ -1520,6 +1616,7 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1520
1616
  total_quota: float = None,
1521
1617
  total_usage: float = None,
1522
1618
  unadjustable_detail: str = None,
1619
+ usage_metric: GetProductQuotaResponseBodyQuotaUsageMetric = None,
1523
1620
  ):
1524
1621
  # Indicates whether the quota is adjustable. Valid values:
1525
1622
  #
@@ -1593,6 +1690,7 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1593
1690
  # * limitReached: The quota limit is reached.
1594
1691
  # * supportTicketRequired: The quota can be increased only by submitting a ticket.
1595
1692
  self.unadjustable_detail = unadjustable_detail
1693
+ self.usage_metric = usage_metric
1596
1694
 
1597
1695
  def validate(self):
1598
1696
  if self.period:
@@ -1601,6 +1699,8 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1601
1699
  for k in self.quota_items:
1602
1700
  if k:
1603
1701
  k.validate()
1702
+ if self.usage_metric:
1703
+ self.usage_metric.validate()
1604
1704
 
1605
1705
  def to_map(self):
1606
1706
  _map = super().to_map()
@@ -1656,6 +1756,8 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1656
1756
  result['TotalUsage'] = self.total_usage
1657
1757
  if self.unadjustable_detail is not None:
1658
1758
  result['UnadjustableDetail'] = self.unadjustable_detail
1759
+ if self.usage_metric is not None:
1760
+ result['UsageMetric'] = self.usage_metric.to_map()
1659
1761
  return result
1660
1762
 
1661
1763
  def from_map(self, m: dict = None):
@@ -1710,6 +1812,9 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1710
1812
  self.total_usage = m.get('TotalUsage')
1711
1813
  if m.get('UnadjustableDetail') is not None:
1712
1814
  self.unadjustable_detail = m.get('UnadjustableDetail')
1815
+ if m.get('UsageMetric') is not None:
1816
+ temp_model = GetProductQuotaResponseBodyQuotaUsageMetric()
1817
+ self.usage_metric = temp_model.from_map(m['UsageMetric'])
1713
1818
  return self
1714
1819
 
1715
1820
 
@@ -1762,9 +1867,6 @@ class GetProductQuotaResponse(TeaModel):
1762
1867
  self.body = body
1763
1868
 
1764
1869
  def validate(self):
1765
- self.validate_required(self.headers, 'headers')
1766
- self.validate_required(self.status_code, 'status_code')
1767
- self.validate_required(self.body, 'body')
1768
1870
  if self.body:
1769
1871
  self.body.validate()
1770
1872
 
@@ -1846,7 +1948,9 @@ class GetProductQuotaDimensionRequest(TeaModel):
1846
1948
  self.dimension_key = dimension_key
1847
1949
  # The abbreviation of the Alibaba Cloud service name.
1848
1950
  #
1849
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
1951
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
1952
+ #
1953
+ # This parameter is required.
1850
1954
  self.product_code = product_code
1851
1955
 
1852
1956
  def validate(self):
@@ -2038,9 +2142,6 @@ class GetProductQuotaDimensionResponse(TeaModel):
2038
2142
  self.body = body
2039
2143
 
2040
2144
  def validate(self):
2041
- self.validate_required(self.headers, 'headers')
2042
- self.validate_required(self.status_code, 'status_code')
2043
- self.validate_required(self.body, 'body')
2044
2145
  if self.body:
2045
2146
  self.body.validate()
2046
2147
 
@@ -2075,7 +2176,9 @@ class GetQuotaAlarmRequest(TeaModel):
2075
2176
  self,
2076
2177
  alarm_id: str = None,
2077
2178
  ):
2078
- # The ID of the request.
2179
+ # The ID of the quota alert.
2180
+ #
2181
+ # For more information about how to query the ID of a quota alert, see [ListQuotaAlarms](https://help.aliyun.com/document_detail/184348.html).
2079
2182
  self.alarm_id = alarm_id
2080
2183
 
2081
2184
  def validate(self):
@@ -2116,34 +2219,34 @@ class GetQuotaAlarmResponseBodyQuotaAlarm(TeaModel):
2116
2219
  threshold_type: str = None,
2117
2220
  webhook: str = None,
2118
2221
  ):
2119
- # The numeric value of the alert threshold.
2222
+ # The ID of the quota alert.
2120
2223
  self.alarm_id = alarm_id
2121
- # security_groups
2224
+ # The name of the quota alert.
2122
2225
  self.alarm_name = alarm_name
2123
- # The ID of the quota.
2226
+ # The time when the quota alert was created.
2124
2227
  self.create_time = create_time
2125
2228
  # The alert notification methods.
2126
2229
  self.notify_channels = notify_channels
2127
- # The used quota.
2230
+ # The alert contact.
2128
2231
  self.notify_target = notify_target
2129
- # The abbreviation of the Alibaba Cloud service name.
2232
+ # The abbreviation of the cloud service name.
2130
2233
  self.product_code = product_code
2131
- # The name of the quota alert.
2234
+ # The ID of the quota.
2132
2235
  self.quota_action_code = quota_action_code
2133
- # The time when the quota alert was created.
2236
+ # The quota dimension.
2134
2237
  self.quota_dimension = quota_dimension
2135
- # The value of the quota.
2238
+ # The used quota.
2136
2239
  self.quota_usage = quota_usage
2137
- # The ID of the quota alert.
2240
+ # The quota value.
2138
2241
  self.quota_value = quota_value
2139
- # The abbreviation of the Alibaba Cloud service name.
2242
+ # The numeric value of the alert threshold.
2140
2243
  self.threshold = threshold
2244
+ # The percentage of the alert threshold.
2245
+ self.threshold_percent = threshold_percent
2141
2246
  # The type of the quota alert. Valid values:
2142
2247
  #
2143
2248
  # * used: The alert is created for the used quota.
2144
2249
  # * usable: The alert is created for the available quota.
2145
- self.threshold_percent = threshold_percent
2146
- # The quota dimension.
2147
2250
  self.threshold_type = threshold_type
2148
2251
  # The webhook URL. Quota Center sends alert notifications to the specified URL by using HTTP POST requests.
2149
2252
  self.webhook = webhook
@@ -2226,9 +2329,9 @@ class GetQuotaAlarmResponseBody(TeaModel):
2226
2329
  quota_alarm: GetQuotaAlarmResponseBodyQuotaAlarm = None,
2227
2330
  request_id: str = None,
2228
2331
  ):
2229
- # The details of the quota alert rule.
2230
- self.quota_alarm = quota_alarm
2231
2332
  # The details of the quota alert.
2333
+ self.quota_alarm = quota_alarm
2334
+ # The ID of the request.
2232
2335
  self.request_id = request_id
2233
2336
 
2234
2337
  def validate(self):
@@ -2269,9 +2372,6 @@ class GetQuotaAlarmResponse(TeaModel):
2269
2372
  self.body = body
2270
2373
 
2271
2374
  def validate(self):
2272
- self.validate_required(self.headers, 'headers')
2273
- self.validate_required(self.status_code, 'status_code')
2274
- self.validate_required(self.body, 'body')
2275
2375
  if self.body:
2276
2376
  self.body.validate()
2277
2377
 
@@ -2344,6 +2444,7 @@ class GetQuotaApplicationResponseBodyQuotaApplication(TeaModel):
2344
2444
  product_code: str = None,
2345
2445
  quota_action_code: str = None,
2346
2446
  quota_arn: str = None,
2447
+ quota_category: str = None,
2347
2448
  quota_description: str = None,
2348
2449
  quota_name: str = None,
2349
2450
  quota_unit: str = None,
@@ -2380,6 +2481,7 @@ class GetQuotaApplicationResponseBodyQuotaApplication(TeaModel):
2380
2481
  self.quota_action_code = quota_action_code
2381
2482
  # The Alibaba Cloud Resource Name (ARN) of the quota.
2382
2483
  self.quota_arn = quota_arn
2484
+ self.quota_category = quota_category
2383
2485
  # The description of the quota.
2384
2486
  self.quota_description = quota_description
2385
2487
  # The name of the quota.
@@ -2429,6 +2531,8 @@ class GetQuotaApplicationResponseBodyQuotaApplication(TeaModel):
2429
2531
  result['QuotaActionCode'] = self.quota_action_code
2430
2532
  if self.quota_arn is not None:
2431
2533
  result['QuotaArn'] = self.quota_arn
2534
+ if self.quota_category is not None:
2535
+ result['QuotaCategory'] = self.quota_category
2432
2536
  if self.quota_description is not None:
2433
2537
  result['QuotaDescription'] = self.quota_description
2434
2538
  if self.quota_name is not None:
@@ -2467,6 +2571,8 @@ class GetQuotaApplicationResponseBodyQuotaApplication(TeaModel):
2467
2571
  self.quota_action_code = m.get('QuotaActionCode')
2468
2572
  if m.get('QuotaArn') is not None:
2469
2573
  self.quota_arn = m.get('QuotaArn')
2574
+ if m.get('QuotaCategory') is not None:
2575
+ self.quota_category = m.get('QuotaCategory')
2470
2576
  if m.get('QuotaDescription') is not None:
2471
2577
  self.quota_description = m.get('QuotaDescription')
2472
2578
  if m.get('QuotaName') is not None:
@@ -2529,9 +2635,6 @@ class GetQuotaApplicationResponse(TeaModel):
2529
2635
  self.body = body
2530
2636
 
2531
2637
  def validate(self):
2532
- self.validate_required(self.headers, 'headers')
2533
- self.validate_required(self.status_code, 'status_code')
2534
- self.validate_required(self.body, 'body')
2535
2638
  if self.body:
2536
2639
  self.body.validate()
2537
2640
 
@@ -2561,6 +2664,228 @@ class GetQuotaApplicationResponse(TeaModel):
2561
2664
  return self
2562
2665
 
2563
2666
 
2667
+ class GetQuotaApplicationApprovalRequest(TeaModel):
2668
+ def __init__(
2669
+ self,
2670
+ application_id: str = None,
2671
+ ):
2672
+ # The quota application ID.
2673
+ #
2674
+ # For more information about how to obtain the ID of a quota application, see [ListQuotaApplications](https://help.aliyun.com/document_detail/440568.html).
2675
+ self.application_id = application_id
2676
+
2677
+ def validate(self):
2678
+ pass
2679
+
2680
+ def to_map(self):
2681
+ _map = super().to_map()
2682
+ if _map is not None:
2683
+ return _map
2684
+
2685
+ result = dict()
2686
+ if self.application_id is not None:
2687
+ result['ApplicationId'] = self.application_id
2688
+ return result
2689
+
2690
+ def from_map(self, m: dict = None):
2691
+ m = m or dict()
2692
+ if m.get('ApplicationId') is not None:
2693
+ self.application_id = m.get('ApplicationId')
2694
+ return self
2695
+
2696
+
2697
+ class GetQuotaApplicationApprovalResponseBodyModule(TeaModel):
2698
+ def __init__(
2699
+ self,
2700
+ approval_hours: int = None,
2701
+ reminder_interval_hours: int = None,
2702
+ support_reminder: bool = None,
2703
+ unsupport_reminder_reason: str = None,
2704
+ ):
2705
+ # The average amount of time required to approve quota applications. Unit: hour.
2706
+ self.approval_hours = approval_hours
2707
+ # The interval between two consecutive approval reminders. Unit: hour.
2708
+ self.reminder_interval_hours = reminder_interval_hours
2709
+ # Indicates whether approval reminders are supported for quota applications. Valid values:
2710
+ #
2711
+ # * false
2712
+ # * true
2713
+ self.support_reminder = support_reminder
2714
+ # The reason why approval reminders are not supported for quota applications.
2715
+ self.unsupport_reminder_reason = unsupport_reminder_reason
2716
+
2717
+ def validate(self):
2718
+ pass
2719
+
2720
+ def to_map(self):
2721
+ _map = super().to_map()
2722
+ if _map is not None:
2723
+ return _map
2724
+
2725
+ result = dict()
2726
+ if self.approval_hours is not None:
2727
+ result['ApprovalHours'] = self.approval_hours
2728
+ if self.reminder_interval_hours is not None:
2729
+ result['ReminderIntervalHours'] = self.reminder_interval_hours
2730
+ if self.support_reminder is not None:
2731
+ result['SupportReminder'] = self.support_reminder
2732
+ if self.unsupport_reminder_reason is not None:
2733
+ result['UnsupportReminderReason'] = self.unsupport_reminder_reason
2734
+ return result
2735
+
2736
+ def from_map(self, m: dict = None):
2737
+ m = m or dict()
2738
+ if m.get('ApprovalHours') is not None:
2739
+ self.approval_hours = m.get('ApprovalHours')
2740
+ if m.get('ReminderIntervalHours') is not None:
2741
+ self.reminder_interval_hours = m.get('ReminderIntervalHours')
2742
+ if m.get('SupportReminder') is not None:
2743
+ self.support_reminder = m.get('SupportReminder')
2744
+ if m.get('UnsupportReminderReason') is not None:
2745
+ self.unsupport_reminder_reason = m.get('UnsupportReminderReason')
2746
+ return self
2747
+
2748
+
2749
+ class GetQuotaApplicationApprovalResponseBody(TeaModel):
2750
+ def __init__(
2751
+ self,
2752
+ allow_retry: bool = None,
2753
+ dynamic_code: str = None,
2754
+ dynamic_message: str = None,
2755
+ error_args: List[Any] = None,
2756
+ error_code: str = None,
2757
+ error_msg: str = None,
2758
+ http_status_code: int = None,
2759
+ module: GetQuotaApplicationApprovalResponseBodyModule = None,
2760
+ request_id: str = None,
2761
+ success: bool = None,
2762
+ ):
2763
+ # Indicates whether retries are allowed. Valid values:
2764
+ #
2765
+ # * false
2766
+ # * true
2767
+ self.allow_retry = allow_retry
2768
+ # The dynamic error code.
2769
+ self.dynamic_code = dynamic_code
2770
+ # The dynamic error message.
2771
+ self.dynamic_message = dynamic_message
2772
+ # The parameters whose values are invalid.
2773
+ self.error_args = error_args
2774
+ # The error code.
2775
+ self.error_code = error_code
2776
+ # The error message.
2777
+ self.error_msg = error_msg
2778
+ # The HTTP status code.
2779
+ self.http_status_code = http_status_code
2780
+ # The information about quota application approval.
2781
+ self.module = module
2782
+ # The request ID.
2783
+ self.request_id = request_id
2784
+ # Indicates whether the request was successful. Valid values:
2785
+ #
2786
+ # * true
2787
+ # * false
2788
+ self.success = success
2789
+
2790
+ def validate(self):
2791
+ if self.module:
2792
+ self.module.validate()
2793
+
2794
+ def to_map(self):
2795
+ _map = super().to_map()
2796
+ if _map is not None:
2797
+ return _map
2798
+
2799
+ result = dict()
2800
+ if self.allow_retry is not None:
2801
+ result['AllowRetry'] = self.allow_retry
2802
+ if self.dynamic_code is not None:
2803
+ result['DynamicCode'] = self.dynamic_code
2804
+ if self.dynamic_message is not None:
2805
+ result['DynamicMessage'] = self.dynamic_message
2806
+ if self.error_args is not None:
2807
+ result['ErrorArgs'] = self.error_args
2808
+ if self.error_code is not None:
2809
+ result['ErrorCode'] = self.error_code
2810
+ if self.error_msg is not None:
2811
+ result['ErrorMsg'] = self.error_msg
2812
+ if self.http_status_code is not None:
2813
+ result['HttpStatusCode'] = self.http_status_code
2814
+ if self.module is not None:
2815
+ result['Module'] = self.module.to_map()
2816
+ if self.request_id is not None:
2817
+ result['RequestId'] = self.request_id
2818
+ if self.success is not None:
2819
+ result['Success'] = self.success
2820
+ return result
2821
+
2822
+ def from_map(self, m: dict = None):
2823
+ m = m or dict()
2824
+ if m.get('AllowRetry') is not None:
2825
+ self.allow_retry = m.get('AllowRetry')
2826
+ if m.get('DynamicCode') is not None:
2827
+ self.dynamic_code = m.get('DynamicCode')
2828
+ if m.get('DynamicMessage') is not None:
2829
+ self.dynamic_message = m.get('DynamicMessage')
2830
+ if m.get('ErrorArgs') is not None:
2831
+ self.error_args = m.get('ErrorArgs')
2832
+ if m.get('ErrorCode') is not None:
2833
+ self.error_code = m.get('ErrorCode')
2834
+ if m.get('ErrorMsg') is not None:
2835
+ self.error_msg = m.get('ErrorMsg')
2836
+ if m.get('HttpStatusCode') is not None:
2837
+ self.http_status_code = m.get('HttpStatusCode')
2838
+ if m.get('Module') is not None:
2839
+ temp_model = GetQuotaApplicationApprovalResponseBodyModule()
2840
+ self.module = temp_model.from_map(m['Module'])
2841
+ if m.get('RequestId') is not None:
2842
+ self.request_id = m.get('RequestId')
2843
+ if m.get('Success') is not None:
2844
+ self.success = m.get('Success')
2845
+ return self
2846
+
2847
+
2848
+ class GetQuotaApplicationApprovalResponse(TeaModel):
2849
+ def __init__(
2850
+ self,
2851
+ headers: Dict[str, str] = None,
2852
+ status_code: int = None,
2853
+ body: GetQuotaApplicationApprovalResponseBody = None,
2854
+ ):
2855
+ self.headers = headers
2856
+ self.status_code = status_code
2857
+ self.body = body
2858
+
2859
+ def validate(self):
2860
+ if self.body:
2861
+ self.body.validate()
2862
+
2863
+ def to_map(self):
2864
+ _map = super().to_map()
2865
+ if _map is not None:
2866
+ return _map
2867
+
2868
+ result = dict()
2869
+ if self.headers is not None:
2870
+ result['headers'] = self.headers
2871
+ if self.status_code is not None:
2872
+ result['statusCode'] = self.status_code
2873
+ if self.body is not None:
2874
+ result['body'] = self.body.to_map()
2875
+ return result
2876
+
2877
+ def from_map(self, m: dict = None):
2878
+ m = m or dict()
2879
+ if m.get('headers') is not None:
2880
+ self.headers = m.get('headers')
2881
+ if m.get('statusCode') is not None:
2882
+ self.status_code = m.get('statusCode')
2883
+ if m.get('body') is not None:
2884
+ temp_model = GetQuotaApplicationApprovalResponseBody()
2885
+ self.body = temp_model.from_map(m['body'])
2886
+ return self
2887
+
2888
+
2564
2889
  class GetQuotaTemplateServiceStatusRequest(TeaModel):
2565
2890
  def __init__(
2566
2891
  self,
@@ -2599,7 +2924,7 @@ class GetQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel):
2599
2924
  self.resource_directory_id = resource_directory_id
2600
2925
  # The state of the quota template. Valid values:
2601
2926
  #
2602
- # * \-1: The quota template is disabled.
2927
+ # * \\-1: The quota template is disabled.
2603
2928
  # * 1: The quota template is enabled.
2604
2929
  self.service_status = service_status
2605
2930
 
@@ -2676,9 +3001,6 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2676
3001
  self.body = body
2677
3002
 
2678
3003
  def validate(self):
2679
- self.validate_required(self.headers, 'headers')
2680
- self.validate_required(self.status_code, 'status_code')
2681
- self.validate_required(self.body, 'body')
2682
3004
  if self.body:
2683
3005
  self.body.validate()
2684
3006
 
@@ -2711,6 +3033,7 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2711
3033
  class ListAlarmHistoriesRequest(TeaModel):
2712
3034
  def __init__(
2713
3035
  self,
3036
+ alarm_id: str = None,
2714
3037
  end_time: int = None,
2715
3038
  keyword: str = None,
2716
3039
  max_results: int = None,
@@ -2718,6 +3041,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2718
3041
  product_code: str = None,
2719
3042
  start_time: int = None,
2720
3043
  ):
3044
+ # The ID of the alert.
3045
+ self.alarm_id = alarm_id
2721
3046
  # The end of the time range to query.
2722
3047
  self.end_time = end_time
2723
3048
  # The keyword that is used for the query.
@@ -2730,7 +3055,7 @@ class ListAlarmHistoriesRequest(TeaModel):
2730
3055
  self.next_token = next_token
2731
3056
  # The abbreviation of the Alibaba Cloud service name.
2732
3057
  #
2733
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3058
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
2734
3059
  self.product_code = product_code
2735
3060
  # The beginning of the time range to query.
2736
3061
  self.start_time = start_time
@@ -2744,6 +3069,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2744
3069
  return _map
2745
3070
 
2746
3071
  result = dict()
3072
+ if self.alarm_id is not None:
3073
+ result['AlarmId'] = self.alarm_id
2747
3074
  if self.end_time is not None:
2748
3075
  result['EndTime'] = self.end_time
2749
3076
  if self.keyword is not None:
@@ -2760,6 +3087,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2760
3087
 
2761
3088
  def from_map(self, m: dict = None):
2762
3089
  m = m or dict()
3090
+ if m.get('AlarmId') is not None:
3091
+ self.alarm_id = m.get('AlarmId')
2763
3092
  if m.get('EndTime') is not None:
2764
3093
  self.end_time = m.get('EndTime')
2765
3094
  if m.get('Keyword') is not None:
@@ -2935,9 +3264,6 @@ class ListAlarmHistoriesResponse(TeaModel):
2935
3264
  self.body = body
2936
3265
 
2937
3266
  def validate(self):
2938
- self.validate_required(self.headers, 'headers')
2939
- self.validate_required(self.status_code, 'status_code')
2940
- self.validate_required(self.body, 'body')
2941
3267
  if self.body:
2942
3268
  self.body.validate()
2943
3269
 
@@ -2975,9 +3301,13 @@ class ListDependentQuotasRequest(TeaModel):
2975
3301
  ):
2976
3302
  # The abbreviation of the Alibaba Cloud service name.
2977
3303
  #
2978
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3304
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3305
+ #
3306
+ # This parameter is required.
2979
3307
  self.product_code = product_code
2980
3308
  # The quota ID.
3309
+ #
3310
+ # This parameter is required.
2981
3311
  self.quota_action_code = quota_action_code
2982
3312
 
2983
3313
  def validate(self):
@@ -3158,9 +3488,6 @@ class ListDependentQuotasResponse(TeaModel):
3158
3488
  self.body = body
3159
3489
 
3160
3490
  def validate(self):
3161
- self.validate_required(self.headers, 'headers')
3162
- self.validate_required(self.status_code, 'status_code')
3163
- self.validate_required(self.body, 'body')
3164
3491
  if self.body:
3165
3492
  self.body.validate()
3166
3493
 
@@ -3203,7 +3530,9 @@ class ListProductDimensionGroupsRequest(TeaModel):
3203
3530
  self.next_token = next_token
3204
3531
  # The service code.
3205
3532
  #
3206
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3533
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3534
+ #
3535
+ # This parameter is required.
3207
3536
  self.product_code = product_code
3208
3537
 
3209
3538
  def validate(self):
@@ -3359,9 +3688,6 @@ class ListProductDimensionGroupsResponse(TeaModel):
3359
3688
  self.body = body
3360
3689
 
3361
3690
  def validate(self):
3362
- self.validate_required(self.headers, 'headers')
3363
- self.validate_required(self.status_code, 'status_code')
3364
- self.validate_required(self.body, 'body')
3365
3691
  if self.body:
3366
3692
  self.body.validate()
3367
3693
 
@@ -3407,7 +3733,9 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3407
3733
  self.next_token = next_token
3408
3734
  # The abbreviation of the Alibaba Cloud service name.
3409
3735
  #
3410
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3736
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3737
+ #
3738
+ # This parameter is required.
3411
3739
  self.product_code = product_code
3412
3740
  # The type of the quota. Valid values:
3413
3741
  #
@@ -3447,19 +3775,60 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3447
3775
  return self
3448
3776
 
3449
3777
 
3778
+ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions(TeaModel):
3779
+ def __init__(
3780
+ self,
3781
+ key: str = None,
3782
+ value: str = None,
3783
+ ):
3784
+ # The key of the quota dimension on which the quota dimension that you want to query is dependent.
3785
+ self.key = key
3786
+ # The value of the quota dimension on which the quota dimension that you want to query is dependent.
3787
+ self.value = value
3788
+
3789
+ def validate(self):
3790
+ pass
3791
+
3792
+ def to_map(self):
3793
+ _map = super().to_map()
3794
+ if _map is not None:
3795
+ return _map
3796
+
3797
+ result = dict()
3798
+ if self.key is not None:
3799
+ result['Key'] = self.key
3800
+ if self.value is not None:
3801
+ result['Value'] = self.value
3802
+ return result
3803
+
3804
+ def from_map(self, m: dict = None):
3805
+ m = m or dict()
3806
+ if m.get('Key') is not None:
3807
+ self.key = m.get('Key')
3808
+ if m.get('Value') is not None:
3809
+ self.value = m.get('Value')
3810
+ return self
3811
+
3812
+
3450
3813
  class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(TeaModel):
3451
3814
  def __init__(
3452
3815
  self,
3816
+ dependent_dimensions: List[ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions] = None,
3453
3817
  name: str = None,
3454
3818
  value: str = None,
3455
3819
  ):
3820
+ # The quota dimensions on which the quota dimension that you want to query is dependent.
3821
+ self.dependent_dimensions = dependent_dimensions
3456
3822
  # The name of the quota dimension.
3457
3823
  self.name = name
3458
3824
  # The value of the quota dimension.
3459
3825
  self.value = value
3460
3826
 
3461
3827
  def validate(self):
3462
- pass
3828
+ if self.dependent_dimensions:
3829
+ for k in self.dependent_dimensions:
3830
+ if k:
3831
+ k.validate()
3463
3832
 
3464
3833
  def to_map(self):
3465
3834
  _map = super().to_map()
@@ -3467,6 +3836,10 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3467
3836
  return _map
3468
3837
 
3469
3838
  result = dict()
3839
+ result['DependentDimensions'] = []
3840
+ if self.dependent_dimensions is not None:
3841
+ for k in self.dependent_dimensions:
3842
+ result['DependentDimensions'].append(k.to_map() if k else None)
3470
3843
  if self.name is not None:
3471
3844
  result['Name'] = self.name
3472
3845
  if self.value is not None:
@@ -3475,6 +3848,11 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3475
3848
 
3476
3849
  def from_map(self, m: dict = None):
3477
3850
  m = m or dict()
3851
+ self.dependent_dimensions = []
3852
+ if m.get('DependentDimensions') is not None:
3853
+ for k in m.get('DependentDimensions'):
3854
+ temp_model = ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions()
3855
+ self.dependent_dimensions.append(temp_model.from_map(k))
3478
3856
  if m.get('Name') is not None:
3479
3857
  self.name = m.get('Name')
3480
3858
  if m.get('Value') is not None:
@@ -3637,9 +4015,6 @@ class ListProductQuotaDimensionsResponse(TeaModel):
3637
4015
  self.body = body
3638
4016
 
3639
4017
  def validate(self):
3640
- self.validate_required(self.headers, 'headers')
3641
- self.validate_required(self.status_code, 'status_code')
3642
- self.validate_required(self.body, 'body')
3643
4018
  if self.body:
3644
4019
  self.body.validate()
3645
4020
 
@@ -3677,11 +4052,11 @@ class ListProductQuotasRequestDimensions(TeaModel):
3677
4052
  ):
3678
4053
  # The key of the dimension.
3679
4054
  #
3680
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4055
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
3681
4056
  self.key = key
3682
4057
  # The value of the dimension.
3683
4058
  #
3684
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4059
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
3685
4060
  self.value = value
3686
4061
 
3687
4062
  def validate(self):
@@ -3736,9 +4111,11 @@ class ListProductQuotasRequest(TeaModel):
3736
4111
  self.next_token = next_token
3737
4112
  # The abbreviation of the Alibaba Cloud service name.
3738
4113
  #
3739
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
4114
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of the `ProductCode` parameter.
4115
+ #
4116
+ # This parameter is required.
3740
4117
  self.product_code = product_code
3741
- # The ID of the quota.
4118
+ # The quota ID.
3742
4119
  self.quota_action_code = quota_action_code
3743
4120
  # The type of the quota. Valid values:
3744
4121
  #
@@ -3746,16 +4123,20 @@ class ListProductQuotasRequest(TeaModel):
3746
4123
  # * FlowControl: API rate limit
3747
4124
  # * WhiteListLabel: whitelist quota
3748
4125
  self.quota_category = quota_category
3749
- # The field based on which you want to sort the returned records. This parameter is available only for quotas that belong to ECS Quotas by Instance Type. Valid values:
4126
+ # The field based on which you want to sort the returned records. Valid values:
3750
4127
  #
3751
4128
  # * TIME: The returned records are sorted by the last update time.
3752
4129
  # * TOTAL: The returned records are sorted by the usage of the total quota.
3753
4130
  # * RESERVED: The returned records are sorted by the usage of the reserved quota.
4131
+ #
4132
+ # > This parameter is available only for quotas that belong to ECS Quotas by Instance Type. You can leave this parameter empty.
3754
4133
  self.sort_field = sort_field
3755
- # The order in which you want to sort the returned records. This parameter is available only for quotas that belong to ECS Quotas by Instance Type. Valid values:
4134
+ # The order in which you want to sort the returned records. Valid values:
3756
4135
  #
3757
4136
  # * Ascending: ascending order
3758
4137
  # * Descending: descending order
4138
+ #
4139
+ # > This parameter is available only for quotas that belong to ECS Quotas by Instance Type. You can leave this parameter empty.
3759
4140
  self.sort_order = sort_order
3760
4141
 
3761
4142
  def validate(self):
@@ -3874,8 +4255,6 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3874
4255
  # The quota value.
3875
4256
  self.quota = quota
3876
4257
  # The unit of the quota.
3877
- #
3878
- # > The unit of each quota is unique. For example, the quota whose ID is `q_cbdch3` represents the maximum number of Container Service for Kubernetes (ACK) clusters. The unit of this quota is clusters. The quota whose ID is `q_security-groups` represents the maximum number of security groups. The unit of this quota is security groups.
3879
4258
  self.quota_unit = quota_unit
3880
4259
  # The category of the quota. Valid values:
3881
4260
  #
@@ -3917,6 +4296,45 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3917
4296
  return self
3918
4297
 
3919
4298
 
4299
+ class ListProductQuotasResponseBodyQuotasUsageMetric(TeaModel):
4300
+ def __init__(
4301
+ self,
4302
+ metric_dimensions: Dict[str, str] = None,
4303
+ metric_name: str = None,
4304
+ metric_namespace: str = None,
4305
+ ):
4306
+ self.metric_dimensions = metric_dimensions
4307
+ self.metric_name = metric_name
4308
+ self.metric_namespace = metric_namespace
4309
+
4310
+ def validate(self):
4311
+ pass
4312
+
4313
+ def to_map(self):
4314
+ _map = super().to_map()
4315
+ if _map is not None:
4316
+ return _map
4317
+
4318
+ result = dict()
4319
+ if self.metric_dimensions is not None:
4320
+ result['MetricDimensions'] = self.metric_dimensions
4321
+ if self.metric_name is not None:
4322
+ result['MetricName'] = self.metric_name
4323
+ if self.metric_namespace is not None:
4324
+ result['MetricNamespace'] = self.metric_namespace
4325
+ return result
4326
+
4327
+ def from_map(self, m: dict = None):
4328
+ m = m or dict()
4329
+ if m.get('MetricDimensions') is not None:
4330
+ self.metric_dimensions = m.get('MetricDimensions')
4331
+ if m.get('MetricName') is not None:
4332
+ self.metric_name = m.get('MetricName')
4333
+ if m.get('MetricNamespace') is not None:
4334
+ self.metric_namespace = m.get('MetricNamespace')
4335
+ return self
4336
+
4337
+
3920
4338
  class ListProductQuotasResponseBodyQuotas(TeaModel):
3921
4339
  def __init__(
3922
4340
  self,
@@ -3943,13 +4361,14 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3943
4361
  total_quota: float = None,
3944
4362
  total_usage: float = None,
3945
4363
  unadjustable_detail: str = None,
4364
+ usage_metric: ListProductQuotasResponseBodyQuotasUsageMetric = None,
3946
4365
  ):
3947
4366
  # Indicates whether the quota is adjustable. Valid values:
3948
4367
  #
3949
- # * true: The quota is adjustable.
3950
- # * false: The quota is not adjustable.
4368
+ # * true
4369
+ # * false
3951
4370
  self.adjustable = adjustable
3952
- # None.
4371
+ # N/A
3953
4372
  self.applicable_range = applicable_range
3954
4373
  # The type of the adjustable value. Valid values:
3955
4374
  #
@@ -3960,8 +4379,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3960
4379
  self.apply_reason_tips = apply_reason_tips
3961
4380
  # Indicates whether the system shows the used value of the quota. Valid values:
3962
4381
  #
3963
- # * true: The system shows the used value of the quota.
3964
- # * false: The system does not show the used value of the quota.
4382
+ # * true
4383
+ # * false
3965
4384
  self.consumable = consumable
3966
4385
  # The quota dimensions. Format: `{"regionId":"Region"}`.
3967
4386
  self.dimensions = dimensions
@@ -3971,8 +4390,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3971
4390
  self.expire_time = expire_time
3972
4391
  # Indicates whether the quota is a global quota. Valid values:
3973
4392
  #
3974
- # * true: The quota is shared in all regions.
3975
- # * false: The quota is independently used in a region.
4393
+ # * true
4394
+ # * false
3976
4395
  self.global_quota = global_quota
3977
4396
  # The calculation cycle of the quota.
3978
4397
  self.period = period
@@ -4000,10 +4419,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4000
4419
  # * normal
4001
4420
  self.quota_type = quota_type
4002
4421
  # The unit of the quota.
4003
- #
4004
- # > The unit of each quota is unique. For example, the quota whose ID is `q_cbdch3` represents the maximum number of Container Service for Kubernetes (ACK) clusters. The unit of this quota is clusters. The quota whose ID is `q_security-groups` represents the maximum number of security groups. The unit of this quota is security groups.
4005
4422
  self.quota_unit = quota_unit
4006
- # None.
4423
+ # N/A
4007
4424
  self.supported_range = supported_range
4008
4425
  # The quota value.
4009
4426
  self.total_quota = total_quota
@@ -4015,6 +4432,7 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4015
4432
  # * applicationProcess: The application is being processed.
4016
4433
  # * limitReached: The quota limit is reached.
4017
4434
  self.unadjustable_detail = unadjustable_detail
4435
+ self.usage_metric = usage_metric
4018
4436
 
4019
4437
  def validate(self):
4020
4438
  if self.period:
@@ -4023,6 +4441,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4023
4441
  for k in self.quota_items:
4024
4442
  if k:
4025
4443
  k.validate()
4444
+ if self.usage_metric:
4445
+ self.usage_metric.validate()
4026
4446
 
4027
4447
  def to_map(self):
4028
4448
  _map = super().to_map()
@@ -4078,6 +4498,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4078
4498
  result['TotalUsage'] = self.total_usage
4079
4499
  if self.unadjustable_detail is not None:
4080
4500
  result['UnadjustableDetail'] = self.unadjustable_detail
4501
+ if self.usage_metric is not None:
4502
+ result['UsageMetric'] = self.usage_metric.to_map()
4081
4503
  return result
4082
4504
 
4083
4505
  def from_map(self, m: dict = None):
@@ -4132,6 +4554,9 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4132
4554
  self.total_usage = m.get('TotalUsage')
4133
4555
  if m.get('UnadjustableDetail') is not None:
4134
4556
  self.unadjustable_detail = m.get('UnadjustableDetail')
4557
+ if m.get('UsageMetric') is not None:
4558
+ temp_model = ListProductQuotasResponseBodyQuotasUsageMetric()
4559
+ self.usage_metric = temp_model.from_map(m['UsageMetric'])
4135
4560
  return self
4136
4561
 
4137
4562
 
@@ -4211,9 +4636,6 @@ class ListProductQuotasResponse(TeaModel):
4211
4636
  self.body = body
4212
4637
 
4213
4638
  def validate(self):
4214
- self.validate_required(self.headers, 'headers')
4215
- self.validate_required(self.status_code, 'status_code')
4216
- self.validate_required(self.body, 'body')
4217
4639
  if self.body:
4218
4640
  self.body.validate()
4219
4641
 
@@ -4459,9 +4881,6 @@ class ListProductsResponse(TeaModel):
4459
4881
  self.body = body
4460
4882
 
4461
4883
  def validate(self):
4462
- self.validate_required(self.headers, 'headers')
4463
- self.validate_required(self.status_code, 'status_code')
4464
- self.validate_required(self.body, 'body')
4465
4884
  if self.body:
4466
4885
  self.body.validate()
4467
4886
 
@@ -4499,11 +4918,19 @@ class ListQuotaAlarmsRequestQuotaDimensions(TeaModel):
4499
4918
  ):
4500
4919
  # The key of the dimension.
4501
4920
  #
4502
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4921
+ # >
4922
+ #
4923
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4924
+ #
4925
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
4503
4926
  self.key = key
4504
4927
  # The value of the dimension.
4505
4928
  #
4506
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4929
+ # >
4930
+ #
4931
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4932
+ #
4933
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
4507
4934
  self.value = value
4508
4935
 
4509
4936
  def validate(self):
@@ -4552,11 +4979,15 @@ class ListQuotaAlarmsRequest(TeaModel):
4552
4979
  self.next_token = next_token
4553
4980
  # The abbreviation of the Alibaba Cloud service name.
4554
4981
  #
4555
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
4982
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440554.html) operation and check the value of `ProductCode` in the response.
4556
4983
  self.product_code = product_code
4557
- # The ID of the quota.
4984
+ # The quota ID.
4985
+ #
4986
+ # >
4987
+ #
4988
+ # * To obtain the quota ID of a cloud service, call the [ListProductQuotas](https://help.aliyun.com/document_detail/440554.html) operation and check the value of `QuotaActionCode` in the response.
4558
4989
  #
4559
- # > The `ProductCode` parameter is required if you specify this parameter.
4990
+ # * If you specify this parameter, you must specify `ProductCode`.
4560
4991
  self.quota_action_code = quota_action_code
4561
4992
  # The quota dimensions.
4562
4993
  self.quota_dimensions = quota_dimensions
@@ -4819,9 +5250,6 @@ class ListQuotaAlarmsResponse(TeaModel):
4819
5250
  self.body = body
4820
5251
 
4821
5252
  def validate(self):
4822
- self.validate_required(self.headers, 'headers')
4823
- self.validate_required(self.status_code, 'status_code')
4824
- self.validate_required(self.body, 'body')
4825
5253
  if self.body:
4826
5254
  self.body.validate()
4827
5255
 
@@ -4859,11 +5287,19 @@ class ListQuotaApplicationTemplatesRequestDimensions(TeaModel):
4859
5287
  ):
4860
5288
  # The key of the dimension.
4861
5289
  #
4862
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5290
+ # >
5291
+ #
5292
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5293
+ #
5294
+ # * You must specify both Key and Value for each quota dimension.
4863
5295
  self.key = key
4864
5296
  # The value of the dimension.
4865
5297
  #
4866
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5298
+ # >
5299
+ #
5300
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5301
+ #
5302
+ # * You must specify both Key and Value for each quota dimension.
4867
5303
  self.value = value
4868
5304
 
4869
5305
  def validate(self):
@@ -4913,7 +5349,7 @@ class ListQuotaApplicationTemplatesRequest(TeaModel):
4913
5349
  self.next_token = next_token
4914
5350
  # The abbreviation of the Alibaba Cloud service name.
4915
5351
  #
4916
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
5352
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of `ProductCode` in the response.
4917
5353
  self.product_code = product_code
4918
5354
  # The ID of the quota.
4919
5355
  self.quota_action_code = quota_action_code
@@ -5238,9 +5674,6 @@ class ListQuotaApplicationTemplatesResponse(TeaModel):
5238
5674
  self.body = body
5239
5675
 
5240
5676
  def validate(self):
5241
- self.validate_required(self.headers, 'headers')
5242
- self.validate_required(self.status_code, 'status_code')
5243
- self.validate_required(self.body, 'body')
5244
5677
  if self.body:
5245
5678
  self.body.validate()
5246
5679
 
@@ -5278,11 +5711,11 @@ class ListQuotaApplicationsRequestDimensions(TeaModel):
5278
5711
  ):
5279
5712
  # The key of the dimension.
5280
5713
  #
5281
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5714
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5282
5715
  self.key = key
5283
5716
  # The value of the dimension.
5284
5717
  #
5285
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5718
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5286
5719
  self.value = value
5287
5720
 
5288
5721
  def validate(self):
@@ -5312,7 +5745,6 @@ class ListQuotaApplicationsRequestDimensions(TeaModel):
5312
5745
  class ListQuotaApplicationsRequest(TeaModel):
5313
5746
  def __init__(
5314
5747
  self,
5315
- accept_language: str = None,
5316
5748
  dimensions: List[ListQuotaApplicationsRequestDimensions] = None,
5317
5749
  key_word: str = None,
5318
5750
  max_results: int = None,
@@ -5322,7 +5754,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5322
5754
  quota_category: str = None,
5323
5755
  status: str = None,
5324
5756
  ):
5325
- self.accept_language = accept_language
5326
5757
  # The quota dimensions.
5327
5758
  self.dimensions = dimensions
5328
5759
  # The keyword that you want to use to search for the application.
@@ -5334,8 +5765,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5334
5765
  # The token that marks the position from which you want to start the query. If you leave this parameter empty, the query starts from the beginning.
5335
5766
  self.next_token = next_token
5336
5767
  # The abbreviation of the Alibaba Cloud service name.
5337
- #
5338
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
5339
5768
  self.product_code = product_code
5340
5769
  # The ID of the quota.
5341
5770
  self.quota_action_code = quota_action_code
@@ -5365,8 +5794,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5365
5794
  return _map
5366
5795
 
5367
5796
  result = dict()
5368
- if self.accept_language is not None:
5369
- result['AcceptLanguage'] = self.accept_language
5370
5797
  result['Dimensions'] = []
5371
5798
  if self.dimensions is not None:
5372
5799
  for k in self.dimensions:
@@ -5389,8 +5816,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5389
5816
 
5390
5817
  def from_map(self, m: dict = None):
5391
5818
  m = m or dict()
5392
- if m.get('AcceptLanguage') is not None:
5393
- self.accept_language = m.get('AcceptLanguage')
5394
5819
  self.dimensions = []
5395
5820
  if m.get('Dimensions') is not None:
5396
5821
  for k in m.get('Dimensions'):
@@ -5471,6 +5896,7 @@ class ListQuotaApplicationsResponseBodyQuotaApplications(TeaModel):
5471
5896
  product_code: str = None,
5472
5897
  quota_action_code: str = None,
5473
5898
  quota_arn: str = None,
5899
+ quota_category: str = None,
5474
5900
  quota_description: str = None,
5475
5901
  quota_name: str = None,
5476
5902
  quota_unit: str = None,
@@ -5508,6 +5934,7 @@ class ListQuotaApplicationsResponseBodyQuotaApplications(TeaModel):
5508
5934
  self.quota_action_code = quota_action_code
5509
5935
  # The Alibaba Cloud Resource Name (ARN) of the quota.
5510
5936
  self.quota_arn = quota_arn
5937
+ self.quota_category = quota_category
5511
5938
  # The description of the quota.
5512
5939
  self.quota_description = quota_description
5513
5940
  # The name of the quota.
@@ -5562,6 +5989,8 @@ class ListQuotaApplicationsResponseBodyQuotaApplications(TeaModel):
5562
5989
  result['QuotaActionCode'] = self.quota_action_code
5563
5990
  if self.quota_arn is not None:
5564
5991
  result['QuotaArn'] = self.quota_arn
5992
+ if self.quota_category is not None:
5993
+ result['QuotaCategory'] = self.quota_category
5565
5994
  if self.quota_description is not None:
5566
5995
  result['QuotaDescription'] = self.quota_description
5567
5996
  if self.quota_name is not None:
@@ -5605,6 +6034,8 @@ class ListQuotaApplicationsResponseBodyQuotaApplications(TeaModel):
5605
6034
  self.quota_action_code = m.get('QuotaActionCode')
5606
6035
  if m.get('QuotaArn') is not None:
5607
6036
  self.quota_arn = m.get('QuotaArn')
6037
+ if m.get('QuotaCategory') is not None:
6038
+ self.quota_category = m.get('QuotaCategory')
5608
6039
  if m.get('QuotaDescription') is not None:
5609
6040
  self.quota_description = m.get('QuotaDescription')
5610
6041
  if m.get('QuotaName') is not None:
@@ -5694,9 +6125,6 @@ class ListQuotaApplicationsResponse(TeaModel):
5694
6125
  self.body = body
5695
6126
 
5696
6127
  def validate(self):
5697
- self.validate_required(self.headers, 'headers')
5698
- self.validate_required(self.status_code, 'status_code')
5699
- self.validate_required(self.body, 'body')
5700
6128
  if self.body:
5701
6129
  self.body.validate()
5702
6130
 
@@ -5752,7 +6180,7 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5752
6180
  self.next_token = next_token
5753
6181
  # The abbreviation of the Alibaba Cloud service name.
5754
6182
  #
5755
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
6183
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of `ProductCode` in the response.
5756
6184
  self.product_code = product_code
5757
6185
  # The quota ID.
5758
6186
  self.quota_action_code = quota_action_code
@@ -5762,11 +6190,11 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5762
6190
  # * FlowControl: API rate limit
5763
6191
  # * WhiteListLabel: privilege
5764
6192
  self.quota_category = quota_category
5765
- # The approval status of the quota increase application. Valid values:
6193
+ # The approval state of the quota increase application. Valid values:
5766
6194
  #
5767
6195
  # * Disagree: The application is rejected.
5768
6196
  # * Agree: The application is approved.
5769
- # * Process: The application is pending approval.
6197
+ # * Process: The application is in review.
5770
6198
  # * Cancel: The application is canceled.
5771
6199
  self.status = status
5772
6200
 
@@ -6121,9 +6549,6 @@ class ListQuotaApplicationsDetailForTemplateResponse(TeaModel):
6121
6549
  self.body = body
6122
6550
 
6123
6551
  def validate(self):
6124
- self.validate_required(self.headers, 'headers')
6125
- self.validate_required(self.status_code, 'status_code')
6126
- self.validate_required(self.body, 'body')
6127
6552
  if self.body:
6128
6553
  self.body.validate()
6129
6554
 
@@ -6181,7 +6606,7 @@ class ListQuotaApplicationsForTemplateRequest(TeaModel):
6181
6606
  self.next_token = next_token
6182
6607
  # The abbreviation of the Alibaba Cloud service name.
6183
6608
  #
6184
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
6609
+ # > To query the abbreviation of an Alibaba Cloud service name, call the [ListProducts](https://help.aliyun.com/document_detail/440555.html) operation and check the value of `ProductCode` in the response.
6185
6610
  self.product_code = product_code
6186
6611
  # The quota ID.
6187
6612
  self.quota_action_code = quota_action_code
@@ -6246,13 +6671,13 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplicationsAuditSta
6246
6671
  count: int = None,
6247
6672
  status: str = None,
6248
6673
  ):
6249
- # The number of approval documents.
6674
+ # The number of approval tickets.
6250
6675
  self.count = count
6251
- # The approval status of the quota increase application. Valid values:
6676
+ # The approval state of the quota increase application. Valid values:
6252
6677
  #
6253
6678
  # * Disagree: The application is rejected.
6254
6679
  # * Agree: The application is approved.
6255
- # * Process: The application is pending approval.
6680
+ # * Process: The application is in review.
6256
6681
  # * Cancel: The application is canceled.
6257
6682
  self.status = status
6258
6683
 
@@ -6296,7 +6721,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6296
6721
  quota_category: str = None,
6297
6722
  reason: str = None,
6298
6723
  ):
6299
- # The Alibaba Cloud accounts for which the quotas are applied.
6724
+ # The Alibaba Cloud accounts that correspond to the resource directory members for which the quotas are applied.
6300
6725
  self.aliyun_uids = aliyun_uids
6301
6726
  # The time when the quota increase application was submitted. The value is displayed in UTC.
6302
6727
  self.apply_time = apply_time
@@ -6308,7 +6733,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6308
6733
  self.desire_value = desire_value
6309
6734
  # The quota dimensions.
6310
6735
  #
6311
- # Format: {"regionId":"cn-hangzhou"}.
6736
+ # Format example: {"regionId":"cn-hangzhou"}.
6312
6737
  self.dimensions = dimensions
6313
6738
  # The start time of the validity period of the quota. The value is displayed in UTC.
6314
6739
  self.effective_time = effective_time
@@ -6475,9 +6900,6 @@ class ListQuotaApplicationsForTemplateResponse(TeaModel):
6475
6900
  self.body = body
6476
6901
 
6477
6902
  def validate(self):
6478
- self.validate_required(self.headers, 'headers')
6479
- self.validate_required(self.status_code, 'status_code')
6480
- self.validate_required(self.body, 'body')
6481
6903
  if self.body:
6482
6904
  self.body.validate()
6483
6905
 
@@ -6512,10 +6934,12 @@ class ModifyQuotaTemplateServiceStatusRequest(TeaModel):
6512
6934
  self,
6513
6935
  service_status: int = None,
6514
6936
  ):
6515
- # The state of the quota template. Valid values:
6937
+ # The status of the quota template. Valid values:
6516
6938
  #
6517
- # * \-1: The quota template is disabled.
6939
+ # * \\-1: The quota template is disabled.
6518
6940
  # * 1: The quota template is enabled.
6941
+ #
6942
+ # This parameter is required.
6519
6943
  self.service_status = service_status
6520
6944
 
6521
6945
  def validate(self):
@@ -6546,9 +6970,9 @@ class ModifyQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel
6546
6970
  ):
6547
6971
  # The ID of the resource directory.
6548
6972
  self.resource_directory_id = resource_directory_id
6549
- # The state of the quota template. Valid values:
6973
+ # The status of the quota template. Valid values:
6550
6974
  #
6551
- # * \-1: The quota template is disabled.
6975
+ # * \\-1: The quota template is disabled.
6552
6976
  # * 1: The quota template is enabled.
6553
6977
  self.service_status = service_status
6554
6978
 
@@ -6625,9 +7049,6 @@ class ModifyQuotaTemplateServiceStatusResponse(TeaModel):
6625
7049
  self.body = body
6626
7050
 
6627
7051
  def validate(self):
6628
- self.validate_required(self.headers, 'headers')
6629
- self.validate_required(self.status_code, 'status_code')
6630
- self.validate_required(self.body, 'body')
6631
7052
  if self.body:
6632
7053
  self.body.validate()
6633
7054
 
@@ -6709,6 +7130,7 @@ class ModifyTemplateQuotaItemRequest(TeaModel):
6709
7130
  self.effective_time = effective_time
6710
7131
  self.env_language = env_language
6711
7132
  self.expire_time = expire_time
7133
+ # This parameter is required.
6712
7134
  self.id = id
6713
7135
  self.notice_type = notice_type
6714
7136
  self.product_code = product_code
@@ -6824,9 +7246,6 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6824
7246
  self.body = body
6825
7247
 
6826
7248
  def validate(self):
6827
- self.validate_required(self.headers, 'headers')
6828
- self.validate_required(self.status_code, 'status_code')
6829
- self.validate_required(self.body, 'body')
6830
7249
  if self.body:
6831
7250
  self.body.validate()
6832
7251
 
@@ -6856,6 +7275,174 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6856
7275
  return self
6857
7276
 
6858
7277
 
7278
+ class RemindQuotaApplicationApprovalRequest(TeaModel):
7279
+ def __init__(
7280
+ self,
7281
+ application_id: str = None,
7282
+ ):
7283
+ # The quota application ID.
7284
+ #
7285
+ # For more information about how to obtain the ID of a quota application, see [ListQuotaApplications](https://help.aliyun.com/document_detail/440568.html).
7286
+ self.application_id = application_id
7287
+
7288
+ def validate(self):
7289
+ pass
7290
+
7291
+ def to_map(self):
7292
+ _map = super().to_map()
7293
+ if _map is not None:
7294
+ return _map
7295
+
7296
+ result = dict()
7297
+ if self.application_id is not None:
7298
+ result['ApplicationId'] = self.application_id
7299
+ return result
7300
+
7301
+ def from_map(self, m: dict = None):
7302
+ m = m or dict()
7303
+ if m.get('ApplicationId') is not None:
7304
+ self.application_id = m.get('ApplicationId')
7305
+ return self
7306
+
7307
+
7308
+ class RemindQuotaApplicationApprovalResponseBody(TeaModel):
7309
+ def __init__(
7310
+ self,
7311
+ allow_retry: bool = None,
7312
+ dynamic_code: str = None,
7313
+ dynamic_message: str = None,
7314
+ error_args: List[Any] = None,
7315
+ error_code: str = None,
7316
+ error_msg: str = None,
7317
+ http_status_code: int = None,
7318
+ module: str = None,
7319
+ request_id: str = None,
7320
+ success: bool = None,
7321
+ ):
7322
+ # Indicates whether retries are allowed. Valid values:
7323
+ #
7324
+ # * false
7325
+ # * true
7326
+ self.allow_retry = allow_retry
7327
+ # The dynamic error code.
7328
+ self.dynamic_code = dynamic_code
7329
+ # The dynamic error message.
7330
+ self.dynamic_message = dynamic_message
7331
+ # The parameters whose values are invalid.
7332
+ self.error_args = error_args
7333
+ # The error code.
7334
+ self.error_code = error_code
7335
+ # The error message.
7336
+ self.error_msg = error_msg
7337
+ # The HTTP status code.
7338
+ self.http_status_code = http_status_code
7339
+ # The quota application ID.
7340
+ self.module = module
7341
+ # The request ID.
7342
+ self.request_id = request_id
7343
+ # Indicates whether the request was successful. Valid values:
7344
+ #
7345
+ # * true
7346
+ # * false
7347
+ self.success = success
7348
+
7349
+ def validate(self):
7350
+ pass
7351
+
7352
+ def to_map(self):
7353
+ _map = super().to_map()
7354
+ if _map is not None:
7355
+ return _map
7356
+
7357
+ result = dict()
7358
+ if self.allow_retry is not None:
7359
+ result['AllowRetry'] = self.allow_retry
7360
+ if self.dynamic_code is not None:
7361
+ result['DynamicCode'] = self.dynamic_code
7362
+ if self.dynamic_message is not None:
7363
+ result['DynamicMessage'] = self.dynamic_message
7364
+ if self.error_args is not None:
7365
+ result['ErrorArgs'] = self.error_args
7366
+ if self.error_code is not None:
7367
+ result['ErrorCode'] = self.error_code
7368
+ if self.error_msg is not None:
7369
+ result['ErrorMsg'] = self.error_msg
7370
+ if self.http_status_code is not None:
7371
+ result['HttpStatusCode'] = self.http_status_code
7372
+ if self.module is not None:
7373
+ result['Module'] = self.module
7374
+ if self.request_id is not None:
7375
+ result['RequestId'] = self.request_id
7376
+ if self.success is not None:
7377
+ result['Success'] = self.success
7378
+ return result
7379
+
7380
+ def from_map(self, m: dict = None):
7381
+ m = m or dict()
7382
+ if m.get('AllowRetry') is not None:
7383
+ self.allow_retry = m.get('AllowRetry')
7384
+ if m.get('DynamicCode') is not None:
7385
+ self.dynamic_code = m.get('DynamicCode')
7386
+ if m.get('DynamicMessage') is not None:
7387
+ self.dynamic_message = m.get('DynamicMessage')
7388
+ if m.get('ErrorArgs') is not None:
7389
+ self.error_args = m.get('ErrorArgs')
7390
+ if m.get('ErrorCode') is not None:
7391
+ self.error_code = m.get('ErrorCode')
7392
+ if m.get('ErrorMsg') is not None:
7393
+ self.error_msg = m.get('ErrorMsg')
7394
+ if m.get('HttpStatusCode') is not None:
7395
+ self.http_status_code = m.get('HttpStatusCode')
7396
+ if m.get('Module') is not None:
7397
+ self.module = m.get('Module')
7398
+ if m.get('RequestId') is not None:
7399
+ self.request_id = m.get('RequestId')
7400
+ if m.get('Success') is not None:
7401
+ self.success = m.get('Success')
7402
+ return self
7403
+
7404
+
7405
+ class RemindQuotaApplicationApprovalResponse(TeaModel):
7406
+ def __init__(
7407
+ self,
7408
+ headers: Dict[str, str] = None,
7409
+ status_code: int = None,
7410
+ body: RemindQuotaApplicationApprovalResponseBody = None,
7411
+ ):
7412
+ self.headers = headers
7413
+ self.status_code = status_code
7414
+ self.body = body
7415
+
7416
+ def validate(self):
7417
+ if self.body:
7418
+ self.body.validate()
7419
+
7420
+ def to_map(self):
7421
+ _map = super().to_map()
7422
+ if _map is not None:
7423
+ return _map
7424
+
7425
+ result = dict()
7426
+ if self.headers is not None:
7427
+ result['headers'] = self.headers
7428
+ if self.status_code is not None:
7429
+ result['statusCode'] = self.status_code
7430
+ if self.body is not None:
7431
+ result['body'] = self.body.to_map()
7432
+ return result
7433
+
7434
+ def from_map(self, m: dict = None):
7435
+ m = m or dict()
7436
+ if m.get('headers') is not None:
7437
+ self.headers = m.get('headers')
7438
+ if m.get('statusCode') is not None:
7439
+ self.status_code = m.get('statusCode')
7440
+ if m.get('body') is not None:
7441
+ temp_model = RemindQuotaApplicationApprovalResponseBody()
7442
+ self.body = temp_model.from_map(m['body'])
7443
+ return self
7444
+
7445
+
6859
7446
  class UpdateQuotaAlarmRequest(TeaModel):
6860
7447
  def __init__(
6861
7448
  self,
@@ -6867,8 +7454,16 @@ class UpdateQuotaAlarmRequest(TeaModel):
6867
7454
  web_hook: str = None,
6868
7455
  ):
6869
7456
  # The ID of the quota alert.
7457
+ #
7458
+ # > You can call the [ListQuotaAlarms](https://help.aliyun.com/document_detail/440561.html) operation to obtain the ID of a quota alert.
7459
+ #
7460
+ # This parameter is required.
6870
7461
  self.alarm_id = alarm_id
6871
7462
  # The name of the quota alert.
7463
+ #
7464
+ # > You can call the [ListQuotaAlarms](https://help.aliyun.com/document_detail/440561.html) operation to obtain the name of a quota alert.
7465
+ #
7466
+ # This parameter is required.
6872
7467
  self.alarm_name = alarm_name
6873
7468
  # The numeric value of the alert threshold. Valid values:
6874
7469
  #
@@ -6879,14 +7474,14 @@ class UpdateQuotaAlarmRequest(TeaModel):
6879
7474
  self.threshold = threshold
6880
7475
  # The percentage of the alert threshold. Valid values:
6881
7476
  #
6882
- # * If you set the `ThresholdType` parameter to `used`, you will receive an alert notification when the used quota is greater than or equal to the preset percentage of the alert threshold. Value range: (50%, 100%].
6883
- # * If you set the `ThresholdType` parameter to `usable`, you will receive an alert notification when the available quota is less than or equal to the preset percentage of the alert threshold. Value range: (0%, 50%].
7477
+ # * If you set `ThresholdType` to `used`, you receive an alert notification when the used quota is greater than or equal to the preset percentage of the alert threshold. Value range: (50%, 100%].
7478
+ # * If you set `ThresholdType` to `usable`, you receive an alert notification when the available quota is less than or equal to the preset percentage of the alert threshold. Value range: (0%, 50%].
6884
7479
  #
6885
- # > You must set one of the Threshold and ThresholdPercent parameters.
7480
+ # > You must set one of Threshold and ThresholdPercent.
6886
7481
  self.threshold_percent = threshold_percent
6887
7482
  # The type of the quota alert. Valid values:
6888
7483
  #
6889
- # * used: The alert is created for the used quota.
7484
+ # * used (default): The alert is created for the used quota.
6890
7485
  # * usable: The alert is created for the available quota.
6891
7486
  self.threshold_type = threshold_type
6892
7487
  # The webhook URL. Quota Center sends alert notifications to the specified URL by using HTTP POST requests.
@@ -6972,9 +7567,6 @@ class UpdateQuotaAlarmResponse(TeaModel):
6972
7567
  self.body = body
6973
7568
 
6974
7569
  def validate(self):
6975
- self.validate_required(self.headers, 'headers')
6976
- self.validate_required(self.status_code, 'status_code')
6977
- self.validate_required(self.body, 'body')
6978
7570
  if self.body:
6979
7571
  self.body.validate()
6980
7572