Skip to content

Commit 2fac5b2

Browse files
authored
auto codegen for UCDN
1 parent 8c229ac commit 2fac5b2

File tree

3 files changed

+258
-22
lines changed

3 files changed

+258
-22
lines changed

ucloud/services/ucdn/client.py

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,31 @@ def batch_refresh_new_ucdn_domain_cache(
147147
resp = self.invoke("BatchRefreshNewUcdnDomainCache", d, **kwargs)
148148
return apis.BatchRefreshNewUcdnDomainCacheResponseSchema().loads(resp)
149149

150+
def control_ucdn_domain_cache_access(
151+
self, req: typing.Optional[dict] = None, **kwargs
152+
) -> dict:
153+
"""ControlUcdnDomainCacheAccess - 封禁解封缓存访问
154+
155+
**Request**
156+
157+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
158+
- **Type** (str) - (Required) forbid=封禁 unforbid=解封 其他值非法
159+
- **UrlList** (list) - (Required) 待封禁的Url,一次封禁多个Url时最多一次30条,只能对表示文件的Url进行操作
160+
161+
**Response**
162+
163+
164+
"""
165+
# build request
166+
d = {
167+
"ProjectId": self.config.project_id,
168+
}
169+
req and d.update(req)
170+
d = apis.ControlUcdnDomainCacheAccessRequestSchema().dumps(d)
171+
172+
resp = self.invoke("ControlUcdnDomainCacheAccess", d, **kwargs)
173+
return apis.ControlUcdnDomainCacheAccessResponseSchema().loads(resp)
174+
150175
def delete_certificate(
151176
self, req: typing.Optional[dict] = None, **kwargs
152177
) -> dict:
@@ -551,6 +576,90 @@ def get_new_ucdn_domain_request_num(
551576
resp = self.invoke("GetNewUcdnDomainRequestNum", d, **kwargs)
552577
return apis.GetNewUcdnDomainRequestNumResponseSchema().loads(resp)
553578

579+
def get_new_ucdn_log_referer_statistics(
580+
self, req: typing.Optional[dict] = None, **kwargs
581+
) -> dict:
582+
"""GetNewUcdnLogRefererStatistics - 获取热点referer统计
583+
584+
**Request**
585+
586+
- **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外 ;目前只支持国内
587+
- **BeginTime** (int) - 查询带宽的起始时间,格式:时间戳
588+
- **DomainId** (str) - 域名id,创建域名时生成的id
589+
- **EndTime** (int) - 查询统计日志的结束时间,格式:时间戳。最大时间间隔30天
590+
- **Limit** (int) - 返回的结果数量限制,默认1000
591+
- **OrderBy** (int) - 0表示按流量降序排列,1表示按照下载次数降序排列,默认为0
592+
593+
**Response**
594+
595+
- **RefererStatistics** (list) - 见 **RefererStatistics** 模型定义
596+
597+
**Response Model**
598+
599+
**RefererList**
600+
- **Percent** (float) - 次数占比,单位%
601+
- **Referer** (str) - 客户端请求的referer
602+
- **RequestTimes** (int) - 次数
603+
604+
605+
**RefererStatistics**
606+
- **Date** (str) - 日期
607+
- **RefererList** (list) - 见 **RefererList** 模型定义
608+
609+
610+
"""
611+
# build request
612+
d = {}
613+
req and d.update(req)
614+
d = apis.GetNewUcdnLogRefererStatisticsRequestSchema().dumps(d)
615+
616+
resp = self.invoke("GetNewUcdnLogRefererStatistics", d, **kwargs)
617+
return apis.GetNewUcdnLogRefererStatisticsResponseSchema().loads(resp)
618+
619+
def get_new_ucdn_log_url_statistics(
620+
self, req: typing.Optional[dict] = None, **kwargs
621+
) -> dict:
622+
"""GetNewUcdnLogUrlStatistics - 获取日志url统计
623+
624+
**Request**
625+
626+
- **ProjectId** (str) - (Config) 项目ID。不填写为默认项目,子帐号必须填写。 请参考 `GetProjectList接口 <https://docs.ucloud.cn/api/summary/get_project_list>`_
627+
- **DomainId** (str) - (Required) 域名Id
628+
- **Areacode** (str) - 查询带宽区域 cn代表国内 abroad代表海外 只支持国内
629+
- **BeginTime** (int) - 查询带宽的起始时间,格式:时间戳。BeginTime和EndTime必须同时赋值
630+
- **EndTime** (int) - 查询统计日志的结束时间,格式:时间戳,最多可拉取30天
631+
- **Limit** (int) - 返回的结果数量限制,默认1000
632+
- **OrderBy** (int) - 0表示按流量降序排列,1表示按照下载次数降序排列,默认为0
633+
634+
**Response**
635+
636+
- **UrlStatisticsList** (list) - 见 **UrlStatistics** 模型定义
637+
638+
**Response Model**
639+
640+
**DownloadStatisticInfo**
641+
- **DownloadTimes** (int) - 下载次数
642+
- **Percent** (float) - 流量占比,单位%
643+
- **Traffic** (float) - 流量(单位为G)
644+
- **Url** (str) - 下载链接的url
645+
646+
647+
**UrlStatistics**
648+
- **Date** (str) - 日期
649+
- **UrlList** (list) - 见 **DownloadStatisticInfo** 模型定义
650+
651+
652+
"""
653+
# build request
654+
d = {
655+
"ProjectId": self.config.project_id,
656+
}
657+
req and d.update(req)
658+
d = apis.GetNewUcdnLogUrlStatisticsRequestSchema().dumps(d)
659+
660+
resp = self.invoke("GetNewUcdnLogUrlStatistics", d, **kwargs)
661+
return apis.GetNewUcdnLogUrlStatisticsResponseSchema().loads(resp)
662+
554663
def get_ucdn_domain_95bandwidth_v2(
555664
self, req: typing.Optional[dict] = None, **kwargs
556665
) -> dict:

ucloud/services/ucdn/schemas/apis.py

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,29 @@ class BatchRefreshNewUcdnDomainCacheResponseSchema(schema.ResponseSchema):
9797
}
9898

9999

100+
"""
101+
API: ControlUcdnDomainCacheAccess
102+
103+
封禁解封缓存访问
104+
"""
105+
106+
107+
class ControlUcdnDomainCacheAccessRequestSchema(schema.RequestSchema):
108+
"""ControlUcdnDomainCacheAccess - 封禁解封缓存访问"""
109+
110+
fields = {
111+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
112+
"Type": fields.Str(required=True, dump_to="Type"),
113+
"UrlList": fields.List(fields.Str()),
114+
}
115+
116+
117+
class ControlUcdnDomainCacheAccessResponseSchema(schema.ResponseSchema):
118+
"""ControlUcdnDomainCacheAccess - 封禁解封缓存访问"""
119+
120+
fields = {}
121+
122+
100123
"""
101124
API: DeleteCertificate
102125
@@ -368,6 +391,71 @@ class GetNewUcdnDomainRequestNumResponseSchema(schema.ResponseSchema):
368391
}
369392

370393

394+
"""
395+
API: GetNewUcdnLogRefererStatistics
396+
397+
获取热点referer统计
398+
"""
399+
400+
401+
class GetNewUcdnLogRefererStatisticsRequestSchema(schema.RequestSchema):
402+
"""GetNewUcdnLogRefererStatistics - 获取热点referer统计"""
403+
404+
fields = {
405+
"Areacode": fields.Str(required=False, dump_to="Areacode"),
406+
"BeginTime": fields.Int(required=False, dump_to="BeginTime"),
407+
"DomainId": fields.Str(required=False, dump_to="DomainId"),
408+
"EndTime": fields.Int(required=False, dump_to="EndTime"),
409+
"Limit": fields.Int(required=False, dump_to="Limit"),
410+
"OrderBy": fields.Int(required=False, dump_to="OrderBy"),
411+
}
412+
413+
414+
class GetNewUcdnLogRefererStatisticsResponseSchema(schema.ResponseSchema):
415+
"""GetNewUcdnLogRefererStatistics - 获取热点referer统计"""
416+
417+
fields = {
418+
"RefererStatistics": fields.List(
419+
models.RefererStatisticsSchema(),
420+
required=False,
421+
load_from="RefererStatistics",
422+
),
423+
}
424+
425+
426+
"""
427+
API: GetNewUcdnLogUrlStatistics
428+
429+
获取日志url统计
430+
"""
431+
432+
433+
class GetNewUcdnLogUrlStatisticsRequestSchema(schema.RequestSchema):
434+
"""GetNewUcdnLogUrlStatistics - 获取日志url统计"""
435+
436+
fields = {
437+
"Areacode": fields.Str(required=False, dump_to="Areacode"),
438+
"BeginTime": fields.Int(required=False, dump_to="BeginTime"),
439+
"DomainId": fields.Str(required=True, dump_to="DomainId"),
440+
"EndTime": fields.Int(required=False, dump_to="EndTime"),
441+
"Limit": fields.Int(required=False, dump_to="Limit"),
442+
"OrderBy": fields.Int(required=False, dump_to="OrderBy"),
443+
"ProjectId": fields.Str(required=False, dump_to="ProjectId"),
444+
}
445+
446+
447+
class GetNewUcdnLogUrlStatisticsResponseSchema(schema.ResponseSchema):
448+
"""GetNewUcdnLogUrlStatistics - 获取日志url统计"""
449+
450+
fields = {
451+
"UrlStatisticsList": fields.List(
452+
models.UrlStatisticsSchema(),
453+
required=False,
454+
load_from="UrlStatisticsList",
455+
),
456+
}
457+
458+
371459
"""
372460
API: GetUcdnDomain95BandwidthV2
373461

ucloud/services/ucdn/schemas/models.py

Lines changed: 61 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,6 @@
33
from ucloud.core.typesystem import schema, fields
44

55

6-
class AccessConfSchema(schema.ResponseSchema):
7-
"""AccessConf - 访问控制"""
8-
9-
fields = {
10-
"IpBlacklist": fields.Str(required=False, load_from="IpBlacklist"),
11-
}
12-
13-
146
class CacheConfSchema(schema.ResponseSchema):
157
"""CacheConf - 缓存配置"""
168

@@ -29,6 +21,14 @@ class CacheConfSchema(schema.ResponseSchema):
2921
}
3022

3123

24+
class AccessConfSchema(schema.ResponseSchema):
25+
"""AccessConf - 访问控制"""
26+
27+
fields = {
28+
"IpBlacklist": fields.Str(required=False, load_from="IpBlacklist"),
29+
}
30+
31+
3232
class DomainInfoSchema(schema.ResponseSchema):
3333
"""DomainInfo - 域名配置"""
3434

@@ -218,23 +218,52 @@ class RequestInfoSchema(schema.ResponseSchema):
218218
}
219219

220220

221-
class BandwidthTrafficInfoSchema(schema.ResponseSchema):
222-
"""BandwidthTrafficInfo - BandwidthTrafficInfo"""
221+
class RefererListSchema(schema.ResponseSchema):
222+
"""RefererList - RefererList"""
223223

224224
fields = {
225-
"CdnBandwidth": fields.Float(required=True, load_from="CdnBandwidth"),
226-
"Time": fields.Int(required=True, load_from="Time"),
227-
"Traffic": fields.Float(required=True, load_from="Traffic"),
225+
"Percent": fields.Float(required=False, load_from="Percent"),
226+
"Referer": fields.Str(required=False, load_from="Referer"),
227+
"RequestTimes": fields.Int(required=False, load_from="RequestTimes"),
228228
}
229229

230230

231-
class ReferConfSchema(schema.ResponseSchema):
232-
"""ReferConf - refer配置"""
231+
class RefererStatisticsSchema(schema.ResponseSchema):
232+
"""RefererStatistics - RefererStatistics"""
233233

234234
fields = {
235-
"NullRefer": fields.Int(required=False, load_from="NullRefer"),
236-
"ReferList": fields.List(fields.Str()),
237-
"ReferType": fields.Int(required=False, load_from="ReferType"),
235+
"Date": fields.Str(required=False, load_from="Date"),
236+
"RefererList": fields.List(RefererListSchema()),
237+
}
238+
239+
240+
class DownloadStatisticInfoSchema(schema.ResponseSchema):
241+
"""DownloadStatisticInfo - DownloadStatisticInfo"""
242+
243+
fields = {
244+
"DownloadTimes": fields.Int(required=False, load_from="DownloadTimes"),
245+
"Percent": fields.Float(required=False, load_from="Percent"),
246+
"Traffic": fields.Float(required=False, load_from="Traffic"),
247+
"Url": fields.Str(required=False, load_from="Url"),
248+
}
249+
250+
251+
class UrlStatisticsSchema(schema.ResponseSchema):
252+
"""UrlStatistics - UrlStatistics"""
253+
254+
fields = {
255+
"Date": fields.Str(required=False, load_from="Date"),
256+
"UrlList": fields.List(DownloadStatisticInfoSchema()),
257+
}
258+
259+
260+
class BandwidthTrafficInfoSchema(schema.ResponseSchema):
261+
"""BandwidthTrafficInfo - BandwidthTrafficInfo"""
262+
263+
fields = {
264+
"CdnBandwidth": fields.Float(required=True, load_from="CdnBandwidth"),
265+
"Time": fields.Int(required=True, load_from="Time"),
266+
"Traffic": fields.Float(required=True, load_from="Traffic"),
238267
}
239268

240269

@@ -248,12 +277,13 @@ class CacheKeyInfoSchema(schema.ResponseSchema):
248277
}
249278

250279

251-
class AccessControlConfSchema(schema.ResponseSchema):
252-
"""AccessControlConf - 访问控制配置参数"""
280+
class ReferConfSchema(schema.ResponseSchema):
281+
"""ReferConf - refer配置"""
253282

254283
fields = {
255-
"IpBlackList": fields.List(fields.Str()),
256-
"ReferConf": ReferConfSchema(),
284+
"NullRefer": fields.Int(required=False, load_from="NullRefer"),
285+
"ReferList": fields.List(fields.Str()),
286+
"ReferType": fields.Int(required=False, load_from="ReferType"),
257287
}
258288

259289

@@ -307,6 +337,15 @@ class OriginConfSchema(schema.ResponseSchema):
307337
}
308338

309339

340+
class AccessControlConfSchema(schema.ResponseSchema):
341+
"""AccessControlConf - 访问控制配置参数"""
342+
343+
fields = {
344+
"IpBlackList": fields.List(fields.Str()),
345+
"ReferConf": ReferConfSchema(),
346+
}
347+
348+
310349
class DomainConfigInfoSchema(schema.ResponseSchema):
311350
"""DomainConfigInfo - 更新域名配置"""
312351

0 commit comments

Comments
 (0)