alibabacloud-quotas20200510 1.1.3__py3-none-any.whl → 1.2.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.
@@ -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.
574
589
  #
575
- # The value range of N varies based on the number of dimensions that are supported by the Alibaba Cloud service.
590
+ # >
576
591
  #
577
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
592
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
593
+ #
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.
580
597
  #
581
- # > The value range of N varies based on the number of dimensions that are supported by the Alibaba Cloud service.
598
+ # >
599
+ #
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 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
- # > For more information about the members of a resource directory, see [Query all the members in a resource directory](~~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):
@@ -739,7 +778,9 @@ class CreateQuotaApplicationsForTemplateResponseBodyFailResults(TeaModel):
739
778
  aliyun_uid: str = None,
740
779
  reason: str = None,
741
780
  ):
781
+ # The Alibaba Cloud account of the members in a resource directory whose quota increase request is rejected.
742
782
  self.aliyun_uid = aliyun_uid
783
+ # The reason for the rejection.
743
784
  self.reason = reason
744
785
 
745
786
  def validate(self):
@@ -778,6 +819,7 @@ class CreateQuotaApplicationsForTemplateResponseBody(TeaModel):
778
819
  self.aliyun_uids = aliyun_uids
779
820
  # The ID of the quota application batch.
780
821
  self.batch_quota_application_id = batch_quota_application_id
822
+ # The Alibaba Cloud accounts of the members in a resource directory whose quota increase request is rejected, and the reason for the rejection.
781
823
  self.fail_results = fail_results
782
824
  # The request ID.
783
825
  self.request_id = request_id
@@ -834,9 +876,6 @@ class CreateQuotaApplicationsForTemplateResponse(TeaModel):
834
876
  self.body = body
835
877
 
836
878
  def validate(self):
837
- self.validate_required(self.headers, 'headers')
838
- self.validate_required(self.status_code, 'status_code')
839
- self.validate_required(self.body, 'body')
840
879
  if self.body:
841
880
  self.body.validate()
842
881
 
@@ -874,15 +913,19 @@ class CreateTemplateQuotaItemRequestDimensions(TeaModel):
874
913
  ):
875
914
  # The key of the dimension.
876
915
  #
877
- # 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.
878
919
  #
879
- # > 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`.
880
921
  self.key = key
881
922
  # The value of the dimension.
882
923
  #
883
- # The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
924
+ # >
884
925
  #
885
- # > 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`.
886
929
  self.value = value
887
930
 
888
931
  def validate(self):
@@ -923,6 +966,14 @@ class CreateTemplateQuotaItemRequest(TeaModel):
923
966
  quota_category: str = None,
924
967
  ):
925
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.
926
977
  self.desire_value = desire_value
927
978
  # The quota dimensions.
928
979
  self.dimensions = dimensions
@@ -946,9 +997,15 @@ class CreateTemplateQuotaItemRequest(TeaModel):
946
997
  self.notice_type = notice_type
947
998
  # The abbreviation of the Alibaba Cloud service name.
948
999
  #
949
- # > 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.
950
1003
  self.product_code = product_code
951
- # 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.
952
1009
  self.quota_action_code = quota_action_code
953
1010
  # The quota type. Valid values:
954
1011
  #
@@ -1064,9 +1121,6 @@ class CreateTemplateQuotaItemResponse(TeaModel):
1064
1121
  self.body = body
1065
1122
 
1066
1123
  def validate(self):
1067
- self.validate_required(self.headers, 'headers')
1068
- self.validate_required(self.status_code, 'status_code')
1069
- self.validate_required(self.body, 'body')
1070
1124
  if self.body:
1071
1125
  self.body.validate()
1072
1126
 
@@ -1102,6 +1156,10 @@ class DeleteQuotaAlarmRequest(TeaModel):
1102
1156
  alarm_id: str = None,
1103
1157
  ):
1104
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.
1105
1163
  self.alarm_id = alarm_id
1106
1164
 
1107
1165
  def validate(self):
@@ -1164,9 +1222,6 @@ class DeleteQuotaAlarmResponse(TeaModel):
1164
1222
  self.body = body
1165
1223
 
1166
1224
  def validate(self):
1167
- self.validate_required(self.headers, 'headers')
1168
- self.validate_required(self.status_code, 'status_code')
1169
- self.validate_required(self.body, 'body')
1170
1225
  if self.body:
1171
1226
  self.body.validate()
1172
1227
 
@@ -1202,6 +1257,10 @@ class DeleteTemplateQuotaItemRequest(TeaModel):
1202
1257
  id: str = None,
1203
1258
  ):
1204
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.
1205
1264
  self.id = id
1206
1265
 
1207
1266
  def validate(self):
@@ -1271,9 +1330,6 @@ class DeleteTemplateQuotaItemResponse(TeaModel):
1271
1330
  self.body = body
1272
1331
 
1273
1332
  def validate(self):
1274
- self.validate_required(self.headers, 'headers')
1275
- self.validate_required(self.status_code, 'status_code')
1276
- self.validate_required(self.body, 'body')
1277
1333
  if self.body:
1278
1334
  self.body.validate()
1279
1335
 
@@ -1355,9 +1411,13 @@ class GetProductQuotaRequest(TeaModel):
1355
1411
  self.dimensions = dimensions
1356
1412
  # The abbreviation of the Alibaba Cloud service name.
1357
1413
  #
1358
- # > 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.
1359
1417
  self.product_code = product_code
1360
1418
  # The ID of the quota.
1419
+ #
1420
+ # This parameter is required.
1361
1421
  self.quota_action_code = quota_action_code
1362
1422
 
1363
1423
  def validate(self):
@@ -1491,6 +1551,45 @@ class GetProductQuotaResponseBodyQuotaQuotaItems(TeaModel):
1491
1551
  return self
1492
1552
 
1493
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
+
1494
1593
  class GetProductQuotaResponseBodyQuota(TeaModel):
1495
1594
  def __init__(
1496
1595
  self,
@@ -1517,6 +1616,7 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1517
1616
  total_quota: float = None,
1518
1617
  total_usage: float = None,
1519
1618
  unadjustable_detail: str = None,
1619
+ usage_metric: GetProductQuotaResponseBodyQuotaUsageMetric = None,
1520
1620
  ):
1521
1621
  # Indicates whether the quota is adjustable. Valid values:
1522
1622
  #
@@ -1590,6 +1690,7 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1590
1690
  # * limitReached: The quota limit is reached.
1591
1691
  # * supportTicketRequired: The quota can be increased only by submitting a ticket.
1592
1692
  self.unadjustable_detail = unadjustable_detail
1693
+ self.usage_metric = usage_metric
1593
1694
 
1594
1695
  def validate(self):
1595
1696
  if self.period:
@@ -1598,6 +1699,8 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1598
1699
  for k in self.quota_items:
1599
1700
  if k:
1600
1701
  k.validate()
1702
+ if self.usage_metric:
1703
+ self.usage_metric.validate()
1601
1704
 
1602
1705
  def to_map(self):
1603
1706
  _map = super().to_map()
@@ -1653,6 +1756,8 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1653
1756
  result['TotalUsage'] = self.total_usage
1654
1757
  if self.unadjustable_detail is not None:
1655
1758
  result['UnadjustableDetail'] = self.unadjustable_detail
1759
+ if self.usage_metric is not None:
1760
+ result['UsageMetric'] = self.usage_metric.to_map()
1656
1761
  return result
1657
1762
 
1658
1763
  def from_map(self, m: dict = None):
@@ -1707,6 +1812,9 @@ class GetProductQuotaResponseBodyQuota(TeaModel):
1707
1812
  self.total_usage = m.get('TotalUsage')
1708
1813
  if m.get('UnadjustableDetail') is not None:
1709
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'])
1710
1818
  return self
1711
1819
 
1712
1820
 
@@ -1759,9 +1867,6 @@ class GetProductQuotaResponse(TeaModel):
1759
1867
  self.body = body
1760
1868
 
1761
1869
  def validate(self):
1762
- self.validate_required(self.headers, 'headers')
1763
- self.validate_required(self.status_code, 'status_code')
1764
- self.validate_required(self.body, 'body')
1765
1870
  if self.body:
1766
1871
  self.body.validate()
1767
1872
 
@@ -1843,7 +1948,9 @@ class GetProductQuotaDimensionRequest(TeaModel):
1843
1948
  self.dimension_key = dimension_key
1844
1949
  # The abbreviation of the Alibaba Cloud service name.
1845
1950
  #
1846
- # > 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.
1847
1954
  self.product_code = product_code
1848
1955
 
1849
1956
  def validate(self):
@@ -2035,9 +2142,6 @@ class GetProductQuotaDimensionResponse(TeaModel):
2035
2142
  self.body = body
2036
2143
 
2037
2144
  def validate(self):
2038
- self.validate_required(self.headers, 'headers')
2039
- self.validate_required(self.status_code, 'status_code')
2040
- self.validate_required(self.body, 'body')
2041
2145
  if self.body:
2042
2146
  self.body.validate()
2043
2147
 
@@ -2072,7 +2176,9 @@ class GetQuotaAlarmRequest(TeaModel):
2072
2176
  self,
2073
2177
  alarm_id: str = None,
2074
2178
  ):
2075
- # 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).
2076
2182
  self.alarm_id = alarm_id
2077
2183
 
2078
2184
  def validate(self):
@@ -2113,34 +2219,34 @@ class GetQuotaAlarmResponseBodyQuotaAlarm(TeaModel):
2113
2219
  threshold_type: str = None,
2114
2220
  webhook: str = None,
2115
2221
  ):
2116
- # The numeric value of the alert threshold.
2222
+ # The ID of the quota alert.
2117
2223
  self.alarm_id = alarm_id
2118
- # security_groups
2224
+ # The name of the quota alert.
2119
2225
  self.alarm_name = alarm_name
2120
- # The ID of the quota.
2226
+ # The time when the quota alert was created.
2121
2227
  self.create_time = create_time
2122
2228
  # The alert notification methods.
2123
2229
  self.notify_channels = notify_channels
2124
- # The used quota.
2230
+ # The alert contact.
2125
2231
  self.notify_target = notify_target
2126
- # The abbreviation of the Alibaba Cloud service name.
2232
+ # The abbreviation of the cloud service name.
2127
2233
  self.product_code = product_code
2128
- # The name of the quota alert.
2234
+ # The ID of the quota.
2129
2235
  self.quota_action_code = quota_action_code
2130
- # The time when the quota alert was created.
2236
+ # The quota dimension.
2131
2237
  self.quota_dimension = quota_dimension
2132
- # The value of the quota.
2238
+ # The used quota.
2133
2239
  self.quota_usage = quota_usage
2134
- # The ID of the quota alert.
2240
+ # The quota value.
2135
2241
  self.quota_value = quota_value
2136
- # The abbreviation of the Alibaba Cloud service name.
2242
+ # The numeric value of the alert threshold.
2137
2243
  self.threshold = threshold
2244
+ # The percentage of the alert threshold.
2245
+ self.threshold_percent = threshold_percent
2138
2246
  # The type of the quota alert. Valid values:
2139
2247
  #
2140
2248
  # * used: The alert is created for the used quota.
2141
2249
  # * usable: The alert is created for the available quota.
2142
- self.threshold_percent = threshold_percent
2143
- # The quota dimension.
2144
2250
  self.threshold_type = threshold_type
2145
2251
  # The webhook URL. Quota Center sends alert notifications to the specified URL by using HTTP POST requests.
2146
2252
  self.webhook = webhook
@@ -2223,9 +2329,9 @@ class GetQuotaAlarmResponseBody(TeaModel):
2223
2329
  quota_alarm: GetQuotaAlarmResponseBodyQuotaAlarm = None,
2224
2330
  request_id: str = None,
2225
2331
  ):
2226
- # The details of the quota alert rule.
2227
- self.quota_alarm = quota_alarm
2228
2332
  # The details of the quota alert.
2333
+ self.quota_alarm = quota_alarm
2334
+ # The ID of the request.
2229
2335
  self.request_id = request_id
2230
2336
 
2231
2337
  def validate(self):
@@ -2266,9 +2372,6 @@ class GetQuotaAlarmResponse(TeaModel):
2266
2372
  self.body = body
2267
2373
 
2268
2374
  def validate(self):
2269
- self.validate_required(self.headers, 'headers')
2270
- self.validate_required(self.status_code, 'status_code')
2271
- self.validate_required(self.body, 'body')
2272
2375
  if self.body:
2273
2376
  self.body.validate()
2274
2377
 
@@ -2526,9 +2629,6 @@ class GetQuotaApplicationResponse(TeaModel):
2526
2629
  self.body = body
2527
2630
 
2528
2631
  def validate(self):
2529
- self.validate_required(self.headers, 'headers')
2530
- self.validate_required(self.status_code, 'status_code')
2531
- self.validate_required(self.body, 'body')
2532
2632
  if self.body:
2533
2633
  self.body.validate()
2534
2634
 
@@ -2558,6 +2658,228 @@ class GetQuotaApplicationResponse(TeaModel):
2558
2658
  return self
2559
2659
 
2560
2660
 
2661
+ class GetQuotaApplicationApprovalRequest(TeaModel):
2662
+ def __init__(
2663
+ self,
2664
+ application_id: str = None,
2665
+ ):
2666
+ # The quota application ID.
2667
+ #
2668
+ # For more information about how to obtain the ID of a quota application, see [ListQuotaApplications](https://help.aliyun.com/document_detail/440568.html).
2669
+ self.application_id = application_id
2670
+
2671
+ def validate(self):
2672
+ pass
2673
+
2674
+ def to_map(self):
2675
+ _map = super().to_map()
2676
+ if _map is not None:
2677
+ return _map
2678
+
2679
+ result = dict()
2680
+ if self.application_id is not None:
2681
+ result['ApplicationId'] = self.application_id
2682
+ return result
2683
+
2684
+ def from_map(self, m: dict = None):
2685
+ m = m or dict()
2686
+ if m.get('ApplicationId') is not None:
2687
+ self.application_id = m.get('ApplicationId')
2688
+ return self
2689
+
2690
+
2691
+ class GetQuotaApplicationApprovalResponseBodyModule(TeaModel):
2692
+ def __init__(
2693
+ self,
2694
+ approval_hours: int = None,
2695
+ reminder_interval_hours: int = None,
2696
+ support_reminder: bool = None,
2697
+ unsupport_reminder_reason: str = None,
2698
+ ):
2699
+ # The average amount of time required to approve quota applications. Unit: hour.
2700
+ self.approval_hours = approval_hours
2701
+ # The interval between two consecutive approval reminders. Unit: hour.
2702
+ self.reminder_interval_hours = reminder_interval_hours
2703
+ # Indicates whether approval reminders are supported for quota applications. Valid values:
2704
+ #
2705
+ # * false
2706
+ # * true
2707
+ self.support_reminder = support_reminder
2708
+ # The reason why approval reminders are not supported for quota applications.
2709
+ self.unsupport_reminder_reason = unsupport_reminder_reason
2710
+
2711
+ def validate(self):
2712
+ pass
2713
+
2714
+ def to_map(self):
2715
+ _map = super().to_map()
2716
+ if _map is not None:
2717
+ return _map
2718
+
2719
+ result = dict()
2720
+ if self.approval_hours is not None:
2721
+ result['ApprovalHours'] = self.approval_hours
2722
+ if self.reminder_interval_hours is not None:
2723
+ result['ReminderIntervalHours'] = self.reminder_interval_hours
2724
+ if self.support_reminder is not None:
2725
+ result['SupportReminder'] = self.support_reminder
2726
+ if self.unsupport_reminder_reason is not None:
2727
+ result['UnsupportReminderReason'] = self.unsupport_reminder_reason
2728
+ return result
2729
+
2730
+ def from_map(self, m: dict = None):
2731
+ m = m or dict()
2732
+ if m.get('ApprovalHours') is not None:
2733
+ self.approval_hours = m.get('ApprovalHours')
2734
+ if m.get('ReminderIntervalHours') is not None:
2735
+ self.reminder_interval_hours = m.get('ReminderIntervalHours')
2736
+ if m.get('SupportReminder') is not None:
2737
+ self.support_reminder = m.get('SupportReminder')
2738
+ if m.get('UnsupportReminderReason') is not None:
2739
+ self.unsupport_reminder_reason = m.get('UnsupportReminderReason')
2740
+ return self
2741
+
2742
+
2743
+ class GetQuotaApplicationApprovalResponseBody(TeaModel):
2744
+ def __init__(
2745
+ self,
2746
+ allow_retry: bool = None,
2747
+ dynamic_code: str = None,
2748
+ dynamic_message: str = None,
2749
+ error_args: List[Any] = None,
2750
+ error_code: str = None,
2751
+ error_msg: str = None,
2752
+ http_status_code: int = None,
2753
+ module: GetQuotaApplicationApprovalResponseBodyModule = None,
2754
+ request_id: str = None,
2755
+ success: bool = None,
2756
+ ):
2757
+ # Indicates whether retries are allowed. Valid values:
2758
+ #
2759
+ # * false
2760
+ # * true
2761
+ self.allow_retry = allow_retry
2762
+ # The dynamic error code.
2763
+ self.dynamic_code = dynamic_code
2764
+ # The dynamic error message.
2765
+ self.dynamic_message = dynamic_message
2766
+ # The parameters whose values are invalid.
2767
+ self.error_args = error_args
2768
+ # The error code.
2769
+ self.error_code = error_code
2770
+ # The error message.
2771
+ self.error_msg = error_msg
2772
+ # The HTTP status code.
2773
+ self.http_status_code = http_status_code
2774
+ # The information about quota application approval.
2775
+ self.module = module
2776
+ # The request ID.
2777
+ self.request_id = request_id
2778
+ # Indicates whether the request was successful. Valid values:
2779
+ #
2780
+ # * true
2781
+ # * false
2782
+ self.success = success
2783
+
2784
+ def validate(self):
2785
+ if self.module:
2786
+ self.module.validate()
2787
+
2788
+ def to_map(self):
2789
+ _map = super().to_map()
2790
+ if _map is not None:
2791
+ return _map
2792
+
2793
+ result = dict()
2794
+ if self.allow_retry is not None:
2795
+ result['AllowRetry'] = self.allow_retry
2796
+ if self.dynamic_code is not None:
2797
+ result['DynamicCode'] = self.dynamic_code
2798
+ if self.dynamic_message is not None:
2799
+ result['DynamicMessage'] = self.dynamic_message
2800
+ if self.error_args is not None:
2801
+ result['ErrorArgs'] = self.error_args
2802
+ if self.error_code is not None:
2803
+ result['ErrorCode'] = self.error_code
2804
+ if self.error_msg is not None:
2805
+ result['ErrorMsg'] = self.error_msg
2806
+ if self.http_status_code is not None:
2807
+ result['HttpStatusCode'] = self.http_status_code
2808
+ if self.module is not None:
2809
+ result['Module'] = self.module.to_map()
2810
+ if self.request_id is not None:
2811
+ result['RequestId'] = self.request_id
2812
+ if self.success is not None:
2813
+ result['Success'] = self.success
2814
+ return result
2815
+
2816
+ def from_map(self, m: dict = None):
2817
+ m = m or dict()
2818
+ if m.get('AllowRetry') is not None:
2819
+ self.allow_retry = m.get('AllowRetry')
2820
+ if m.get('DynamicCode') is not None:
2821
+ self.dynamic_code = m.get('DynamicCode')
2822
+ if m.get('DynamicMessage') is not None:
2823
+ self.dynamic_message = m.get('DynamicMessage')
2824
+ if m.get('ErrorArgs') is not None:
2825
+ self.error_args = m.get('ErrorArgs')
2826
+ if m.get('ErrorCode') is not None:
2827
+ self.error_code = m.get('ErrorCode')
2828
+ if m.get('ErrorMsg') is not None:
2829
+ self.error_msg = m.get('ErrorMsg')
2830
+ if m.get('HttpStatusCode') is not None:
2831
+ self.http_status_code = m.get('HttpStatusCode')
2832
+ if m.get('Module') is not None:
2833
+ temp_model = GetQuotaApplicationApprovalResponseBodyModule()
2834
+ self.module = temp_model.from_map(m['Module'])
2835
+ if m.get('RequestId') is not None:
2836
+ self.request_id = m.get('RequestId')
2837
+ if m.get('Success') is not None:
2838
+ self.success = m.get('Success')
2839
+ return self
2840
+
2841
+
2842
+ class GetQuotaApplicationApprovalResponse(TeaModel):
2843
+ def __init__(
2844
+ self,
2845
+ headers: Dict[str, str] = None,
2846
+ status_code: int = None,
2847
+ body: GetQuotaApplicationApprovalResponseBody = None,
2848
+ ):
2849
+ self.headers = headers
2850
+ self.status_code = status_code
2851
+ self.body = body
2852
+
2853
+ def validate(self):
2854
+ if self.body:
2855
+ self.body.validate()
2856
+
2857
+ def to_map(self):
2858
+ _map = super().to_map()
2859
+ if _map is not None:
2860
+ return _map
2861
+
2862
+ result = dict()
2863
+ if self.headers is not None:
2864
+ result['headers'] = self.headers
2865
+ if self.status_code is not None:
2866
+ result['statusCode'] = self.status_code
2867
+ if self.body is not None:
2868
+ result['body'] = self.body.to_map()
2869
+ return result
2870
+
2871
+ def from_map(self, m: dict = None):
2872
+ m = m or dict()
2873
+ if m.get('headers') is not None:
2874
+ self.headers = m.get('headers')
2875
+ if m.get('statusCode') is not None:
2876
+ self.status_code = m.get('statusCode')
2877
+ if m.get('body') is not None:
2878
+ temp_model = GetQuotaApplicationApprovalResponseBody()
2879
+ self.body = temp_model.from_map(m['body'])
2880
+ return self
2881
+
2882
+
2561
2883
  class GetQuotaTemplateServiceStatusRequest(TeaModel):
2562
2884
  def __init__(
2563
2885
  self,
@@ -2596,7 +2918,7 @@ class GetQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel):
2596
2918
  self.resource_directory_id = resource_directory_id
2597
2919
  # The state of the quota template. Valid values:
2598
2920
  #
2599
- # * \-1: The quota template is disabled.
2921
+ # * \\-1: The quota template is disabled.
2600
2922
  # * 1: The quota template is enabled.
2601
2923
  self.service_status = service_status
2602
2924
 
@@ -2673,9 +2995,6 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2673
2995
  self.body = body
2674
2996
 
2675
2997
  def validate(self):
2676
- self.validate_required(self.headers, 'headers')
2677
- self.validate_required(self.status_code, 'status_code')
2678
- self.validate_required(self.body, 'body')
2679
2998
  if self.body:
2680
2999
  self.body.validate()
2681
3000
 
@@ -2708,6 +3027,7 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2708
3027
  class ListAlarmHistoriesRequest(TeaModel):
2709
3028
  def __init__(
2710
3029
  self,
3030
+ alarm_id: str = None,
2711
3031
  end_time: int = None,
2712
3032
  keyword: str = None,
2713
3033
  max_results: int = None,
@@ -2715,6 +3035,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2715
3035
  product_code: str = None,
2716
3036
  start_time: int = None,
2717
3037
  ):
3038
+ # The ID of the alert.
3039
+ self.alarm_id = alarm_id
2718
3040
  # The end of the time range to query.
2719
3041
  self.end_time = end_time
2720
3042
  # The keyword that is used for the query.
@@ -2727,7 +3049,7 @@ class ListAlarmHistoriesRequest(TeaModel):
2727
3049
  self.next_token = next_token
2728
3050
  # The abbreviation of the Alibaba Cloud service name.
2729
3051
  #
2730
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3052
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
2731
3053
  self.product_code = product_code
2732
3054
  # The beginning of the time range to query.
2733
3055
  self.start_time = start_time
@@ -2741,6 +3063,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2741
3063
  return _map
2742
3064
 
2743
3065
  result = dict()
3066
+ if self.alarm_id is not None:
3067
+ result['AlarmId'] = self.alarm_id
2744
3068
  if self.end_time is not None:
2745
3069
  result['EndTime'] = self.end_time
2746
3070
  if self.keyword is not None:
@@ -2757,6 +3081,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2757
3081
 
2758
3082
  def from_map(self, m: dict = None):
2759
3083
  m = m or dict()
3084
+ if m.get('AlarmId') is not None:
3085
+ self.alarm_id = m.get('AlarmId')
2760
3086
  if m.get('EndTime') is not None:
2761
3087
  self.end_time = m.get('EndTime')
2762
3088
  if m.get('Keyword') is not None:
@@ -2932,9 +3258,6 @@ class ListAlarmHistoriesResponse(TeaModel):
2932
3258
  self.body = body
2933
3259
 
2934
3260
  def validate(self):
2935
- self.validate_required(self.headers, 'headers')
2936
- self.validate_required(self.status_code, 'status_code')
2937
- self.validate_required(self.body, 'body')
2938
3261
  if self.body:
2939
3262
  self.body.validate()
2940
3263
 
@@ -2972,9 +3295,13 @@ class ListDependentQuotasRequest(TeaModel):
2972
3295
  ):
2973
3296
  # The abbreviation of the Alibaba Cloud service name.
2974
3297
  #
2975
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3298
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3299
+ #
3300
+ # This parameter is required.
2976
3301
  self.product_code = product_code
2977
3302
  # The quota ID.
3303
+ #
3304
+ # This parameter is required.
2978
3305
  self.quota_action_code = quota_action_code
2979
3306
 
2980
3307
  def validate(self):
@@ -3155,9 +3482,6 @@ class ListDependentQuotasResponse(TeaModel):
3155
3482
  self.body = body
3156
3483
 
3157
3484
  def validate(self):
3158
- self.validate_required(self.headers, 'headers')
3159
- self.validate_required(self.status_code, 'status_code')
3160
- self.validate_required(self.body, 'body')
3161
3485
  if self.body:
3162
3486
  self.body.validate()
3163
3487
 
@@ -3200,7 +3524,9 @@ class ListProductDimensionGroupsRequest(TeaModel):
3200
3524
  self.next_token = next_token
3201
3525
  # The service code.
3202
3526
  #
3203
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3527
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3528
+ #
3529
+ # This parameter is required.
3204
3530
  self.product_code = product_code
3205
3531
 
3206
3532
  def validate(self):
@@ -3356,9 +3682,6 @@ class ListProductDimensionGroupsResponse(TeaModel):
3356
3682
  self.body = body
3357
3683
 
3358
3684
  def validate(self):
3359
- self.validate_required(self.headers, 'headers')
3360
- self.validate_required(self.status_code, 'status_code')
3361
- self.validate_required(self.body, 'body')
3362
3685
  if self.body:
3363
3686
  self.body.validate()
3364
3687
 
@@ -3404,7 +3727,9 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3404
3727
  self.next_token = next_token
3405
3728
  # The abbreviation of the Alibaba Cloud service name.
3406
3729
  #
3407
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
3730
+ # > For more information, see [Alibaba Cloud services that support Quota Center](https://help.aliyun.com/document_detail/182368.html).
3731
+ #
3732
+ # This parameter is required.
3408
3733
  self.product_code = product_code
3409
3734
  # The type of the quota. Valid values:
3410
3735
  #
@@ -3444,19 +3769,60 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3444
3769
  return self
3445
3770
 
3446
3771
 
3772
+ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions(TeaModel):
3773
+ def __init__(
3774
+ self,
3775
+ key: str = None,
3776
+ value: str = None,
3777
+ ):
3778
+ # The key of the quota dimension on which the quota dimension that you want to query is dependent.
3779
+ self.key = key
3780
+ # The value of the quota dimension on which the quota dimension that you want to query is dependent.
3781
+ self.value = value
3782
+
3783
+ def validate(self):
3784
+ pass
3785
+
3786
+ def to_map(self):
3787
+ _map = super().to_map()
3788
+ if _map is not None:
3789
+ return _map
3790
+
3791
+ result = dict()
3792
+ if self.key is not None:
3793
+ result['Key'] = self.key
3794
+ if self.value is not None:
3795
+ result['Value'] = self.value
3796
+ return result
3797
+
3798
+ def from_map(self, m: dict = None):
3799
+ m = m or dict()
3800
+ if m.get('Key') is not None:
3801
+ self.key = m.get('Key')
3802
+ if m.get('Value') is not None:
3803
+ self.value = m.get('Value')
3804
+ return self
3805
+
3806
+
3447
3807
  class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(TeaModel):
3448
3808
  def __init__(
3449
3809
  self,
3810
+ dependent_dimensions: List[ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions] = None,
3450
3811
  name: str = None,
3451
3812
  value: str = None,
3452
3813
  ):
3814
+ # The quota dimensions on which the quota dimension that you want to query is dependent.
3815
+ self.dependent_dimensions = dependent_dimensions
3453
3816
  # The name of the quota dimension.
3454
3817
  self.name = name
3455
3818
  # The value of the quota dimension.
3456
3819
  self.value = value
3457
3820
 
3458
3821
  def validate(self):
3459
- pass
3822
+ if self.dependent_dimensions:
3823
+ for k in self.dependent_dimensions:
3824
+ if k:
3825
+ k.validate()
3460
3826
 
3461
3827
  def to_map(self):
3462
3828
  _map = super().to_map()
@@ -3464,6 +3830,10 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3464
3830
  return _map
3465
3831
 
3466
3832
  result = dict()
3833
+ result['DependentDimensions'] = []
3834
+ if self.dependent_dimensions is not None:
3835
+ for k in self.dependent_dimensions:
3836
+ result['DependentDimensions'].append(k.to_map() if k else None)
3467
3837
  if self.name is not None:
3468
3838
  result['Name'] = self.name
3469
3839
  if self.value is not None:
@@ -3472,6 +3842,11 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3472
3842
 
3473
3843
  def from_map(self, m: dict = None):
3474
3844
  m = m or dict()
3845
+ self.dependent_dimensions = []
3846
+ if m.get('DependentDimensions') is not None:
3847
+ for k in m.get('DependentDimensions'):
3848
+ temp_model = ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions()
3849
+ self.dependent_dimensions.append(temp_model.from_map(k))
3475
3850
  if m.get('Name') is not None:
3476
3851
  self.name = m.get('Name')
3477
3852
  if m.get('Value') is not None:
@@ -3634,9 +4009,6 @@ class ListProductQuotaDimensionsResponse(TeaModel):
3634
4009
  self.body = body
3635
4010
 
3636
4011
  def validate(self):
3637
- self.validate_required(self.headers, 'headers')
3638
- self.validate_required(self.status_code, 'status_code')
3639
- self.validate_required(self.body, 'body')
3640
4012
  if self.body:
3641
4013
  self.body.validate()
3642
4014
 
@@ -3674,11 +4046,11 @@ class ListProductQuotasRequestDimensions(TeaModel):
3674
4046
  ):
3675
4047
  # The key of the dimension.
3676
4048
  #
3677
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4049
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
3678
4050
  self.key = key
3679
4051
  # The value of the dimension.
3680
4052
  #
3681
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4053
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
3682
4054
  self.value = value
3683
4055
 
3684
4056
  def validate(self):
@@ -3733,9 +4105,11 @@ class ListProductQuotasRequest(TeaModel):
3733
4105
  self.next_token = next_token
3734
4106
  # The abbreviation of the Alibaba Cloud service name.
3735
4107
  #
3736
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
4108
+ # > 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.
4109
+ #
4110
+ # This parameter is required.
3737
4111
  self.product_code = product_code
3738
- # The ID of the quota.
4112
+ # The quota ID.
3739
4113
  self.quota_action_code = quota_action_code
3740
4114
  # The type of the quota. Valid values:
3741
4115
  #
@@ -3743,16 +4117,20 @@ class ListProductQuotasRequest(TeaModel):
3743
4117
  # * FlowControl: API rate limit
3744
4118
  # * WhiteListLabel: whitelist quota
3745
4119
  self.quota_category = quota_category
3746
- # 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:
4120
+ # The field based on which you want to sort the returned records. Valid values:
3747
4121
  #
3748
4122
  # * TIME: The returned records are sorted by the last update time.
3749
4123
  # * TOTAL: The returned records are sorted by the usage of the total quota.
3750
4124
  # * RESERVED: The returned records are sorted by the usage of the reserved quota.
4125
+ #
4126
+ # > This parameter is available only for quotas that belong to ECS Quotas by Instance Type. You can leave this parameter empty.
3751
4127
  self.sort_field = sort_field
3752
- # 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:
4128
+ # The order in which you want to sort the returned records. Valid values:
3753
4129
  #
3754
4130
  # * Ascending: ascending order
3755
4131
  # * Descending: descending order
4132
+ #
4133
+ # > This parameter is available only for quotas that belong to ECS Quotas by Instance Type. You can leave this parameter empty.
3756
4134
  self.sort_order = sort_order
3757
4135
 
3758
4136
  def validate(self):
@@ -3871,8 +4249,6 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3871
4249
  # The quota value.
3872
4250
  self.quota = quota
3873
4251
  # The unit of the quota.
3874
- #
3875
- # > 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.
3876
4252
  self.quota_unit = quota_unit
3877
4253
  # The category of the quota. Valid values:
3878
4254
  #
@@ -3914,6 +4290,45 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3914
4290
  return self
3915
4291
 
3916
4292
 
4293
+ class ListProductQuotasResponseBodyQuotasUsageMetric(TeaModel):
4294
+ def __init__(
4295
+ self,
4296
+ metric_dimensions: Dict[str, str] = None,
4297
+ metric_name: str = None,
4298
+ metric_namespace: str = None,
4299
+ ):
4300
+ self.metric_dimensions = metric_dimensions
4301
+ self.metric_name = metric_name
4302
+ self.metric_namespace = metric_namespace
4303
+
4304
+ def validate(self):
4305
+ pass
4306
+
4307
+ def to_map(self):
4308
+ _map = super().to_map()
4309
+ if _map is not None:
4310
+ return _map
4311
+
4312
+ result = dict()
4313
+ if self.metric_dimensions is not None:
4314
+ result['MetricDimensions'] = self.metric_dimensions
4315
+ if self.metric_name is not None:
4316
+ result['MetricName'] = self.metric_name
4317
+ if self.metric_namespace is not None:
4318
+ result['MetricNamespace'] = self.metric_namespace
4319
+ return result
4320
+
4321
+ def from_map(self, m: dict = None):
4322
+ m = m or dict()
4323
+ if m.get('MetricDimensions') is not None:
4324
+ self.metric_dimensions = m.get('MetricDimensions')
4325
+ if m.get('MetricName') is not None:
4326
+ self.metric_name = m.get('MetricName')
4327
+ if m.get('MetricNamespace') is not None:
4328
+ self.metric_namespace = m.get('MetricNamespace')
4329
+ return self
4330
+
4331
+
3917
4332
  class ListProductQuotasResponseBodyQuotas(TeaModel):
3918
4333
  def __init__(
3919
4334
  self,
@@ -3940,13 +4355,14 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3940
4355
  total_quota: float = None,
3941
4356
  total_usage: float = None,
3942
4357
  unadjustable_detail: str = None,
4358
+ usage_metric: ListProductQuotasResponseBodyQuotasUsageMetric = None,
3943
4359
  ):
3944
4360
  # Indicates whether the quota is adjustable. Valid values:
3945
4361
  #
3946
- # * true: The quota is adjustable.
3947
- # * false: The quota is not adjustable.
4362
+ # * true
4363
+ # * false
3948
4364
  self.adjustable = adjustable
3949
- # None.
4365
+ # N/A
3950
4366
  self.applicable_range = applicable_range
3951
4367
  # The type of the adjustable value. Valid values:
3952
4368
  #
@@ -3957,8 +4373,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3957
4373
  self.apply_reason_tips = apply_reason_tips
3958
4374
  # Indicates whether the system shows the used value of the quota. Valid values:
3959
4375
  #
3960
- # * true: The system shows the used value of the quota.
3961
- # * false: The system does not show the used value of the quota.
4376
+ # * true
4377
+ # * false
3962
4378
  self.consumable = consumable
3963
4379
  # The quota dimensions. Format: `{"regionId":"Region"}`.
3964
4380
  self.dimensions = dimensions
@@ -3966,6 +4382,10 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3966
4382
  self.effective_time = effective_time
3967
4383
  # The end time of the validity period of the quota. The value is displayed in UTC.
3968
4384
  self.expire_time = expire_time
4385
+ # Indicates whether the quota is a global quota. Valid values:
4386
+ #
4387
+ # * true
4388
+ # * false
3969
4389
  self.global_quota = global_quota
3970
4390
  # The calculation cycle of the quota.
3971
4391
  self.period = period
@@ -3993,10 +4413,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3993
4413
  # * normal
3994
4414
  self.quota_type = quota_type
3995
4415
  # The unit of the quota.
3996
- #
3997
- # > 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.
3998
4416
  self.quota_unit = quota_unit
3999
- # None.
4417
+ # N/A
4000
4418
  self.supported_range = supported_range
4001
4419
  # The quota value.
4002
4420
  self.total_quota = total_quota
@@ -4008,6 +4426,7 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4008
4426
  # * applicationProcess: The application is being processed.
4009
4427
  # * limitReached: The quota limit is reached.
4010
4428
  self.unadjustable_detail = unadjustable_detail
4429
+ self.usage_metric = usage_metric
4011
4430
 
4012
4431
  def validate(self):
4013
4432
  if self.period:
@@ -4016,6 +4435,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4016
4435
  for k in self.quota_items:
4017
4436
  if k:
4018
4437
  k.validate()
4438
+ if self.usage_metric:
4439
+ self.usage_metric.validate()
4019
4440
 
4020
4441
  def to_map(self):
4021
4442
  _map = super().to_map()
@@ -4071,6 +4492,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4071
4492
  result['TotalUsage'] = self.total_usage
4072
4493
  if self.unadjustable_detail is not None:
4073
4494
  result['UnadjustableDetail'] = self.unadjustable_detail
4495
+ if self.usage_metric is not None:
4496
+ result['UsageMetric'] = self.usage_metric.to_map()
4074
4497
  return result
4075
4498
 
4076
4499
  def from_map(self, m: dict = None):
@@ -4125,6 +4548,9 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4125
4548
  self.total_usage = m.get('TotalUsage')
4126
4549
  if m.get('UnadjustableDetail') is not None:
4127
4550
  self.unadjustable_detail = m.get('UnadjustableDetail')
4551
+ if m.get('UsageMetric') is not None:
4552
+ temp_model = ListProductQuotasResponseBodyQuotasUsageMetric()
4553
+ self.usage_metric = temp_model.from_map(m['UsageMetric'])
4128
4554
  return self
4129
4555
 
4130
4556
 
@@ -4204,9 +4630,6 @@ class ListProductQuotasResponse(TeaModel):
4204
4630
  self.body = body
4205
4631
 
4206
4632
  def validate(self):
4207
- self.validate_required(self.headers, 'headers')
4208
- self.validate_required(self.status_code, 'status_code')
4209
- self.validate_required(self.body, 'body')
4210
4633
  if self.body:
4211
4634
  self.body.validate()
4212
4635
 
@@ -4452,9 +4875,6 @@ class ListProductsResponse(TeaModel):
4452
4875
  self.body = body
4453
4876
 
4454
4877
  def validate(self):
4455
- self.validate_required(self.headers, 'headers')
4456
- self.validate_required(self.status_code, 'status_code')
4457
- self.validate_required(self.body, 'body')
4458
4878
  if self.body:
4459
4879
  self.body.validate()
4460
4880
 
@@ -4492,11 +4912,19 @@ class ListQuotaAlarmsRequestQuotaDimensions(TeaModel):
4492
4912
  ):
4493
4913
  # The key of the dimension.
4494
4914
  #
4495
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4915
+ # >
4916
+ #
4917
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4918
+ #
4919
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
4496
4920
  self.key = key
4497
4921
  # The value of the dimension.
4498
4922
  #
4499
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4923
+ # >
4924
+ #
4925
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
4926
+ #
4927
+ # * This parameter is required if you set the `ProductCode` parameter to `ecs`, `ecs-spec`, `actiontrail`, or `ess`.
4500
4928
  self.value = value
4501
4929
 
4502
4930
  def validate(self):
@@ -4545,11 +4973,15 @@ class ListQuotaAlarmsRequest(TeaModel):
4545
4973
  self.next_token = next_token
4546
4974
  # The abbreviation of the Alibaba Cloud service name.
4547
4975
  #
4548
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
4976
+ # > 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.
4549
4977
  self.product_code = product_code
4550
- # The ID of the quota.
4978
+ # The quota ID.
4551
4979
  #
4552
- # > The `ProductCode` parameter is required if you specify this parameter.
4980
+ # >
4981
+ #
4982
+ # * 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.
4983
+ #
4984
+ # * If you specify this parameter, you must specify `ProductCode`.
4553
4985
  self.quota_action_code = quota_action_code
4554
4986
  # The quota dimensions.
4555
4987
  self.quota_dimensions = quota_dimensions
@@ -4812,9 +5244,6 @@ class ListQuotaAlarmsResponse(TeaModel):
4812
5244
  self.body = body
4813
5245
 
4814
5246
  def validate(self):
4815
- self.validate_required(self.headers, 'headers')
4816
- self.validate_required(self.status_code, 'status_code')
4817
- self.validate_required(self.body, 'body')
4818
5247
  if self.body:
4819
5248
  self.body.validate()
4820
5249
 
@@ -4852,11 +5281,19 @@ class ListQuotaApplicationTemplatesRequestDimensions(TeaModel):
4852
5281
  ):
4853
5282
  # The key of the dimension.
4854
5283
  #
4855
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5284
+ # >
5285
+ #
5286
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5287
+ #
5288
+ # * You must specify both Key and Value for each quota dimension.
4856
5289
  self.key = key
4857
5290
  # The value of the dimension.
4858
5291
  #
4859
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5292
+ # >
5293
+ #
5294
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5295
+ #
5296
+ # * You must specify both Key and Value for each quota dimension.
4860
5297
  self.value = value
4861
5298
 
4862
5299
  def validate(self):
@@ -4906,7 +5343,7 @@ class ListQuotaApplicationTemplatesRequest(TeaModel):
4906
5343
  self.next_token = next_token
4907
5344
  # The abbreviation of the Alibaba Cloud service name.
4908
5345
  #
4909
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
5346
+ # > 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.
4910
5347
  self.product_code = product_code
4911
5348
  # The ID of the quota.
4912
5349
  self.quota_action_code = quota_action_code
@@ -5231,9 +5668,6 @@ class ListQuotaApplicationTemplatesResponse(TeaModel):
5231
5668
  self.body = body
5232
5669
 
5233
5670
  def validate(self):
5234
- self.validate_required(self.headers, 'headers')
5235
- self.validate_required(self.status_code, 'status_code')
5236
- self.validate_required(self.body, 'body')
5237
5671
  if self.body:
5238
5672
  self.body.validate()
5239
5673
 
@@ -5271,11 +5705,11 @@ class ListQuotaApplicationsRequestDimensions(TeaModel):
5271
5705
  ):
5272
5706
  # The key of the dimension.
5273
5707
  #
5274
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5708
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5275
5709
  self.key = key
5276
5710
  # The value of the dimension.
5277
5711
  #
5278
- # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5712
+ # > The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
5279
5713
  self.value = value
5280
5714
 
5281
5715
  def validate(self):
@@ -5325,8 +5759,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5325
5759
  # 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.
5326
5760
  self.next_token = next_token
5327
5761
  # The abbreviation of the Alibaba Cloud service name.
5328
- #
5329
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
5330
5762
  self.product_code = product_code
5331
5763
  # The ID of the quota.
5332
5764
  self.quota_action_code = quota_action_code
@@ -5681,9 +6113,6 @@ class ListQuotaApplicationsResponse(TeaModel):
5681
6113
  self.body = body
5682
6114
 
5683
6115
  def validate(self):
5684
- self.validate_required(self.headers, 'headers')
5685
- self.validate_required(self.status_code, 'status_code')
5686
- self.validate_required(self.body, 'body')
5687
6116
  if self.body:
5688
6117
  self.body.validate()
5689
6118
 
@@ -5739,7 +6168,7 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5739
6168
  self.next_token = next_token
5740
6169
  # The abbreviation of the Alibaba Cloud service name.
5741
6170
  #
5742
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
6171
+ # > 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.
5743
6172
  self.product_code = product_code
5744
6173
  # The quota ID.
5745
6174
  self.quota_action_code = quota_action_code
@@ -5749,11 +6178,11 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5749
6178
  # * FlowControl: API rate limit
5750
6179
  # * WhiteListLabel: privilege
5751
6180
  self.quota_category = quota_category
5752
- # The approval status of the quota increase application. Valid values:
6181
+ # The approval state of the quota increase application. Valid values:
5753
6182
  #
5754
6183
  # * Disagree: The application is rejected.
5755
6184
  # * Agree: The application is approved.
5756
- # * Process: The application is pending approval.
6185
+ # * Process: The application is in review.
5757
6186
  # * Cancel: The application is canceled.
5758
6187
  self.status = status
5759
6188
 
@@ -6108,9 +6537,6 @@ class ListQuotaApplicationsDetailForTemplateResponse(TeaModel):
6108
6537
  self.body = body
6109
6538
 
6110
6539
  def validate(self):
6111
- self.validate_required(self.headers, 'headers')
6112
- self.validate_required(self.status_code, 'status_code')
6113
- self.validate_required(self.body, 'body')
6114
6540
  if self.body:
6115
6541
  self.body.validate()
6116
6542
 
@@ -6168,7 +6594,7 @@ class ListQuotaApplicationsForTemplateRequest(TeaModel):
6168
6594
  self.next_token = next_token
6169
6595
  # The abbreviation of the Alibaba Cloud service name.
6170
6596
  #
6171
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
6597
+ # > 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.
6172
6598
  self.product_code = product_code
6173
6599
  # The quota ID.
6174
6600
  self.quota_action_code = quota_action_code
@@ -6233,13 +6659,13 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplicationsAuditSta
6233
6659
  count: int = None,
6234
6660
  status: str = None,
6235
6661
  ):
6236
- # The number of approval documents.
6662
+ # The number of approval tickets.
6237
6663
  self.count = count
6238
- # The approval status of the quota increase application. Valid values:
6664
+ # The approval state of the quota increase application. Valid values:
6239
6665
  #
6240
6666
  # * Disagree: The application is rejected.
6241
6667
  # * Agree: The application is approved.
6242
- # * Process: The application is pending approval.
6668
+ # * Process: The application is in review.
6243
6669
  # * Cancel: The application is canceled.
6244
6670
  self.status = status
6245
6671
 
@@ -6283,6 +6709,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6283
6709
  quota_category: str = None,
6284
6710
  reason: str = None,
6285
6711
  ):
6712
+ # The Alibaba Cloud accounts that correspond to the resource directory members for which the quotas are applied.
6286
6713
  self.aliyun_uids = aliyun_uids
6287
6714
  # The time when the quota increase application was submitted. The value is displayed in UTC.
6288
6715
  self.apply_time = apply_time
@@ -6294,7 +6721,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6294
6721
  self.desire_value = desire_value
6295
6722
  # The quota dimensions.
6296
6723
  #
6297
- # Format: {"regionId":"cn-hangzhou"}.
6724
+ # Format example: {"regionId":"cn-hangzhou"}.
6298
6725
  self.dimensions = dimensions
6299
6726
  # The start time of the validity period of the quota. The value is displayed in UTC.
6300
6727
  self.effective_time = effective_time
@@ -6310,6 +6737,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6310
6737
  # * FlowControl: API rate limit
6311
6738
  # * WhiteListLabel: privilege
6312
6739
  self.quota_category = quota_category
6740
+ # The reason for the quota increase application.
6313
6741
  self.reason = reason
6314
6742
 
6315
6743
  def validate(self):
@@ -6460,9 +6888,6 @@ class ListQuotaApplicationsForTemplateResponse(TeaModel):
6460
6888
  self.body = body
6461
6889
 
6462
6890
  def validate(self):
6463
- self.validate_required(self.headers, 'headers')
6464
- self.validate_required(self.status_code, 'status_code')
6465
- self.validate_required(self.body, 'body')
6466
6891
  if self.body:
6467
6892
  self.body.validate()
6468
6893
 
@@ -6497,10 +6922,12 @@ class ModifyQuotaTemplateServiceStatusRequest(TeaModel):
6497
6922
  self,
6498
6923
  service_status: int = None,
6499
6924
  ):
6500
- # The state of the quota template. Valid values:
6925
+ # The status of the quota template. Valid values:
6501
6926
  #
6502
- # * \-1: The quota template is disabled.
6927
+ # * \\-1: The quota template is disabled.
6503
6928
  # * 1: The quota template is enabled.
6929
+ #
6930
+ # This parameter is required.
6504
6931
  self.service_status = service_status
6505
6932
 
6506
6933
  def validate(self):
@@ -6531,9 +6958,9 @@ class ModifyQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel
6531
6958
  ):
6532
6959
  # The ID of the resource directory.
6533
6960
  self.resource_directory_id = resource_directory_id
6534
- # The state of the quota template. Valid values:
6961
+ # The status of the quota template. Valid values:
6535
6962
  #
6536
- # * \-1: The quota template is disabled.
6963
+ # * \\-1: The quota template is disabled.
6537
6964
  # * 1: The quota template is enabled.
6538
6965
  self.service_status = service_status
6539
6966
 
@@ -6610,9 +7037,6 @@ class ModifyQuotaTemplateServiceStatusResponse(TeaModel):
6610
7037
  self.body = body
6611
7038
 
6612
7039
  def validate(self):
6613
- self.validate_required(self.headers, 'headers')
6614
- self.validate_required(self.status_code, 'status_code')
6615
- self.validate_required(self.body, 'body')
6616
7040
  if self.body:
6617
7041
  self.body.validate()
6618
7042
 
@@ -6694,6 +7118,7 @@ class ModifyTemplateQuotaItemRequest(TeaModel):
6694
7118
  self.effective_time = effective_time
6695
7119
  self.env_language = env_language
6696
7120
  self.expire_time = expire_time
7121
+ # This parameter is required.
6697
7122
  self.id = id
6698
7123
  self.notice_type = notice_type
6699
7124
  self.product_code = product_code
@@ -6809,9 +7234,6 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6809
7234
  self.body = body
6810
7235
 
6811
7236
  def validate(self):
6812
- self.validate_required(self.headers, 'headers')
6813
- self.validate_required(self.status_code, 'status_code')
6814
- self.validate_required(self.body, 'body')
6815
7237
  if self.body:
6816
7238
  self.body.validate()
6817
7239
 
@@ -6841,6 +7263,174 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6841
7263
  return self
6842
7264
 
6843
7265
 
7266
+ class RemindQuotaApplicationApprovalRequest(TeaModel):
7267
+ def __init__(
7268
+ self,
7269
+ application_id: str = None,
7270
+ ):
7271
+ # The quota application ID.
7272
+ #
7273
+ # For more information about how to obtain the ID of a quota application, see [ListQuotaApplications](https://help.aliyun.com/document_detail/440568.html).
7274
+ self.application_id = application_id
7275
+
7276
+ def validate(self):
7277
+ pass
7278
+
7279
+ def to_map(self):
7280
+ _map = super().to_map()
7281
+ if _map is not None:
7282
+ return _map
7283
+
7284
+ result = dict()
7285
+ if self.application_id is not None:
7286
+ result['ApplicationId'] = self.application_id
7287
+ return result
7288
+
7289
+ def from_map(self, m: dict = None):
7290
+ m = m or dict()
7291
+ if m.get('ApplicationId') is not None:
7292
+ self.application_id = m.get('ApplicationId')
7293
+ return self
7294
+
7295
+
7296
+ class RemindQuotaApplicationApprovalResponseBody(TeaModel):
7297
+ def __init__(
7298
+ self,
7299
+ allow_retry: bool = None,
7300
+ dynamic_code: str = None,
7301
+ dynamic_message: str = None,
7302
+ error_args: List[Any] = None,
7303
+ error_code: str = None,
7304
+ error_msg: str = None,
7305
+ http_status_code: int = None,
7306
+ module: str = None,
7307
+ request_id: str = None,
7308
+ success: bool = None,
7309
+ ):
7310
+ # Indicates whether retries are allowed. Valid values:
7311
+ #
7312
+ # * false
7313
+ # * true
7314
+ self.allow_retry = allow_retry
7315
+ # The dynamic error code.
7316
+ self.dynamic_code = dynamic_code
7317
+ # The dynamic error message.
7318
+ self.dynamic_message = dynamic_message
7319
+ # The parameters whose values are invalid.
7320
+ self.error_args = error_args
7321
+ # The error code.
7322
+ self.error_code = error_code
7323
+ # The error message.
7324
+ self.error_msg = error_msg
7325
+ # The HTTP status code.
7326
+ self.http_status_code = http_status_code
7327
+ # The quota application ID.
7328
+ self.module = module
7329
+ # The request ID.
7330
+ self.request_id = request_id
7331
+ # Indicates whether the request was successful. Valid values:
7332
+ #
7333
+ # * true
7334
+ # * false
7335
+ self.success = success
7336
+
7337
+ def validate(self):
7338
+ pass
7339
+
7340
+ def to_map(self):
7341
+ _map = super().to_map()
7342
+ if _map is not None:
7343
+ return _map
7344
+
7345
+ result = dict()
7346
+ if self.allow_retry is not None:
7347
+ result['AllowRetry'] = self.allow_retry
7348
+ if self.dynamic_code is not None:
7349
+ result['DynamicCode'] = self.dynamic_code
7350
+ if self.dynamic_message is not None:
7351
+ result['DynamicMessage'] = self.dynamic_message
7352
+ if self.error_args is not None:
7353
+ result['ErrorArgs'] = self.error_args
7354
+ if self.error_code is not None:
7355
+ result['ErrorCode'] = self.error_code
7356
+ if self.error_msg is not None:
7357
+ result['ErrorMsg'] = self.error_msg
7358
+ if self.http_status_code is not None:
7359
+ result['HttpStatusCode'] = self.http_status_code
7360
+ if self.module is not None:
7361
+ result['Module'] = self.module
7362
+ if self.request_id is not None:
7363
+ result['RequestId'] = self.request_id
7364
+ if self.success is not None:
7365
+ result['Success'] = self.success
7366
+ return result
7367
+
7368
+ def from_map(self, m: dict = None):
7369
+ m = m or dict()
7370
+ if m.get('AllowRetry') is not None:
7371
+ self.allow_retry = m.get('AllowRetry')
7372
+ if m.get('DynamicCode') is not None:
7373
+ self.dynamic_code = m.get('DynamicCode')
7374
+ if m.get('DynamicMessage') is not None:
7375
+ self.dynamic_message = m.get('DynamicMessage')
7376
+ if m.get('ErrorArgs') is not None:
7377
+ self.error_args = m.get('ErrorArgs')
7378
+ if m.get('ErrorCode') is not None:
7379
+ self.error_code = m.get('ErrorCode')
7380
+ if m.get('ErrorMsg') is not None:
7381
+ self.error_msg = m.get('ErrorMsg')
7382
+ if m.get('HttpStatusCode') is not None:
7383
+ self.http_status_code = m.get('HttpStatusCode')
7384
+ if m.get('Module') is not None:
7385
+ self.module = m.get('Module')
7386
+ if m.get('RequestId') is not None:
7387
+ self.request_id = m.get('RequestId')
7388
+ if m.get('Success') is not None:
7389
+ self.success = m.get('Success')
7390
+ return self
7391
+
7392
+
7393
+ class RemindQuotaApplicationApprovalResponse(TeaModel):
7394
+ def __init__(
7395
+ self,
7396
+ headers: Dict[str, str] = None,
7397
+ status_code: int = None,
7398
+ body: RemindQuotaApplicationApprovalResponseBody = None,
7399
+ ):
7400
+ self.headers = headers
7401
+ self.status_code = status_code
7402
+ self.body = body
7403
+
7404
+ def validate(self):
7405
+ if self.body:
7406
+ self.body.validate()
7407
+
7408
+ def to_map(self):
7409
+ _map = super().to_map()
7410
+ if _map is not None:
7411
+ return _map
7412
+
7413
+ result = dict()
7414
+ if self.headers is not None:
7415
+ result['headers'] = self.headers
7416
+ if self.status_code is not None:
7417
+ result['statusCode'] = self.status_code
7418
+ if self.body is not None:
7419
+ result['body'] = self.body.to_map()
7420
+ return result
7421
+
7422
+ def from_map(self, m: dict = None):
7423
+ m = m or dict()
7424
+ if m.get('headers') is not None:
7425
+ self.headers = m.get('headers')
7426
+ if m.get('statusCode') is not None:
7427
+ self.status_code = m.get('statusCode')
7428
+ if m.get('body') is not None:
7429
+ temp_model = RemindQuotaApplicationApprovalResponseBody()
7430
+ self.body = temp_model.from_map(m['body'])
7431
+ return self
7432
+
7433
+
6844
7434
  class UpdateQuotaAlarmRequest(TeaModel):
6845
7435
  def __init__(
6846
7436
  self,
@@ -6852,8 +7442,16 @@ class UpdateQuotaAlarmRequest(TeaModel):
6852
7442
  web_hook: str = None,
6853
7443
  ):
6854
7444
  # The ID of the quota alert.
7445
+ #
7446
+ # > You can call the [ListQuotaAlarms](https://help.aliyun.com/document_detail/440561.html) operation to obtain the ID of a quota alert.
7447
+ #
7448
+ # This parameter is required.
6855
7449
  self.alarm_id = alarm_id
6856
7450
  # The name of the quota alert.
7451
+ #
7452
+ # > You can call the [ListQuotaAlarms](https://help.aliyun.com/document_detail/440561.html) operation to obtain the name of a quota alert.
7453
+ #
7454
+ # This parameter is required.
6857
7455
  self.alarm_name = alarm_name
6858
7456
  # The numeric value of the alert threshold. Valid values:
6859
7457
  #
@@ -6864,14 +7462,14 @@ class UpdateQuotaAlarmRequest(TeaModel):
6864
7462
  self.threshold = threshold
6865
7463
  # The percentage of the alert threshold. Valid values:
6866
7464
  #
6867
- # * 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%].
6868
- # * 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%].
7465
+ # * 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%].
7466
+ # * 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%].
6869
7467
  #
6870
- # > You must set one of the Threshold and ThresholdPercent parameters.
7468
+ # > You must set one of Threshold and ThresholdPercent.
6871
7469
  self.threshold_percent = threshold_percent
6872
7470
  # The type of the quota alert. Valid values:
6873
7471
  #
6874
- # * used: The alert is created for the used quota.
7472
+ # * used (default): The alert is created for the used quota.
6875
7473
  # * usable: The alert is created for the available quota.
6876
7474
  self.threshold_type = threshold_type
6877
7475
  # The webhook URL. Quota Center sends alert notifications to the specified URL by using HTTP POST requests.
@@ -6957,9 +7555,6 @@ class UpdateQuotaAlarmResponse(TeaModel):
6957
7555
  self.body = body
6958
7556
 
6959
7557
  def validate(self):
6960
- self.validate_required(self.headers, 'headers')
6961
- self.validate_required(self.status_code, 'status_code')
6962
- self.validate_required(self.body, 'body')
6963
7558
  if self.body:
6964
7559
  self.body.validate()
6965
7560