alibabacloud-quotas20200510 1.1.4__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 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.
624
645
  #
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~~).
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).
647
+ #
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
+ # >
881
917
  #
882
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
918
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
919
+ #
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
+ # >
925
+ #
926
+ # * The value range of N varies based on the number of dimensions that are supported by the related Alibaba Cloud service.
887
927
  #
888
- # > This parameter is required if you set the ProductCode parameter to ecs, ecs-spec, actiontrail, or ess.
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
 
@@ -2529,9 +2629,6 @@ class GetQuotaApplicationResponse(TeaModel):
2529
2629
  self.body = body
2530
2630
 
2531
2631
  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
2632
  if self.body:
2536
2633
  self.body.validate()
2537
2634
 
@@ -2561,6 +2658,228 @@ class GetQuotaApplicationResponse(TeaModel):
2561
2658
  return self
2562
2659
 
2563
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
+
2564
2883
  class GetQuotaTemplateServiceStatusRequest(TeaModel):
2565
2884
  def __init__(
2566
2885
  self,
@@ -2599,7 +2918,7 @@ class GetQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel):
2599
2918
  self.resource_directory_id = resource_directory_id
2600
2919
  # The state of the quota template. Valid values:
2601
2920
  #
2602
- # * \-1: The quota template is disabled.
2921
+ # * \\-1: The quota template is disabled.
2603
2922
  # * 1: The quota template is enabled.
2604
2923
  self.service_status = service_status
2605
2924
 
@@ -2676,9 +2995,6 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2676
2995
  self.body = body
2677
2996
 
2678
2997
  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
2998
  if self.body:
2683
2999
  self.body.validate()
2684
3000
 
@@ -2711,6 +3027,7 @@ class GetQuotaTemplateServiceStatusResponse(TeaModel):
2711
3027
  class ListAlarmHistoriesRequest(TeaModel):
2712
3028
  def __init__(
2713
3029
  self,
3030
+ alarm_id: str = None,
2714
3031
  end_time: int = None,
2715
3032
  keyword: str = None,
2716
3033
  max_results: int = None,
@@ -2718,6 +3035,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2718
3035
  product_code: str = None,
2719
3036
  start_time: int = None,
2720
3037
  ):
3038
+ # The ID of the alert.
3039
+ self.alarm_id = alarm_id
2721
3040
  # The end of the time range to query.
2722
3041
  self.end_time = end_time
2723
3042
  # The keyword that is used for the query.
@@ -2730,7 +3049,7 @@ class ListAlarmHistoriesRequest(TeaModel):
2730
3049
  self.next_token = next_token
2731
3050
  # The abbreviation of the Alibaba Cloud service name.
2732
3051
  #
2733
- # > 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).
2734
3053
  self.product_code = product_code
2735
3054
  # The beginning of the time range to query.
2736
3055
  self.start_time = start_time
@@ -2744,6 +3063,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2744
3063
  return _map
2745
3064
 
2746
3065
  result = dict()
3066
+ if self.alarm_id is not None:
3067
+ result['AlarmId'] = self.alarm_id
2747
3068
  if self.end_time is not None:
2748
3069
  result['EndTime'] = self.end_time
2749
3070
  if self.keyword is not None:
@@ -2760,6 +3081,8 @@ class ListAlarmHistoriesRequest(TeaModel):
2760
3081
 
2761
3082
  def from_map(self, m: dict = None):
2762
3083
  m = m or dict()
3084
+ if m.get('AlarmId') is not None:
3085
+ self.alarm_id = m.get('AlarmId')
2763
3086
  if m.get('EndTime') is not None:
2764
3087
  self.end_time = m.get('EndTime')
2765
3088
  if m.get('Keyword') is not None:
@@ -2935,9 +3258,6 @@ class ListAlarmHistoriesResponse(TeaModel):
2935
3258
  self.body = body
2936
3259
 
2937
3260
  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
3261
  if self.body:
2942
3262
  self.body.validate()
2943
3263
 
@@ -2975,9 +3295,13 @@ class ListDependentQuotasRequest(TeaModel):
2975
3295
  ):
2976
3296
  # The abbreviation of the Alibaba Cloud service name.
2977
3297
  #
2978
- # > 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.
2979
3301
  self.product_code = product_code
2980
3302
  # The quota ID.
3303
+ #
3304
+ # This parameter is required.
2981
3305
  self.quota_action_code = quota_action_code
2982
3306
 
2983
3307
  def validate(self):
@@ -3158,9 +3482,6 @@ class ListDependentQuotasResponse(TeaModel):
3158
3482
  self.body = body
3159
3483
 
3160
3484
  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
3485
  if self.body:
3165
3486
  self.body.validate()
3166
3487
 
@@ -3203,7 +3524,9 @@ class ListProductDimensionGroupsRequest(TeaModel):
3203
3524
  self.next_token = next_token
3204
3525
  # The service code.
3205
3526
  #
3206
- # > 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.
3207
3530
  self.product_code = product_code
3208
3531
 
3209
3532
  def validate(self):
@@ -3359,9 +3682,6 @@ class ListProductDimensionGroupsResponse(TeaModel):
3359
3682
  self.body = body
3360
3683
 
3361
3684
  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
3685
  if self.body:
3366
3686
  self.body.validate()
3367
3687
 
@@ -3407,7 +3727,9 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3407
3727
  self.next_token = next_token
3408
3728
  # The abbreviation of the Alibaba Cloud service name.
3409
3729
  #
3410
- # > 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.
3411
3733
  self.product_code = product_code
3412
3734
  # The type of the quota. Valid values:
3413
3735
  #
@@ -3447,19 +3769,60 @@ class ListProductQuotaDimensionsRequest(TeaModel):
3447
3769
  return self
3448
3770
 
3449
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
+
3450
3807
  class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(TeaModel):
3451
3808
  def __init__(
3452
3809
  self,
3810
+ dependent_dimensions: List[ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetailDependentDimensions] = None,
3453
3811
  name: str = None,
3454
3812
  value: str = None,
3455
3813
  ):
3814
+ # The quota dimensions on which the quota dimension that you want to query is dependent.
3815
+ self.dependent_dimensions = dependent_dimensions
3456
3816
  # The name of the quota dimension.
3457
3817
  self.name = name
3458
3818
  # The value of the quota dimension.
3459
3819
  self.value = value
3460
3820
 
3461
3821
  def validate(self):
3462
- pass
3822
+ if self.dependent_dimensions:
3823
+ for k in self.dependent_dimensions:
3824
+ if k:
3825
+ k.validate()
3463
3826
 
3464
3827
  def to_map(self):
3465
3828
  _map = super().to_map()
@@ -3467,6 +3830,10 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3467
3830
  return _map
3468
3831
 
3469
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)
3470
3837
  if self.name is not None:
3471
3838
  result['Name'] = self.name
3472
3839
  if self.value is not None:
@@ -3475,6 +3842,11 @@ class ListProductQuotaDimensionsResponseBodyQuotaDimensionsDimensionValueDetail(
3475
3842
 
3476
3843
  def from_map(self, m: dict = None):
3477
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))
3478
3850
  if m.get('Name') is not None:
3479
3851
  self.name = m.get('Name')
3480
3852
  if m.get('Value') is not None:
@@ -3637,9 +4009,6 @@ class ListProductQuotaDimensionsResponse(TeaModel):
3637
4009
  self.body = body
3638
4010
 
3639
4011
  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
4012
  if self.body:
3644
4013
  self.body.validate()
3645
4014
 
@@ -3677,11 +4046,11 @@ class ListProductQuotasRequestDimensions(TeaModel):
3677
4046
  ):
3678
4047
  # The key of the dimension.
3679
4048
  #
3680
- # > 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.
3681
4050
  self.key = key
3682
4051
  # The value of the dimension.
3683
4052
  #
3684
- # > 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.
3685
4054
  self.value = value
3686
4055
 
3687
4056
  def validate(self):
@@ -3736,9 +4105,11 @@ class ListProductQuotasRequest(TeaModel):
3736
4105
  self.next_token = next_token
3737
4106
  # The abbreviation of the Alibaba Cloud service name.
3738
4107
  #
3739
- # > 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.
3740
4111
  self.product_code = product_code
3741
- # The ID of the quota.
4112
+ # The quota ID.
3742
4113
  self.quota_action_code = quota_action_code
3743
4114
  # The type of the quota. Valid values:
3744
4115
  #
@@ -3746,16 +4117,20 @@ class ListProductQuotasRequest(TeaModel):
3746
4117
  # * FlowControl: API rate limit
3747
4118
  # * WhiteListLabel: whitelist quota
3748
4119
  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:
4120
+ # The field based on which you want to sort the returned records. Valid values:
3750
4121
  #
3751
4122
  # * TIME: The returned records are sorted by the last update time.
3752
4123
  # * TOTAL: The returned records are sorted by the usage of the total quota.
3753
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.
3754
4127
  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:
4128
+ # The order in which you want to sort the returned records. Valid values:
3756
4129
  #
3757
4130
  # * Ascending: ascending order
3758
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.
3759
4134
  self.sort_order = sort_order
3760
4135
 
3761
4136
  def validate(self):
@@ -3874,8 +4249,6 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3874
4249
  # The quota value.
3875
4250
  self.quota = quota
3876
4251
  # 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
4252
  self.quota_unit = quota_unit
3880
4253
  # The category of the quota. Valid values:
3881
4254
  #
@@ -3917,6 +4290,45 @@ class ListProductQuotasResponseBodyQuotasQuotaItems(TeaModel):
3917
4290
  return self
3918
4291
 
3919
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
+
3920
4332
  class ListProductQuotasResponseBodyQuotas(TeaModel):
3921
4333
  def __init__(
3922
4334
  self,
@@ -3943,13 +4355,14 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3943
4355
  total_quota: float = None,
3944
4356
  total_usage: float = None,
3945
4357
  unadjustable_detail: str = None,
4358
+ usage_metric: ListProductQuotasResponseBodyQuotasUsageMetric = None,
3946
4359
  ):
3947
4360
  # Indicates whether the quota is adjustable. Valid values:
3948
4361
  #
3949
- # * true: The quota is adjustable.
3950
- # * false: The quota is not adjustable.
4362
+ # * true
4363
+ # * false
3951
4364
  self.adjustable = adjustable
3952
- # None.
4365
+ # N/A
3953
4366
  self.applicable_range = applicable_range
3954
4367
  # The type of the adjustable value. Valid values:
3955
4368
  #
@@ -3960,8 +4373,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3960
4373
  self.apply_reason_tips = apply_reason_tips
3961
4374
  # Indicates whether the system shows the used value of the quota. Valid values:
3962
4375
  #
3963
- # * true: The system shows the used value of the quota.
3964
- # * false: The system does not show the used value of the quota.
4376
+ # * true
4377
+ # * false
3965
4378
  self.consumable = consumable
3966
4379
  # The quota dimensions. Format: `{"regionId":"Region"}`.
3967
4380
  self.dimensions = dimensions
@@ -3971,8 +4384,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
3971
4384
  self.expire_time = expire_time
3972
4385
  # Indicates whether the quota is a global quota. Valid values:
3973
4386
  #
3974
- # * true: The quota is shared in all regions.
3975
- # * false: The quota is independently used in a region.
4387
+ # * true
4388
+ # * false
3976
4389
  self.global_quota = global_quota
3977
4390
  # The calculation cycle of the quota.
3978
4391
  self.period = period
@@ -4000,10 +4413,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4000
4413
  # * normal
4001
4414
  self.quota_type = quota_type
4002
4415
  # 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
4416
  self.quota_unit = quota_unit
4006
- # None.
4417
+ # N/A
4007
4418
  self.supported_range = supported_range
4008
4419
  # The quota value.
4009
4420
  self.total_quota = total_quota
@@ -4015,6 +4426,7 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4015
4426
  # * applicationProcess: The application is being processed.
4016
4427
  # * limitReached: The quota limit is reached.
4017
4428
  self.unadjustable_detail = unadjustable_detail
4429
+ self.usage_metric = usage_metric
4018
4430
 
4019
4431
  def validate(self):
4020
4432
  if self.period:
@@ -4023,6 +4435,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4023
4435
  for k in self.quota_items:
4024
4436
  if k:
4025
4437
  k.validate()
4438
+ if self.usage_metric:
4439
+ self.usage_metric.validate()
4026
4440
 
4027
4441
  def to_map(self):
4028
4442
  _map = super().to_map()
@@ -4078,6 +4492,8 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4078
4492
  result['TotalUsage'] = self.total_usage
4079
4493
  if self.unadjustable_detail is not None:
4080
4494
  result['UnadjustableDetail'] = self.unadjustable_detail
4495
+ if self.usage_metric is not None:
4496
+ result['UsageMetric'] = self.usage_metric.to_map()
4081
4497
  return result
4082
4498
 
4083
4499
  def from_map(self, m: dict = None):
@@ -4132,6 +4548,9 @@ class ListProductQuotasResponseBodyQuotas(TeaModel):
4132
4548
  self.total_usage = m.get('TotalUsage')
4133
4549
  if m.get('UnadjustableDetail') is not None:
4134
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'])
4135
4554
  return self
4136
4555
 
4137
4556
 
@@ -4211,9 +4630,6 @@ class ListProductQuotasResponse(TeaModel):
4211
4630
  self.body = body
4212
4631
 
4213
4632
  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
4633
  if self.body:
4218
4634
  self.body.validate()
4219
4635
 
@@ -4459,9 +4875,6 @@ class ListProductsResponse(TeaModel):
4459
4875
  self.body = body
4460
4876
 
4461
4877
  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
4878
  if self.body:
4466
4879
  self.body.validate()
4467
4880
 
@@ -4499,11 +4912,19 @@ class ListQuotaAlarmsRequestQuotaDimensions(TeaModel):
4499
4912
  ):
4500
4913
  # The key of the dimension.
4501
4914
  #
4502
- # > 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`.
4503
4920
  self.key = key
4504
4921
  # The value of the dimension.
4505
4922
  #
4506
- # > 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`.
4507
4928
  self.value = value
4508
4929
 
4509
4930
  def validate(self):
@@ -4552,11 +4973,15 @@ class ListQuotaAlarmsRequest(TeaModel):
4552
4973
  self.next_token = next_token
4553
4974
  # The abbreviation of the Alibaba Cloud service name.
4554
4975
  #
4555
- # > 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.
4556
4977
  self.product_code = product_code
4557
- # The ID of the quota.
4978
+ # The quota ID.
4558
4979
  #
4559
- # > 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`.
4560
4985
  self.quota_action_code = quota_action_code
4561
4986
  # The quota dimensions.
4562
4987
  self.quota_dimensions = quota_dimensions
@@ -4819,9 +5244,6 @@ class ListQuotaAlarmsResponse(TeaModel):
4819
5244
  self.body = body
4820
5245
 
4821
5246
  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
5247
  if self.body:
4826
5248
  self.body.validate()
4827
5249
 
@@ -4859,11 +5281,19 @@ class ListQuotaApplicationTemplatesRequestDimensions(TeaModel):
4859
5281
  ):
4860
5282
  # The key of the dimension.
4861
5283
  #
4862
- # > 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.
4863
5289
  self.key = key
4864
5290
  # The value of the dimension.
4865
5291
  #
4866
- # > 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.
4867
5297
  self.value = value
4868
5298
 
4869
5299
  def validate(self):
@@ -4913,7 +5343,7 @@ class ListQuotaApplicationTemplatesRequest(TeaModel):
4913
5343
  self.next_token = next_token
4914
5344
  # The abbreviation of the Alibaba Cloud service name.
4915
5345
  #
4916
- # > 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.
4917
5347
  self.product_code = product_code
4918
5348
  # The ID of the quota.
4919
5349
  self.quota_action_code = quota_action_code
@@ -5238,9 +5668,6 @@ class ListQuotaApplicationTemplatesResponse(TeaModel):
5238
5668
  self.body = body
5239
5669
 
5240
5670
  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
5671
  if self.body:
5245
5672
  self.body.validate()
5246
5673
 
@@ -5278,11 +5705,11 @@ class ListQuotaApplicationsRequestDimensions(TeaModel):
5278
5705
  ):
5279
5706
  # The key of the dimension.
5280
5707
  #
5281
- # > 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.
5282
5709
  self.key = key
5283
5710
  # The value of the dimension.
5284
5711
  #
5285
- # > 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.
5286
5713
  self.value = value
5287
5714
 
5288
5715
  def validate(self):
@@ -5312,7 +5739,6 @@ class ListQuotaApplicationsRequestDimensions(TeaModel):
5312
5739
  class ListQuotaApplicationsRequest(TeaModel):
5313
5740
  def __init__(
5314
5741
  self,
5315
- accept_language: str = None,
5316
5742
  dimensions: List[ListQuotaApplicationsRequestDimensions] = None,
5317
5743
  key_word: str = None,
5318
5744
  max_results: int = None,
@@ -5322,7 +5748,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5322
5748
  quota_category: str = None,
5323
5749
  status: str = None,
5324
5750
  ):
5325
- self.accept_language = accept_language
5326
5751
  # The quota dimensions.
5327
5752
  self.dimensions = dimensions
5328
5753
  # The keyword that you want to use to search for the application.
@@ -5334,8 +5759,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5334
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.
5335
5760
  self.next_token = next_token
5336
5761
  # The abbreviation of the Alibaba Cloud service name.
5337
- #
5338
- # > For more information, see [Alibaba Cloud services that support Quota Center](~~182368~~).
5339
5762
  self.product_code = product_code
5340
5763
  # The ID of the quota.
5341
5764
  self.quota_action_code = quota_action_code
@@ -5365,8 +5788,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5365
5788
  return _map
5366
5789
 
5367
5790
  result = dict()
5368
- if self.accept_language is not None:
5369
- result['AcceptLanguage'] = self.accept_language
5370
5791
  result['Dimensions'] = []
5371
5792
  if self.dimensions is not None:
5372
5793
  for k in self.dimensions:
@@ -5389,8 +5810,6 @@ class ListQuotaApplicationsRequest(TeaModel):
5389
5810
 
5390
5811
  def from_map(self, m: dict = None):
5391
5812
  m = m or dict()
5392
- if m.get('AcceptLanguage') is not None:
5393
- self.accept_language = m.get('AcceptLanguage')
5394
5813
  self.dimensions = []
5395
5814
  if m.get('Dimensions') is not None:
5396
5815
  for k in m.get('Dimensions'):
@@ -5694,9 +6113,6 @@ class ListQuotaApplicationsResponse(TeaModel):
5694
6113
  self.body = body
5695
6114
 
5696
6115
  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
6116
  if self.body:
5701
6117
  self.body.validate()
5702
6118
 
@@ -5752,7 +6168,7 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5752
6168
  self.next_token = next_token
5753
6169
  # The abbreviation of the Alibaba Cloud service name.
5754
6170
  #
5755
- # > 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.
5756
6172
  self.product_code = product_code
5757
6173
  # The quota ID.
5758
6174
  self.quota_action_code = quota_action_code
@@ -5762,11 +6178,11 @@ class ListQuotaApplicationsDetailForTemplateRequest(TeaModel):
5762
6178
  # * FlowControl: API rate limit
5763
6179
  # * WhiteListLabel: privilege
5764
6180
  self.quota_category = quota_category
5765
- # The approval status of the quota increase application. Valid values:
6181
+ # The approval state of the quota increase application. Valid values:
5766
6182
  #
5767
6183
  # * Disagree: The application is rejected.
5768
6184
  # * Agree: The application is approved.
5769
- # * Process: The application is pending approval.
6185
+ # * Process: The application is in review.
5770
6186
  # * Cancel: The application is canceled.
5771
6187
  self.status = status
5772
6188
 
@@ -6121,9 +6537,6 @@ class ListQuotaApplicationsDetailForTemplateResponse(TeaModel):
6121
6537
  self.body = body
6122
6538
 
6123
6539
  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
6540
  if self.body:
6128
6541
  self.body.validate()
6129
6542
 
@@ -6181,7 +6594,7 @@ class ListQuotaApplicationsForTemplateRequest(TeaModel):
6181
6594
  self.next_token = next_token
6182
6595
  # The abbreviation of the Alibaba Cloud service name.
6183
6596
  #
6184
- # > 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.
6185
6598
  self.product_code = product_code
6186
6599
  # The quota ID.
6187
6600
  self.quota_action_code = quota_action_code
@@ -6246,13 +6659,13 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplicationsAuditSta
6246
6659
  count: int = None,
6247
6660
  status: str = None,
6248
6661
  ):
6249
- # The number of approval documents.
6662
+ # The number of approval tickets.
6250
6663
  self.count = count
6251
- # The approval status of the quota increase application. Valid values:
6664
+ # The approval state of the quota increase application. Valid values:
6252
6665
  #
6253
6666
  # * Disagree: The application is rejected.
6254
6667
  # * Agree: The application is approved.
6255
- # * Process: The application is pending approval.
6668
+ # * Process: The application is in review.
6256
6669
  # * Cancel: The application is canceled.
6257
6670
  self.status = status
6258
6671
 
@@ -6296,7 +6709,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6296
6709
  quota_category: str = None,
6297
6710
  reason: str = None,
6298
6711
  ):
6299
- # The Alibaba Cloud accounts for which the quotas are applied.
6712
+ # The Alibaba Cloud accounts that correspond to the resource directory members for which the quotas are applied.
6300
6713
  self.aliyun_uids = aliyun_uids
6301
6714
  # The time when the quota increase application was submitted. The value is displayed in UTC.
6302
6715
  self.apply_time = apply_time
@@ -6308,7 +6721,7 @@ class ListQuotaApplicationsForTemplateResponseBodyQuotaBatchApplications(TeaMode
6308
6721
  self.desire_value = desire_value
6309
6722
  # The quota dimensions.
6310
6723
  #
6311
- # Format: {"regionId":"cn-hangzhou"}.
6724
+ # Format example: {"regionId":"cn-hangzhou"}.
6312
6725
  self.dimensions = dimensions
6313
6726
  # The start time of the validity period of the quota. The value is displayed in UTC.
6314
6727
  self.effective_time = effective_time
@@ -6475,9 +6888,6 @@ class ListQuotaApplicationsForTemplateResponse(TeaModel):
6475
6888
  self.body = body
6476
6889
 
6477
6890
  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
6891
  if self.body:
6482
6892
  self.body.validate()
6483
6893
 
@@ -6512,10 +6922,12 @@ class ModifyQuotaTemplateServiceStatusRequest(TeaModel):
6512
6922
  self,
6513
6923
  service_status: int = None,
6514
6924
  ):
6515
- # The state of the quota template. Valid values:
6925
+ # The status of the quota template. Valid values:
6516
6926
  #
6517
- # * \-1: The quota template is disabled.
6927
+ # * \\-1: The quota template is disabled.
6518
6928
  # * 1: The quota template is enabled.
6929
+ #
6930
+ # This parameter is required.
6519
6931
  self.service_status = service_status
6520
6932
 
6521
6933
  def validate(self):
@@ -6546,9 +6958,9 @@ class ModifyQuotaTemplateServiceStatusResponseBodyTemplateServiceStatus(TeaModel
6546
6958
  ):
6547
6959
  # The ID of the resource directory.
6548
6960
  self.resource_directory_id = resource_directory_id
6549
- # The state of the quota template. Valid values:
6961
+ # The status of the quota template. Valid values:
6550
6962
  #
6551
- # * \-1: The quota template is disabled.
6963
+ # * \\-1: The quota template is disabled.
6552
6964
  # * 1: The quota template is enabled.
6553
6965
  self.service_status = service_status
6554
6966
 
@@ -6625,9 +7037,6 @@ class ModifyQuotaTemplateServiceStatusResponse(TeaModel):
6625
7037
  self.body = body
6626
7038
 
6627
7039
  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
7040
  if self.body:
6632
7041
  self.body.validate()
6633
7042
 
@@ -6709,6 +7118,7 @@ class ModifyTemplateQuotaItemRequest(TeaModel):
6709
7118
  self.effective_time = effective_time
6710
7119
  self.env_language = env_language
6711
7120
  self.expire_time = expire_time
7121
+ # This parameter is required.
6712
7122
  self.id = id
6713
7123
  self.notice_type = notice_type
6714
7124
  self.product_code = product_code
@@ -6824,9 +7234,6 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6824
7234
  self.body = body
6825
7235
 
6826
7236
  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
7237
  if self.body:
6831
7238
  self.body.validate()
6832
7239
 
@@ -6856,6 +7263,174 @@ class ModifyTemplateQuotaItemResponse(TeaModel):
6856
7263
  return self
6857
7264
 
6858
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
+
6859
7434
  class UpdateQuotaAlarmRequest(TeaModel):
6860
7435
  def __init__(
6861
7436
  self,
@@ -6867,8 +7442,16 @@ class UpdateQuotaAlarmRequest(TeaModel):
6867
7442
  web_hook: str = None,
6868
7443
  ):
6869
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.
6870
7449
  self.alarm_id = alarm_id
6871
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.
6872
7455
  self.alarm_name = alarm_name
6873
7456
  # The numeric value of the alert threshold. Valid values:
6874
7457
  #
@@ -6879,14 +7462,14 @@ class UpdateQuotaAlarmRequest(TeaModel):
6879
7462
  self.threshold = threshold
6880
7463
  # The percentage of the alert threshold. Valid values:
6881
7464
  #
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%].
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%].
6884
7467
  #
6885
- # > You must set one of the Threshold and ThresholdPercent parameters.
7468
+ # > You must set one of Threshold and ThresholdPercent.
6886
7469
  self.threshold_percent = threshold_percent
6887
7470
  # The type of the quota alert. Valid values:
6888
7471
  #
6889
- # * used: The alert is created for the used quota.
7472
+ # * used (default): The alert is created for the used quota.
6890
7473
  # * usable: The alert is created for the available quota.
6891
7474
  self.threshold_type = threshold_type
6892
7475
  # The webhook URL. Quota Center sends alert notifications to the specified URL by using HTTP POST requests.
@@ -6972,9 +7555,6 @@ class UpdateQuotaAlarmResponse(TeaModel):
6972
7555
  self.body = body
6973
7556
 
6974
7557
  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
7558
  if self.body:
6979
7559
  self.body.validate()
6980
7560