tencentcloud-sdk-ecdn 1.0.200

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1968 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ module TencentCloud
18
+ module Ecdn
19
+ module V20191012
20
+ # AddEcdnDomain请求参数结构体
21
+ class AddEcdnDomainRequest < TencentCloud::Common::AbstractModel
22
+ # @param Domain: 域名。
23
+ # @type Domain: String
24
+ # @param Origin: 源站配置。
25
+ # @type Origin: :class:`Tencentcloud::Ecdn.v20191012.models.Origin`
26
+ # @param Area: 域名加速区域,mainland,overseas或global,分别表示中国境内加速,海外加速或全球加速。
27
+ # @type Area: String
28
+ # @param ProjectId: 项目id,默认0。
29
+ # @type ProjectId: Integer
30
+ # @param IpFilter: IP黑白名单配置。
31
+ # @type IpFilter: :class:`Tencentcloud::Ecdn.v20191012.models.IpFilter`
32
+ # @param IpFreqLimit: IP限频配置。
33
+ # @type IpFreqLimit: :class:`Tencentcloud::Ecdn.v20191012.models.IpFreqLimit`
34
+ # @param ResponseHeader: 源站响应头部配置。
35
+ # @type ResponseHeader: :class:`Tencentcloud::Ecdn.v20191012.models.ResponseHeader`
36
+ # @param CacheKey: 节点缓存配置。
37
+ # @type CacheKey: :class:`Tencentcloud::Ecdn.v20191012.models.CacheKey`
38
+ # @param Cache: 缓存规则配置。
39
+ # @type Cache: :class:`Tencentcloud::Ecdn.v20191012.models.Cache`
40
+ # @param Https: Https配置。
41
+ # @type Https: :class:`Tencentcloud::Ecdn.v20191012.models.Https`
42
+ # @param ForceRedirect: 访问协议强制跳转配置。
43
+ # @type ForceRedirect: :class:`Tencentcloud::Ecdn.v20191012.models.ForceRedirect`
44
+ # @param Tag: 域名绑定的标签
45
+ # @type Tag: Array
46
+ # @param WebSocket: WebSocket配置
47
+ # @type WebSocket: :class:`Tencentcloud::Ecdn.v20191012.models.WebSocket`
48
+
49
+ attr_accessor :Domain, :Origin, :Area, :ProjectId, :IpFilter, :IpFreqLimit, :ResponseHeader, :CacheKey, :Cache, :Https, :ForceRedirect, :Tag, :WebSocket
50
+
51
+ def initialize(domain=nil, origin=nil, area=nil, projectid=nil, ipfilter=nil, ipfreqlimit=nil, responseheader=nil, cachekey=nil, cache=nil, https=nil, forceredirect=nil, tag=nil, websocket=nil)
52
+ @Domain = domain
53
+ @Origin = origin
54
+ @Area = area
55
+ @ProjectId = projectid
56
+ @IpFilter = ipfilter
57
+ @IpFreqLimit = ipfreqlimit
58
+ @ResponseHeader = responseheader
59
+ @CacheKey = cachekey
60
+ @Cache = cache
61
+ @Https = https
62
+ @ForceRedirect = forceredirect
63
+ @Tag = tag
64
+ @WebSocket = websocket
65
+ end
66
+
67
+ def deserialize(params)
68
+ @Domain = params['Domain']
69
+ unless params['Origin'].nil?
70
+ @Origin = Origin.new
71
+ @Origin.deserialize(params['Origin'])
72
+ end
73
+ @Area = params['Area']
74
+ @ProjectId = params['ProjectId']
75
+ unless params['IpFilter'].nil?
76
+ @IpFilter = IpFilter.new
77
+ @IpFilter.deserialize(params['IpFilter'])
78
+ end
79
+ unless params['IpFreqLimit'].nil?
80
+ @IpFreqLimit = IpFreqLimit.new
81
+ @IpFreqLimit.deserialize(params['IpFreqLimit'])
82
+ end
83
+ unless params['ResponseHeader'].nil?
84
+ @ResponseHeader = ResponseHeader.new
85
+ @ResponseHeader.deserialize(params['ResponseHeader'])
86
+ end
87
+ unless params['CacheKey'].nil?
88
+ @CacheKey = CacheKey.new
89
+ @CacheKey.deserialize(params['CacheKey'])
90
+ end
91
+ unless params['Cache'].nil?
92
+ @Cache = Cache.new
93
+ @Cache.deserialize(params['Cache'])
94
+ end
95
+ unless params['Https'].nil?
96
+ @Https = Https.new
97
+ @Https.deserialize(params['Https'])
98
+ end
99
+ unless params['ForceRedirect'].nil?
100
+ @ForceRedirect = ForceRedirect.new
101
+ @ForceRedirect.deserialize(params['ForceRedirect'])
102
+ end
103
+ unless params['Tag'].nil?
104
+ @Tag = []
105
+ params['Tag'].each do |i|
106
+ tag_tmp = Tag.new
107
+ tag_tmp.deserialize(i)
108
+ @Tag << tag_tmp
109
+ end
110
+ end
111
+ unless params['WebSocket'].nil?
112
+ @WebSocket = WebSocket.new
113
+ @WebSocket.deserialize(params['WebSocket'])
114
+ end
115
+ end
116
+ end
117
+
118
+ # AddEcdnDomain返回参数结构体
119
+ class AddEcdnDomainResponse < TencentCloud::Common::AbstractModel
120
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
121
+ # @type RequestId: String
122
+
123
+ attr_accessor :RequestId
124
+
125
+ def initialize(requestid=nil)
126
+ @RequestId = requestid
127
+ end
128
+
129
+ def deserialize(params)
130
+ @RequestId = params['RequestId']
131
+ end
132
+ end
133
+
134
+ # 缓存配置简单版本,该版本不支持设置源站未返回max-age情况下的缓存规则。
135
+ class Cache < TencentCloud::Common::AbstractModel
136
+ # @param CacheRules: 缓存配置规则数组。
137
+ # @type CacheRules: Array
138
+ # @param FollowOrigin: 遵循源站 Cache-Control: max-age 配置,白名单功能。
139
+ # on:开启
140
+ # off:关闭
141
+ # 开启后,未能匹配 CacheRules 规则的资源将根据源站返回的 max-age 值进行节点缓存;匹配了 CacheRules 规则的资源将按照 CacheRules 中设置的缓存过期时间在节点进行缓存
142
+ # 注意:此字段可能返回 null,表示取不到有效值。
143
+ # @type FollowOrigin: String
144
+
145
+ attr_accessor :CacheRules, :FollowOrigin
146
+
147
+ def initialize(cacherules=nil, followorigin=nil)
148
+ @CacheRules = cacherules
149
+ @FollowOrigin = followorigin
150
+ end
151
+
152
+ def deserialize(params)
153
+ unless params['CacheRules'].nil?
154
+ @CacheRules = []
155
+ params['CacheRules'].each do |i|
156
+ cacherule_tmp = CacheRule.new
157
+ cacherule_tmp.deserialize(i)
158
+ @CacheRules << cacherule_tmp
159
+ end
160
+ end
161
+ @FollowOrigin = params['FollowOrigin']
162
+ end
163
+ end
164
+
165
+ # 缓存相关配置。
166
+ class CacheKey < TencentCloud::Common::AbstractModel
167
+ # @param FullUrlCache: 是否开启全路径缓存,on或off。
168
+ # @type FullUrlCache: String
169
+
170
+ attr_accessor :FullUrlCache
171
+
172
+ def initialize(fullurlcache=nil)
173
+ @FullUrlCache = fullurlcache
174
+ end
175
+
176
+ def deserialize(params)
177
+ @FullUrlCache = params['FullUrlCache']
178
+ end
179
+ end
180
+
181
+ # 缓存配置规则。
182
+ class CacheRule < TencentCloud::Common::AbstractModel
183
+ # @param CacheType: 缓存类型,支持all,file,directory,path,index,分别表示全部文件,后缀类型,目录,完整路径,首页。
184
+ # @type CacheType: String
185
+ # @param CacheContents: 缓存内容列表。
186
+ # @type CacheContents: Array
187
+ # @param CacheTime: 缓存时间,单位秒。
188
+ # @type CacheTime: Integer
189
+
190
+ attr_accessor :CacheType, :CacheContents, :CacheTime
191
+
192
+ def initialize(cachetype=nil, cachecontents=nil, cachetime=nil)
193
+ @CacheType = cachetype
194
+ @CacheContents = cachecontents
195
+ @CacheTime = cachetime
196
+ end
197
+
198
+ def deserialize(params)
199
+ @CacheType = params['CacheType']
200
+ @CacheContents = params['CacheContents']
201
+ @CacheTime = params['CacheTime']
202
+ end
203
+ end
204
+
205
+ # https客户端证书配置。
206
+ class ClientCert < TencentCloud::Common::AbstractModel
207
+ # @param Certificate: 客户端证书,pem格式。
208
+ # 注意:此字段可能返回 null,表示取不到有效值。
209
+ # @type Certificate: String
210
+ # @param CertName: 客户端证书名称。
211
+ # 注意:此字段可能返回 null,表示取不到有效值。
212
+ # @type CertName: String
213
+ # @param ExpireTime: 证书过期时间。
214
+ # 注意:此字段可能返回 null,表示取不到有效值。
215
+ # @type ExpireTime: String
216
+ # @param DeployTime: 证书颁发时间。
217
+ # 注意:此字段可能返回 null,表示取不到有效值。
218
+ # @type DeployTime: String
219
+
220
+ attr_accessor :Certificate, :CertName, :ExpireTime, :DeployTime
221
+
222
+ def initialize(certificate=nil, certname=nil, expiretime=nil, deploytime=nil)
223
+ @Certificate = certificate
224
+ @CertName = certname
225
+ @ExpireTime = expiretime
226
+ @DeployTime = deploytime
227
+ end
228
+
229
+ def deserialize(params)
230
+ @Certificate = params['Certificate']
231
+ @CertName = params['CertName']
232
+ @ExpireTime = params['ExpireTime']
233
+ @DeployTime = params['DeployTime']
234
+ end
235
+ end
236
+
237
+ # CreateVerifyRecord请求参数结构体
238
+ class CreateVerifyRecordRequest < TencentCloud::Common::AbstractModel
239
+ # @param Domain: 要取回的域名
240
+ # @type Domain: String
241
+
242
+ attr_accessor :Domain
243
+
244
+ def initialize(domain=nil)
245
+ @Domain = domain
246
+ end
247
+
248
+ def deserialize(params)
249
+ @Domain = params['Domain']
250
+ end
251
+ end
252
+
253
+ # CreateVerifyRecord返回参数结构体
254
+ class CreateVerifyRecordResponse < TencentCloud::Common::AbstractModel
255
+ # @param SubDomain: 子解析
256
+ # @type SubDomain: String
257
+ # @param Record: 解析值
258
+ # @type Record: String
259
+ # @param RecordType: 解析类型
260
+ # @type RecordType: String
261
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
262
+ # @type RequestId: String
263
+
264
+ attr_accessor :SubDomain, :Record, :RecordType, :RequestId
265
+
266
+ def initialize(subdomain=nil, record=nil, recordtype=nil, requestid=nil)
267
+ @SubDomain = subdomain
268
+ @Record = record
269
+ @RecordType = recordtype
270
+ @RequestId = requestid
271
+ end
272
+
273
+ def deserialize(params)
274
+ @SubDomain = params['SubDomain']
275
+ @Record = params['Record']
276
+ @RecordType = params['RecordType']
277
+ @RequestId = params['RequestId']
278
+ end
279
+ end
280
+
281
+ # DeleteEcdnDomain请求参数结构体
282
+ class DeleteEcdnDomainRequest < TencentCloud::Common::AbstractModel
283
+ # @param Domain: 待删除域名。
284
+ # @type Domain: String
285
+
286
+ attr_accessor :Domain
287
+
288
+ def initialize(domain=nil)
289
+ @Domain = domain
290
+ end
291
+
292
+ def deserialize(params)
293
+ @Domain = params['Domain']
294
+ end
295
+ end
296
+
297
+ # DeleteEcdnDomain返回参数结构体
298
+ class DeleteEcdnDomainResponse < TencentCloud::Common::AbstractModel
299
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
300
+ # @type RequestId: String
301
+
302
+ attr_accessor :RequestId
303
+
304
+ def initialize(requestid=nil)
305
+ @RequestId = requestid
306
+ end
307
+
308
+ def deserialize(params)
309
+ @RequestId = params['RequestId']
310
+ end
311
+ end
312
+
313
+ # DescribeDomainsConfig请求参数结构体
314
+ class DescribeDomainsConfigRequest < TencentCloud::Common::AbstractModel
315
+ # @param Offset: 分页查询的偏移地址,默认0。
316
+ # @type Offset: Integer
317
+ # @param Limit: 分页查询的域名个数,默认100。
318
+ # @type Limit: Integer
319
+ # @param Filters: 查询条件过滤器。
320
+ # @type Filters: Array
321
+ # @param Sort: 查询结果排序规则。
322
+ # @type Sort: :class:`Tencentcloud::Ecdn.v20191012.models.Sort`
323
+
324
+ attr_accessor :Offset, :Limit, :Filters, :Sort
325
+
326
+ def initialize(offset=nil, limit=nil, filters=nil, sort=nil)
327
+ @Offset = offset
328
+ @Limit = limit
329
+ @Filters = filters
330
+ @Sort = sort
331
+ end
332
+
333
+ def deserialize(params)
334
+ @Offset = params['Offset']
335
+ @Limit = params['Limit']
336
+ unless params['Filters'].nil?
337
+ @Filters = []
338
+ params['Filters'].each do |i|
339
+ domainfilter_tmp = DomainFilter.new
340
+ domainfilter_tmp.deserialize(i)
341
+ @Filters << domainfilter_tmp
342
+ end
343
+ end
344
+ unless params['Sort'].nil?
345
+ @Sort = Sort.new
346
+ @Sort.deserialize(params['Sort'])
347
+ end
348
+ end
349
+ end
350
+
351
+ # DescribeDomainsConfig返回参数结构体
352
+ class DescribeDomainsConfigResponse < TencentCloud::Common::AbstractModel
353
+ # @param Domains: 域名列表。
354
+ # @type Domains: Array
355
+ # @param TotalCount: 符合查询条件的域名总数,用于分页查询。
356
+ # @type TotalCount: Integer
357
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
358
+ # @type RequestId: String
359
+
360
+ attr_accessor :Domains, :TotalCount, :RequestId
361
+
362
+ def initialize(domains=nil, totalcount=nil, requestid=nil)
363
+ @Domains = domains
364
+ @TotalCount = totalcount
365
+ @RequestId = requestid
366
+ end
367
+
368
+ def deserialize(params)
369
+ unless params['Domains'].nil?
370
+ @Domains = []
371
+ params['Domains'].each do |i|
372
+ domaindetailinfo_tmp = DomainDetailInfo.new
373
+ domaindetailinfo_tmp.deserialize(i)
374
+ @Domains << domaindetailinfo_tmp
375
+ end
376
+ end
377
+ @TotalCount = params['TotalCount']
378
+ @RequestId = params['RequestId']
379
+ end
380
+ end
381
+
382
+ # DescribeDomains请求参数结构体
383
+ class DescribeDomainsRequest < TencentCloud::Common::AbstractModel
384
+ # @param Offset: 分页查询的偏移地址,默认0。
385
+ # @type Offset: Integer
386
+ # @param Limit: 分页查询的域名个数,默认100,最大支持1000。
387
+ # @type Limit: Integer
388
+ # @param Filters: 查询条件过滤器。
389
+ # @type Filters: Array
390
+
391
+ attr_accessor :Offset, :Limit, :Filters
392
+
393
+ def initialize(offset=nil, limit=nil, filters=nil)
394
+ @Offset = offset
395
+ @Limit = limit
396
+ @Filters = filters
397
+ end
398
+
399
+ def deserialize(params)
400
+ @Offset = params['Offset']
401
+ @Limit = params['Limit']
402
+ unless params['Filters'].nil?
403
+ @Filters = []
404
+ params['Filters'].each do |i|
405
+ domainfilter_tmp = DomainFilter.new
406
+ domainfilter_tmp.deserialize(i)
407
+ @Filters << domainfilter_tmp
408
+ end
409
+ end
410
+ end
411
+ end
412
+
413
+ # DescribeDomains返回参数结构体
414
+ class DescribeDomainsResponse < TencentCloud::Common::AbstractModel
415
+ # @param Domains: 域名信息列表。
416
+ # @type Domains: Array
417
+ # @param TotalCount: 域名总个数。
418
+ # @type TotalCount: Integer
419
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
420
+ # @type RequestId: String
421
+
422
+ attr_accessor :Domains, :TotalCount, :RequestId
423
+
424
+ def initialize(domains=nil, totalcount=nil, requestid=nil)
425
+ @Domains = domains
426
+ @TotalCount = totalcount
427
+ @RequestId = requestid
428
+ end
429
+
430
+ def deserialize(params)
431
+ unless params['Domains'].nil?
432
+ @Domains = []
433
+ params['Domains'].each do |i|
434
+ domainbriefinfo_tmp = DomainBriefInfo.new
435
+ domainbriefinfo_tmp.deserialize(i)
436
+ @Domains << domainbriefinfo_tmp
437
+ end
438
+ end
439
+ @TotalCount = params['TotalCount']
440
+ @RequestId = params['RequestId']
441
+ end
442
+ end
443
+
444
+ # DescribeEcdnDomainLogs请求参数结构体
445
+ class DescribeEcdnDomainLogsRequest < TencentCloud::Common::AbstractModel
446
+ # @param Domain: 待查询域名。
447
+ # @type Domain: String
448
+ # @param StartTime: 日志起始时间。如:2019-10-01 00:00:00
449
+ # @type StartTime: String
450
+ # @param EndTime: 日志结束时间,只支持最近30天内日志查询。2019-10-02 00:00:00
451
+ # @type EndTime: String
452
+ # @param Offset: 日志链接列表分页起始地址,默认0。
453
+ # @type Offset: Integer
454
+ # @param Limit: 日志链接列表分页记录条数,默认100,最大1000。
455
+ # @type Limit: Integer
456
+
457
+ attr_accessor :Domain, :StartTime, :EndTime, :Offset, :Limit
458
+
459
+ def initialize(domain=nil, starttime=nil, endtime=nil, offset=nil, limit=nil)
460
+ @Domain = domain
461
+ @StartTime = starttime
462
+ @EndTime = endtime
463
+ @Offset = offset
464
+ @Limit = limit
465
+ end
466
+
467
+ def deserialize(params)
468
+ @Domain = params['Domain']
469
+ @StartTime = params['StartTime']
470
+ @EndTime = params['EndTime']
471
+ @Offset = params['Offset']
472
+ @Limit = params['Limit']
473
+ end
474
+ end
475
+
476
+ # DescribeEcdnDomainLogs返回参数结构体
477
+ class DescribeEcdnDomainLogsResponse < TencentCloud::Common::AbstractModel
478
+ # @param DomainLogs: 日志链接列表。
479
+ # 注意:此字段可能返回 null,表示取不到有效值。
480
+ # @type DomainLogs: Array
481
+ # @param TotalCount: 日志链接总条数。
482
+ # @type TotalCount: Integer
483
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
484
+ # @type RequestId: String
485
+
486
+ attr_accessor :DomainLogs, :TotalCount, :RequestId
487
+
488
+ def initialize(domainlogs=nil, totalcount=nil, requestid=nil)
489
+ @DomainLogs = domainlogs
490
+ @TotalCount = totalcount
491
+ @RequestId = requestid
492
+ end
493
+
494
+ def deserialize(params)
495
+ unless params['DomainLogs'].nil?
496
+ @DomainLogs = []
497
+ params['DomainLogs'].each do |i|
498
+ domainlogs_tmp = DomainLogs.new
499
+ domainlogs_tmp.deserialize(i)
500
+ @DomainLogs << domainlogs_tmp
501
+ end
502
+ end
503
+ @TotalCount = params['TotalCount']
504
+ @RequestId = params['RequestId']
505
+ end
506
+ end
507
+
508
+ # DescribeEcdnDomainStatistics请求参数结构体
509
+ class DescribeEcdnDomainStatisticsRequest < TencentCloud::Common::AbstractModel
510
+ # @param StartTime: 查询起始时间,如:2019-12-13 00:00:00。
511
+ # 起止时间不超过90天。
512
+ # @type StartTime: String
513
+ # @param EndTime: 查询结束时间,如:2019-12-13 23:59:59。
514
+ # 起止时间不超过90天。
515
+ # @type EndTime: String
516
+ # @param Metrics: 统计指标名称:
517
+ # flux:流量,单位为 byte
518
+ # bandwidth:带宽,单位为 bps
519
+ # request:请求数,单位为 次
520
+ # @type Metrics: Array
521
+ # @param Domains: 指定查询域名列表
522
+ # @type Domains: Array
523
+ # @param Projects: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project)
524
+ # 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主
525
+ # @type Projects: Array
526
+ # @param Offset: 列表分页起始地址,默认0。
527
+ # @type Offset: Integer
528
+ # @param Limit: 列表分页记录条数,默认1000,最大3000。
529
+ # @type Limit: Integer
530
+ # @param Area: 统计区域:
531
+ # mainland: 境内
532
+ # oversea: 境外
533
+ # global: 全部
534
+ # 默认 global
535
+ # @type Area: String
536
+
537
+ attr_accessor :StartTime, :EndTime, :Metrics, :Domains, :Projects, :Offset, :Limit, :Area
538
+
539
+ def initialize(starttime=nil, endtime=nil, metrics=nil, domains=nil, projects=nil, offset=nil, limit=nil, area=nil)
540
+ @StartTime = starttime
541
+ @EndTime = endtime
542
+ @Metrics = metrics
543
+ @Domains = domains
544
+ @Projects = projects
545
+ @Offset = offset
546
+ @Limit = limit
547
+ @Area = area
548
+ end
549
+
550
+ def deserialize(params)
551
+ @StartTime = params['StartTime']
552
+ @EndTime = params['EndTime']
553
+ @Metrics = params['Metrics']
554
+ @Domains = params['Domains']
555
+ @Projects = params['Projects']
556
+ @Offset = params['Offset']
557
+ @Limit = params['Limit']
558
+ @Area = params['Area']
559
+ end
560
+ end
561
+
562
+ # DescribeEcdnDomainStatistics返回参数结构体
563
+ class DescribeEcdnDomainStatisticsResponse < TencentCloud::Common::AbstractModel
564
+ # @param Data: 域名数据
565
+ # @type Data: Array
566
+ # @param TotalCount: 数量
567
+ # @type TotalCount: Integer
568
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
569
+ # @type RequestId: String
570
+
571
+ attr_accessor :Data, :TotalCount, :RequestId
572
+
573
+ def initialize(data=nil, totalcount=nil, requestid=nil)
574
+ @Data = data
575
+ @TotalCount = totalcount
576
+ @RequestId = requestid
577
+ end
578
+
579
+ def deserialize(params)
580
+ unless params['Data'].nil?
581
+ @Data = []
582
+ params['Data'].each do |i|
583
+ domaindata_tmp = DomainData.new
584
+ domaindata_tmp.deserialize(i)
585
+ @Data << domaindata_tmp
586
+ end
587
+ end
588
+ @TotalCount = params['TotalCount']
589
+ @RequestId = params['RequestId']
590
+ end
591
+ end
592
+
593
+ # DescribeEcdnStatistics请求参数结构体
594
+ class DescribeEcdnStatisticsRequest < TencentCloud::Common::AbstractModel
595
+ # @param StartTime: 查询起始时间,如:2019-12-13 00:00:00
596
+ # @type StartTime: String
597
+ # @param EndTime: 查询结束时间,如:2019-12-13 23:59:59
598
+ # @type EndTime: String
599
+ # @param Metrics: 指定查询指标,支持的类型有:
600
+ # flux:流量,单位为 byte
601
+ # bandwidth:带宽,单位为 bps
602
+ # request:请求数,单位为 次
603
+ # 2xx:返回 2xx 状态码汇总或者 2 开头状态码数据,单位为 个
604
+ # 3xx:返回 3xx 状态码汇总或者 3 开头状态码数据,单位为 个
605
+ # 4xx:返回 4xx 状态码汇总或者 4 开头状态码数据,单位为 个
606
+ # 5xx:返回 5xx 状态码汇总或者 5 开头状态码数据,单位为 个
607
+ # @type Metrics: Array
608
+ # @param Interval: 时间粒度,支持以下几种模式:
609
+ # 1 天 1,5,15,30,60,120,240,1440
610
+ # 2 ~ 3 天 15,30,60,120,240,1440
611
+ # 4 ~ 7 天 30,60,120,240,1440
612
+ # 8 ~ 31 天 60,120,240,1440
613
+ # @type Interval: Integer
614
+ # @param Domains: 指定查询域名列表
615
+
616
+ # 最多可一次性查询30个加速域名。
617
+ # @type Domains: Array
618
+ # @param Projects: 指定要查询的项目 ID,[前往查看项目 ID](https://console.cloud.tencent.com/project)
619
+ # 未填充域名情况下,指定项目查询,若填充了具体域名信息,以域名为主
620
+ # @type Projects: Array
621
+ # @param Area: 统计区域:
622
+ # mainland: 境内
623
+ # oversea: 境外
624
+ # global: 全部
625
+ # 默认 global
626
+ # @type Area: String
627
+
628
+ attr_accessor :StartTime, :EndTime, :Metrics, :Interval, :Domains, :Projects, :Area
629
+
630
+ def initialize(starttime=nil, endtime=nil, metrics=nil, interval=nil, domains=nil, projects=nil, area=nil)
631
+ @StartTime = starttime
632
+ @EndTime = endtime
633
+ @Metrics = metrics
634
+ @Interval = interval
635
+ @Domains = domains
636
+ @Projects = projects
637
+ @Area = area
638
+ end
639
+
640
+ def deserialize(params)
641
+ @StartTime = params['StartTime']
642
+ @EndTime = params['EndTime']
643
+ @Metrics = params['Metrics']
644
+ @Interval = params['Interval']
645
+ @Domains = params['Domains']
646
+ @Projects = params['Projects']
647
+ @Area = params['Area']
648
+ end
649
+ end
650
+
651
+ # DescribeEcdnStatistics返回参数结构体
652
+ class DescribeEcdnStatisticsResponse < TencentCloud::Common::AbstractModel
653
+ # @param Data: 指定条件查询得到的数据明细
654
+ # @type Data: Array
655
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
656
+ # @type RequestId: String
657
+
658
+ attr_accessor :Data, :RequestId
659
+
660
+ def initialize(data=nil, requestid=nil)
661
+ @Data = data
662
+ @RequestId = requestid
663
+ end
664
+
665
+ def deserialize(params)
666
+ unless params['Data'].nil?
667
+ @Data = []
668
+ params['Data'].each do |i|
669
+ resourcedata_tmp = ResourceData.new
670
+ resourcedata_tmp.deserialize(i)
671
+ @Data << resourcedata_tmp
672
+ end
673
+ end
674
+ @RequestId = params['RequestId']
675
+ end
676
+ end
677
+
678
+ # DescribeIpStatus请求参数结构体
679
+ class DescribeIpStatusRequest < TencentCloud::Common::AbstractModel
680
+ # @param Domain: 加速域名
681
+ # @type Domain: String
682
+ # @param Area: 查询区域:
683
+ # mainland: 国内节点
684
+ # overseas: 海外节点
685
+ # global: 全球节点
686
+ # @type Area: String
687
+
688
+ attr_accessor :Domain, :Area
689
+
690
+ def initialize(domain=nil, area=nil)
691
+ @Domain = domain
692
+ @Area = area
693
+ end
694
+
695
+ def deserialize(params)
696
+ @Domain = params['Domain']
697
+ @Area = params['Area']
698
+ end
699
+ end
700
+
701
+ # DescribeIpStatus返回参数结构体
702
+ class DescribeIpStatusResponse < TencentCloud::Common::AbstractModel
703
+ # @param Ips: 节点列表
704
+ # @type Ips: Array
705
+ # @param TotalCount: 节点总个数
706
+ # @type TotalCount: Integer
707
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
708
+ # @type RequestId: String
709
+
710
+ attr_accessor :Ips, :TotalCount, :RequestId
711
+
712
+ def initialize(ips=nil, totalcount=nil, requestid=nil)
713
+ @Ips = ips
714
+ @TotalCount = totalcount
715
+ @RequestId = requestid
716
+ end
717
+
718
+ def deserialize(params)
719
+ unless params['Ips'].nil?
720
+ @Ips = []
721
+ params['Ips'].each do |i|
722
+ ipstatus_tmp = IpStatus.new
723
+ ipstatus_tmp.deserialize(i)
724
+ @Ips << ipstatus_tmp
725
+ end
726
+ end
727
+ @TotalCount = params['TotalCount']
728
+ @RequestId = params['RequestId']
729
+ end
730
+ end
731
+
732
+ # DescribePurgeQuota请求参数结构体
733
+ class DescribePurgeQuotaRequest < TencentCloud::Common::AbstractModel
734
+
735
+
736
+ def initialize()
737
+ end
738
+
739
+ def deserialize(params)
740
+ end
741
+ end
742
+
743
+ # DescribePurgeQuota返回参数结构体
744
+ class DescribePurgeQuotaResponse < TencentCloud::Common::AbstractModel
745
+ # @param UrlPurge: Url刷新用量及配额。
746
+ # @type UrlPurge: :class:`Tencentcloud::Ecdn.v20191012.models.Quota`
747
+ # @param PathPurge: 目录刷新用量及配额。
748
+ # @type PathPurge: :class:`Tencentcloud::Ecdn.v20191012.models.Quota`
749
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
750
+ # @type RequestId: String
751
+
752
+ attr_accessor :UrlPurge, :PathPurge, :RequestId
753
+
754
+ def initialize(urlpurge=nil, pathpurge=nil, requestid=nil)
755
+ @UrlPurge = urlpurge
756
+ @PathPurge = pathpurge
757
+ @RequestId = requestid
758
+ end
759
+
760
+ def deserialize(params)
761
+ unless params['UrlPurge'].nil?
762
+ @UrlPurge = Quota.new
763
+ @UrlPurge.deserialize(params['UrlPurge'])
764
+ end
765
+ unless params['PathPurge'].nil?
766
+ @PathPurge = Quota.new
767
+ @PathPurge.deserialize(params['PathPurge'])
768
+ end
769
+ @RequestId = params['RequestId']
770
+ end
771
+ end
772
+
773
+ # DescribePurgeTasks请求参数结构体
774
+ class DescribePurgeTasksRequest < TencentCloud::Common::AbstractModel
775
+ # @param PurgeType: 查询刷新类型。url:查询 url 刷新记录;path:查询目录刷新记录。
776
+ # @type PurgeType: String
777
+ # @param StartTime: 开始时间,如2018-08-08 00:00:00。
778
+ # @type StartTime: String
779
+ # @param EndTime: 结束时间,如2018-08-08 23:59:59。
780
+ # @type EndTime: String
781
+ # @param TaskId: 提交时返回的任务 Id,查询时 TaskId 和起始时间必须指定一项。
782
+ # @type TaskId: String
783
+ # @param Offset: 分页查询偏移量,默认为0(从第0条开始)。
784
+ # @type Offset: Integer
785
+ # @param Limit: 分页查询限制数目,默认为20。
786
+ # @type Limit: Integer
787
+ # @param Keyword: 查询关键字,请输入域名或 http(s):// 开头完整 URL。
788
+ # @type Keyword: String
789
+ # @param Status: 查询指定任务状态,fail表示失败,done表示成功,process表示刷新中。
790
+ # @type Status: String
791
+
792
+ attr_accessor :PurgeType, :StartTime, :EndTime, :TaskId, :Offset, :Limit, :Keyword, :Status
793
+
794
+ def initialize(purgetype=nil, starttime=nil, endtime=nil, taskid=nil, offset=nil, limit=nil, keyword=nil, status=nil)
795
+ @PurgeType = purgetype
796
+ @StartTime = starttime
797
+ @EndTime = endtime
798
+ @TaskId = taskid
799
+ @Offset = offset
800
+ @Limit = limit
801
+ @Keyword = keyword
802
+ @Status = status
803
+ end
804
+
805
+ def deserialize(params)
806
+ @PurgeType = params['PurgeType']
807
+ @StartTime = params['StartTime']
808
+ @EndTime = params['EndTime']
809
+ @TaskId = params['TaskId']
810
+ @Offset = params['Offset']
811
+ @Limit = params['Limit']
812
+ @Keyword = params['Keyword']
813
+ @Status = params['Status']
814
+ end
815
+ end
816
+
817
+ # DescribePurgeTasks返回参数结构体
818
+ class DescribePurgeTasksResponse < TencentCloud::Common::AbstractModel
819
+ # @param PurgeLogs: 刷新历史记录。
820
+ # @type PurgeLogs: Array
821
+ # @param TotalCount: 任务总数,用于分页。
822
+ # @type TotalCount: Integer
823
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
824
+ # @type RequestId: String
825
+
826
+ attr_accessor :PurgeLogs, :TotalCount, :RequestId
827
+
828
+ def initialize(purgelogs=nil, totalcount=nil, requestid=nil)
829
+ @PurgeLogs = purgelogs
830
+ @TotalCount = totalcount
831
+ @RequestId = requestid
832
+ end
833
+
834
+ def deserialize(params)
835
+ unless params['PurgeLogs'].nil?
836
+ @PurgeLogs = []
837
+ params['PurgeLogs'].each do |i|
838
+ purgetask_tmp = PurgeTask.new
839
+ purgetask_tmp.deserialize(i)
840
+ @PurgeLogs << purgetask_tmp
841
+ end
842
+ end
843
+ @TotalCount = params['TotalCount']
844
+ @RequestId = params['RequestId']
845
+ end
846
+ end
847
+
848
+ # 排序类型的数据结构
849
+ class DetailData < TencentCloud::Common::AbstractModel
850
+ # @param Name: 数据类型的名称
851
+ # @type Name: String
852
+ # @param Value: 数据值
853
+ # @type Value: Float
854
+
855
+ attr_accessor :Name, :Value
856
+
857
+ def initialize(name=nil, value=nil)
858
+ @Name = name
859
+ @Value = value
860
+ end
861
+
862
+ def deserialize(params)
863
+ @Name = params['Name']
864
+ @Value = params['Value']
865
+ end
866
+ end
867
+
868
+ # CDN域名简要信息。
869
+ class DomainBriefInfo < TencentCloud::Common::AbstractModel
870
+ # @param ResourceId: 域名ID。
871
+ # @type ResourceId: String
872
+ # @param AppId: 腾讯云账号ID。
873
+ # @type AppId: Integer
874
+ # @param Domain: CDN加速域名。
875
+ # @type Domain: String
876
+ # @param Cname: 域名CName。
877
+ # @type Cname: String
878
+ # @param Status: 域名状态,pending,rejected,processing, online,offline,deleted分别表示审核中,审核未通过,审核通过部署中,已开启,已关闭,已删除。
879
+ # @type Status: String
880
+ # @param ProjectId: 项目ID。
881
+ # @type ProjectId: Integer
882
+ # @param CreateTime: 域名创建时间。
883
+ # @type CreateTime: String
884
+ # @param UpdateTime: 域名更新时间。
885
+ # @type UpdateTime: String
886
+ # @param Origin: 源站配置详情。
887
+ # @type Origin: :class:`Tencentcloud::Ecdn.v20191012.models.Origin`
888
+ # @param Disable: 域名封禁状态,normal,overdue,quota,malicious,ddos,idle,unlicensed,capping,readonly分别表示 正常,欠费停服,试用客户流量包耗尽,恶意用户,ddos攻击,无流量域名,未备案,带宽封顶,只读
889
+ # @type Disable: String
890
+ # @param Area: 加速区域,mainland,oversea或global。
891
+ # @type Area: String
892
+ # @param Readonly: 域名锁定状态,normal、global,分别表示未被锁定、全球锁定。
893
+ # @type Readonly: String
894
+
895
+ attr_accessor :ResourceId, :AppId, :Domain, :Cname, :Status, :ProjectId, :CreateTime, :UpdateTime, :Origin, :Disable, :Area, :Readonly
896
+
897
+ def initialize(resourceid=nil, appid=nil, domain=nil, cname=nil, status=nil, projectid=nil, createtime=nil, updatetime=nil, origin=nil, disable=nil, area=nil, readonly=nil)
898
+ @ResourceId = resourceid
899
+ @AppId = appid
900
+ @Domain = domain
901
+ @Cname = cname
902
+ @Status = status
903
+ @ProjectId = projectid
904
+ @CreateTime = createtime
905
+ @UpdateTime = updatetime
906
+ @Origin = origin
907
+ @Disable = disable
908
+ @Area = area
909
+ @Readonly = readonly
910
+ end
911
+
912
+ def deserialize(params)
913
+ @ResourceId = params['ResourceId']
914
+ @AppId = params['AppId']
915
+ @Domain = params['Domain']
916
+ @Cname = params['Cname']
917
+ @Status = params['Status']
918
+ @ProjectId = params['ProjectId']
919
+ @CreateTime = params['CreateTime']
920
+ @UpdateTime = params['UpdateTime']
921
+ unless params['Origin'].nil?
922
+ @Origin = Origin.new
923
+ @Origin.deserialize(params['Origin'])
924
+ end
925
+ @Disable = params['Disable']
926
+ @Area = params['Area']
927
+ @Readonly = params['Readonly']
928
+ end
929
+ end
930
+
931
+ # 排序类型数据结构
932
+ class DomainData < TencentCloud::Common::AbstractModel
933
+ # @param Resource: 域名
934
+ # @type Resource: String
935
+ # @param DetailData: 结果详情
936
+ # @type DetailData: Array
937
+
938
+ attr_accessor :Resource, :DetailData
939
+
940
+ def initialize(resource=nil, detaildata=nil)
941
+ @Resource = resource
942
+ @DetailData = detaildata
943
+ end
944
+
945
+ def deserialize(params)
946
+ @Resource = params['Resource']
947
+ unless params['DetailData'].nil?
948
+ @DetailData = []
949
+ params['DetailData'].each do |i|
950
+ detaildata_tmp = DetailData.new
951
+ detaildata_tmp.deserialize(i)
952
+ @DetailData << detaildata_tmp
953
+ end
954
+ end
955
+ end
956
+ end
957
+
958
+ # ECDN域名详细配置信息。
959
+ class DomainDetailInfo < TencentCloud::Common::AbstractModel
960
+ # @param ResourceId: 域名ID。
961
+ # @type ResourceId: String
962
+ # @param AppId: 腾讯云账号ID。
963
+ # @type AppId: Integer
964
+ # @param Domain: 加速域名。
965
+ # @type Domain: String
966
+ # @param Cname: 域名CName。
967
+ # 注意:此字段可能返回 null,表示取不到有效值。
968
+ # @type Cname: String
969
+ # @param Status: 域名状态,pending,rejected,processing, online,offline,deleted分别表示审核中,审核未通过,审核通过部署中,已开启,已关闭,已删除。
970
+ # @type Status: String
971
+ # @param ProjectId: 项目ID。
972
+ # @type ProjectId: Integer
973
+ # @param CreateTime: 域名创建时间。
974
+ # @type CreateTime: String
975
+ # @param UpdateTime: 域名更新时间。
976
+ # @type UpdateTime: String
977
+ # @param Origin: 源站配置。
978
+ # @type Origin: :class:`Tencentcloud::Ecdn.v20191012.models.Origin`
979
+ # @param IpFilter: IP黑白名单配置。
980
+ # 注意:此字段可能返回 null,表示取不到有效值。
981
+ # @type IpFilter: :class:`Tencentcloud::Ecdn.v20191012.models.IpFilter`
982
+ # @param IpFreqLimit: IP限频配置。
983
+ # 注意:此字段可能返回 null,表示取不到有效值。
984
+ # @type IpFreqLimit: :class:`Tencentcloud::Ecdn.v20191012.models.IpFreqLimit`
985
+ # @param ResponseHeader: 源站响应头部配置。
986
+ # 注意:此字段可能返回 null,表示取不到有效值。
987
+ # @type ResponseHeader: :class:`Tencentcloud::Ecdn.v20191012.models.ResponseHeader`
988
+ # @param CacheKey: 节点缓存配置。
989
+ # 注意:此字段可能返回 null,表示取不到有效值。
990
+ # @type CacheKey: :class:`Tencentcloud::Ecdn.v20191012.models.CacheKey`
991
+ # @param Cache: 缓存规则配置。
992
+ # 注意:此字段可能返回 null,表示取不到有效值。
993
+ # @type Cache: :class:`Tencentcloud::Ecdn.v20191012.models.Cache`
994
+ # @param Https: Https配置。
995
+ # 注意:此字段可能返回 null,表示取不到有效值。
996
+ # @type Https: :class:`Tencentcloud::Ecdn.v20191012.models.Https`
997
+ # @param Disable: 域名封禁状态,normal,overdue,quota,malicious,ddos,idle,unlicensed,capping,readonly分别表示 正常,欠费停服,试用客户流量包耗尽,恶意用户,ddos攻击,无流量域名,未备案,带宽封顶,只读。
998
+ # 注意:此字段可能返回 null,表示取不到有效值。
999
+ # @type Disable: String
1000
+ # @param ForceRedirect: 访问协议强制跳转配置。
1001
+ # 注意:此字段可能返回 null,表示取不到有效值。
1002
+ # @type ForceRedirect: :class:`Tencentcloud::Ecdn.v20191012.models.ForceRedirect`
1003
+ # @param Area: 加速区域,mainland,overseas或global。
1004
+ # 注意:此字段可能返回 null,表示取不到有效值。
1005
+ # @type Area: String
1006
+ # @param Readonly: 域名锁定状态,normal、global 分别表示未被锁定,全球锁定。
1007
+ # 注意:此字段可能返回 null,表示取不到有效值。
1008
+ # @type Readonly: String
1009
+ # @param Tag: 域名标签。
1010
+ # 注意:此字段可能返回 null,表示取不到有效值。
1011
+ # @type Tag: Array
1012
+ # @param WebSocket: WebSocket配置。
1013
+ # 注意:此字段可能返回 null,表示取不到有效值。
1014
+ # @type WebSocket: :class:`Tencentcloud::Ecdn.v20191012.models.WebSocket`
1015
+
1016
+ attr_accessor :ResourceId, :AppId, :Domain, :Cname, :Status, :ProjectId, :CreateTime, :UpdateTime, :Origin, :IpFilter, :IpFreqLimit, :ResponseHeader, :CacheKey, :Cache, :Https, :Disable, :ForceRedirect, :Area, :Readonly, :Tag, :WebSocket
1017
+
1018
+ def initialize(resourceid=nil, appid=nil, domain=nil, cname=nil, status=nil, projectid=nil, createtime=nil, updatetime=nil, origin=nil, ipfilter=nil, ipfreqlimit=nil, responseheader=nil, cachekey=nil, cache=nil, https=nil, disable=nil, forceredirect=nil, area=nil, readonly=nil, tag=nil, websocket=nil)
1019
+ @ResourceId = resourceid
1020
+ @AppId = appid
1021
+ @Domain = domain
1022
+ @Cname = cname
1023
+ @Status = status
1024
+ @ProjectId = projectid
1025
+ @CreateTime = createtime
1026
+ @UpdateTime = updatetime
1027
+ @Origin = origin
1028
+ @IpFilter = ipfilter
1029
+ @IpFreqLimit = ipfreqlimit
1030
+ @ResponseHeader = responseheader
1031
+ @CacheKey = cachekey
1032
+ @Cache = cache
1033
+ @Https = https
1034
+ @Disable = disable
1035
+ @ForceRedirect = forceredirect
1036
+ @Area = area
1037
+ @Readonly = readonly
1038
+ @Tag = tag
1039
+ @WebSocket = websocket
1040
+ end
1041
+
1042
+ def deserialize(params)
1043
+ @ResourceId = params['ResourceId']
1044
+ @AppId = params['AppId']
1045
+ @Domain = params['Domain']
1046
+ @Cname = params['Cname']
1047
+ @Status = params['Status']
1048
+ @ProjectId = params['ProjectId']
1049
+ @CreateTime = params['CreateTime']
1050
+ @UpdateTime = params['UpdateTime']
1051
+ unless params['Origin'].nil?
1052
+ @Origin = Origin.new
1053
+ @Origin.deserialize(params['Origin'])
1054
+ end
1055
+ unless params['IpFilter'].nil?
1056
+ @IpFilter = IpFilter.new
1057
+ @IpFilter.deserialize(params['IpFilter'])
1058
+ end
1059
+ unless params['IpFreqLimit'].nil?
1060
+ @IpFreqLimit = IpFreqLimit.new
1061
+ @IpFreqLimit.deserialize(params['IpFreqLimit'])
1062
+ end
1063
+ unless params['ResponseHeader'].nil?
1064
+ @ResponseHeader = ResponseHeader.new
1065
+ @ResponseHeader.deserialize(params['ResponseHeader'])
1066
+ end
1067
+ unless params['CacheKey'].nil?
1068
+ @CacheKey = CacheKey.new
1069
+ @CacheKey.deserialize(params['CacheKey'])
1070
+ end
1071
+ unless params['Cache'].nil?
1072
+ @Cache = Cache.new
1073
+ @Cache.deserialize(params['Cache'])
1074
+ end
1075
+ unless params['Https'].nil?
1076
+ @Https = Https.new
1077
+ @Https.deserialize(params['Https'])
1078
+ end
1079
+ @Disable = params['Disable']
1080
+ unless params['ForceRedirect'].nil?
1081
+ @ForceRedirect = ForceRedirect.new
1082
+ @ForceRedirect.deserialize(params['ForceRedirect'])
1083
+ end
1084
+ @Area = params['Area']
1085
+ @Readonly = params['Readonly']
1086
+ unless params['Tag'].nil?
1087
+ @Tag = []
1088
+ params['Tag'].each do |i|
1089
+ tag_tmp = Tag.new
1090
+ tag_tmp.deserialize(i)
1091
+ @Tag << tag_tmp
1092
+ end
1093
+ end
1094
+ unless params['WebSocket'].nil?
1095
+ @WebSocket = WebSocket.new
1096
+ @WebSocket.deserialize(params['WebSocket'])
1097
+ end
1098
+ end
1099
+ end
1100
+
1101
+ # 域名查询时过滤条件。
1102
+ class DomainFilter < TencentCloud::Common::AbstractModel
1103
+ # @param Name: 过滤字段名,支持的列表如下:
1104
+ # - origin:主源站。
1105
+ # - domain:域名。
1106
+ # - resourceId:域名id。
1107
+ # - status:域名状态,online,offline,processing。
1108
+ # - disable:域名封禁状态,normal,unlicensed。
1109
+ # - projectId:项目ID。
1110
+ # - fullUrlCache:全路径缓存,on或off。
1111
+ # - https:是否配置https,on,off或processing。
1112
+ # - originPullProtocol:回源协议类型,支持http,follow或https。
1113
+ # - area:加速区域,支持mainland,overseas或global。
1114
+ # - tagKey:标签键。
1115
+ # @type Name: String
1116
+ # @param Value: 过滤字段值。
1117
+ # @type Value: Array
1118
+ # @param Fuzzy: 是否启用模糊查询,仅支持过滤字段名为origin,domain。
1119
+ # @type Fuzzy: Boolean
1120
+
1121
+ attr_accessor :Name, :Value, :Fuzzy
1122
+
1123
+ def initialize(name=nil, value=nil, fuzzy=nil)
1124
+ @Name = name
1125
+ @Value = value
1126
+ @Fuzzy = fuzzy
1127
+ end
1128
+
1129
+ def deserialize(params)
1130
+ @Name = params['Name']
1131
+ @Value = params['Value']
1132
+ @Fuzzy = params['Fuzzy']
1133
+ end
1134
+ end
1135
+
1136
+ # 域名日志信息
1137
+ class DomainLogs < TencentCloud::Common::AbstractModel
1138
+ # @param StartTime: 日志起始时间。
1139
+ # @type StartTime: String
1140
+ # @param EndTime: 日志结束时间。
1141
+ # @type EndTime: String
1142
+ # @param LogPath: 日志下载路径。
1143
+ # @type LogPath: String
1144
+
1145
+ attr_accessor :StartTime, :EndTime, :LogPath
1146
+
1147
+ def initialize(starttime=nil, endtime=nil, logpath=nil)
1148
+ @StartTime = starttime
1149
+ @EndTime = endtime
1150
+ @LogPath = logpath
1151
+ end
1152
+
1153
+ def deserialize(params)
1154
+ @StartTime = params['StartTime']
1155
+ @EndTime = params['EndTime']
1156
+ @LogPath = params['LogPath']
1157
+ end
1158
+ end
1159
+
1160
+ # 访问明细数据类型
1161
+ class EcdnData < TencentCloud::Common::AbstractModel
1162
+ # @param Metrics: 查询指定的指标名称:Bandwidth,Flux,Request,Delay,状态码,LogBandwidth,LogFlux,LogRequest
1163
+ # @type Metrics: Array
1164
+ # @param DetailData: 明细数据组合
1165
+ # @type DetailData: Array
1166
+
1167
+ attr_accessor :Metrics, :DetailData
1168
+
1169
+ def initialize(metrics=nil, detaildata=nil)
1170
+ @Metrics = metrics
1171
+ @DetailData = detaildata
1172
+ end
1173
+
1174
+ def deserialize(params)
1175
+ @Metrics = params['Metrics']
1176
+ unless params['DetailData'].nil?
1177
+ @DetailData = []
1178
+ params['DetailData'].each do |i|
1179
+ timestampdata_tmp = TimestampData.new
1180
+ timestampdata_tmp.deserialize(i)
1181
+ @DetailData << timestampdata_tmp
1182
+ end
1183
+ end
1184
+ end
1185
+ end
1186
+
1187
+ # 访问协议强制跳转配置。
1188
+ class ForceRedirect < TencentCloud::Common::AbstractModel
1189
+ # @param Switch: 访问协议强制跳转配置开关,on或off。
1190
+ # 注意:此字段可能返回 null,表示取不到有效值。
1191
+ # @type Switch: String
1192
+ # @param RedirectType: 强制跳转访问协议类型,支持http,https,分别表示请求强制跳转http协议,请求强制跳转https协议。
1193
+ # 注意:此字段可能返回 null,表示取不到有效值。
1194
+ # @type RedirectType: String
1195
+ # @param RedirectStatusCode: 强制跳转开启时返回的http状态码,支持301或302。
1196
+ # 注意:此字段可能返回 null,表示取不到有效值。
1197
+ # @type RedirectStatusCode: Integer
1198
+
1199
+ attr_accessor :Switch, :RedirectType, :RedirectStatusCode
1200
+
1201
+ def initialize(switch=nil, redirecttype=nil, redirectstatuscode=nil)
1202
+ @Switch = switch
1203
+ @RedirectType = redirecttype
1204
+ @RedirectStatusCode = redirectstatuscode
1205
+ end
1206
+
1207
+ def deserialize(params)
1208
+ @Switch = params['Switch']
1209
+ @RedirectType = params['RedirectType']
1210
+ @RedirectStatusCode = params['RedirectStatusCode']
1211
+ end
1212
+ end
1213
+
1214
+ # HSTS 配置。
1215
+ class Hsts < TencentCloud::Common::AbstractModel
1216
+ # @param Switch: 是否开启,on或off。
1217
+ # @type Switch: String
1218
+ # @param MaxAge: MaxAge数值。
1219
+ # 注意:此字段可能返回 null,表示取不到有效值。
1220
+ # @type MaxAge: Integer
1221
+ # @param IncludeSubDomains: 是否包含子域名,on或off。
1222
+ # 注意:此字段可能返回 null,表示取不到有效值。
1223
+ # @type IncludeSubDomains: String
1224
+
1225
+ attr_accessor :Switch, :MaxAge, :IncludeSubDomains
1226
+
1227
+ def initialize(switch=nil, maxage=nil, includesubdomains=nil)
1228
+ @Switch = switch
1229
+ @MaxAge = maxage
1230
+ @IncludeSubDomains = includesubdomains
1231
+ end
1232
+
1233
+ def deserialize(params)
1234
+ @Switch = params['Switch']
1235
+ @MaxAge = params['MaxAge']
1236
+ @IncludeSubDomains = params['IncludeSubDomains']
1237
+ end
1238
+ end
1239
+
1240
+ # 分路径的http头部设置规则。
1241
+ class HttpHeaderPathRule < TencentCloud::Common::AbstractModel
1242
+ # @param HeaderMode: http头部设置方式,支持add,set或del,分别表示新增,设置或删除头部。
1243
+ # 请求头部暂不支持set。
1244
+ # 注意:此字段可能返回 null,表示取不到有效值。
1245
+ # @type HeaderMode: String
1246
+ # @param HeaderName: http头部名称。
1247
+ # 注意:此字段可能返回 null,表示取不到有效值。
1248
+ # @type HeaderName: String
1249
+ # @param HeaderValue: http头部值。del时可不填写该字段。
1250
+ # 注意:此字段可能返回 null,表示取不到有效值。
1251
+ # @type HeaderValue: String
1252
+ # @param RuleType: 生效的url路径规则类型,支持all,file,directory或path,分别表示全部路径,文件后缀类型,目录或绝对路径生效。
1253
+ # 注意:此字段可能返回 null,表示取不到有效值。
1254
+ # @type RuleType: String
1255
+ # @param RulePaths: url路径或文件类型列表。
1256
+ # 注意:此字段可能返回 null,表示取不到有效值。
1257
+ # @type RulePaths: Array
1258
+
1259
+ attr_accessor :HeaderMode, :HeaderName, :HeaderValue, :RuleType, :RulePaths
1260
+
1261
+ def initialize(headermode=nil, headername=nil, headervalue=nil, ruletype=nil, rulepaths=nil)
1262
+ @HeaderMode = headermode
1263
+ @HeaderName = headername
1264
+ @HeaderValue = headervalue
1265
+ @RuleType = ruletype
1266
+ @RulePaths = rulepaths
1267
+ end
1268
+
1269
+ def deserialize(params)
1270
+ @HeaderMode = params['HeaderMode']
1271
+ @HeaderName = params['HeaderName']
1272
+ @HeaderValue = params['HeaderValue']
1273
+ @RuleType = params['RuleType']
1274
+ @RulePaths = params['RulePaths']
1275
+ end
1276
+ end
1277
+
1278
+ # 域名https配置。
1279
+ class Https < TencentCloud::Common::AbstractModel
1280
+ # @param Switch: https配置开关,on或off。开启https配置的域名在部署中状态,开关保持off。
1281
+ # 注意:此字段可能返回 null,表示取不到有效值。
1282
+ # @type Switch: String
1283
+ # @param Http2: 是否开启http2,on或off。
1284
+ # 注意:此字段可能返回 null,表示取不到有效值。
1285
+ # @type Http2: String
1286
+ # @param OcspStapling: 是否开启OCSP功能,on或off。
1287
+ # 注意:此字段可能返回 null,表示取不到有效值。
1288
+ # @type OcspStapling: String
1289
+ # @param VerifyClient: 是否开启客户端证书校验功能,on或off,开启时必选上传客户端证书信息。
1290
+ # 注意:此字段可能返回 null,表示取不到有效值。
1291
+ # @type VerifyClient: String
1292
+ # @param CertInfo: 服务器证书配置信息。
1293
+ # 注意:此字段可能返回 null,表示取不到有效值。
1294
+ # @type CertInfo: :class:`Tencentcloud::Ecdn.v20191012.models.ServerCert`
1295
+ # @param ClientCertInfo: 客户端证书配置信息。
1296
+ # 注意:此字段可能返回 null,表示取不到有效值。
1297
+ # @type ClientCertInfo: :class:`Tencentcloud::Ecdn.v20191012.models.ClientCert`
1298
+ # @param Spdy: 是否开启Spdy,on或off。
1299
+ # 注意:此字段可能返回 null,表示取不到有效值。
1300
+ # @type Spdy: String
1301
+ # @param SslStatus: https证书部署状态,closed,deploying,deployed,failed分别表示已关闭,部署中,部署成功,部署失败。不可作为入参使用。
1302
+ # 注意:此字段可能返回 null,表示取不到有效值。
1303
+ # @type SslStatus: String
1304
+ # @param Hsts: Hsts配置
1305
+ # 注意:此字段可能返回 null,表示取不到有效值。
1306
+ # @type Hsts: :class:`Tencentcloud::Ecdn.v20191012.models.Hsts`
1307
+
1308
+ attr_accessor :Switch, :Http2, :OcspStapling, :VerifyClient, :CertInfo, :ClientCertInfo, :Spdy, :SslStatus, :Hsts
1309
+
1310
+ def initialize(switch=nil, http2=nil, ocspstapling=nil, verifyclient=nil, certinfo=nil, clientcertinfo=nil, spdy=nil, sslstatus=nil, hsts=nil)
1311
+ @Switch = switch
1312
+ @Http2 = http2
1313
+ @OcspStapling = ocspstapling
1314
+ @VerifyClient = verifyclient
1315
+ @CertInfo = certinfo
1316
+ @ClientCertInfo = clientcertinfo
1317
+ @Spdy = spdy
1318
+ @SslStatus = sslstatus
1319
+ @Hsts = hsts
1320
+ end
1321
+
1322
+ def deserialize(params)
1323
+ @Switch = params['Switch']
1324
+ @Http2 = params['Http2']
1325
+ @OcspStapling = params['OcspStapling']
1326
+ @VerifyClient = params['VerifyClient']
1327
+ unless params['CertInfo'].nil?
1328
+ @CertInfo = ServerCert.new
1329
+ @CertInfo.deserialize(params['CertInfo'])
1330
+ end
1331
+ unless params['ClientCertInfo'].nil?
1332
+ @ClientCertInfo = ClientCert.new
1333
+ @ClientCertInfo.deserialize(params['ClientCertInfo'])
1334
+ end
1335
+ @Spdy = params['Spdy']
1336
+ @SslStatus = params['SslStatus']
1337
+ unless params['Hsts'].nil?
1338
+ @Hsts = Hsts.new
1339
+ @Hsts.deserialize(params['Hsts'])
1340
+ end
1341
+ end
1342
+ end
1343
+
1344
+ # IP黑白名单。
1345
+ class IpFilter < TencentCloud::Common::AbstractModel
1346
+ # @param Switch: IP黑白名单开关,on或off。
1347
+ # @type Switch: String
1348
+ # @param FilterType: IP黑白名单类型,whitelist或blacklist。
1349
+ # 注意:此字段可能返回 null,表示取不到有效值。
1350
+ # @type FilterType: String
1351
+ # @param Filters: IP黑白名单列表。
1352
+ # 注意:此字段可能返回 null,表示取不到有效值。
1353
+ # @type Filters: Array
1354
+
1355
+ attr_accessor :Switch, :FilterType, :Filters
1356
+
1357
+ def initialize(switch=nil, filtertype=nil, filters=nil)
1358
+ @Switch = switch
1359
+ @FilterType = filtertype
1360
+ @Filters = filters
1361
+ end
1362
+
1363
+ def deserialize(params)
1364
+ @Switch = params['Switch']
1365
+ @FilterType = params['FilterType']
1366
+ @Filters = params['Filters']
1367
+ end
1368
+ end
1369
+
1370
+ # IP限频配置。
1371
+ class IpFreqLimit < TencentCloud::Common::AbstractModel
1372
+ # @param Switch: IP限频配置开关,on或off。
1373
+ # @type Switch: String
1374
+ # @param Qps: 每秒请求数。
1375
+ # 注意:此字段可能返回 null,表示取不到有效值。
1376
+ # @type Qps: Integer
1377
+
1378
+ attr_accessor :Switch, :Qps
1379
+
1380
+ def initialize(switch=nil, qps=nil)
1381
+ @Switch = switch
1382
+ @Qps = qps
1383
+ end
1384
+
1385
+ def deserialize(params)
1386
+ @Switch = params['Switch']
1387
+ @Qps = params['Qps']
1388
+ end
1389
+ end
1390
+
1391
+ # 节点 IP 信息
1392
+ class IpStatus < TencentCloud::Common::AbstractModel
1393
+ # @param Ip: 节点 IP
1394
+ # @type Ip: String
1395
+ # @param District: 节点所属区域
1396
+ # @type District: String
1397
+ # @param Isp: 节点所属运营商
1398
+ # @type Isp: String
1399
+ # @param City: 节点所在城市
1400
+ # @type City: String
1401
+ # @param Status: 节点状态
1402
+ # online:上线状态,正常调度服务中
1403
+ # offline:下线状态
1404
+ # @type Status: String
1405
+ # @param CreateTime: 节点 IP 添加时间
1406
+ # @type CreateTime: String
1407
+
1408
+ attr_accessor :Ip, :District, :Isp, :City, :Status, :CreateTime
1409
+
1410
+ def initialize(ip=nil, district=nil, isp=nil, city=nil, status=nil, createtime=nil)
1411
+ @Ip = ip
1412
+ @District = district
1413
+ @Isp = isp
1414
+ @City = city
1415
+ @Status = status
1416
+ @CreateTime = createtime
1417
+ end
1418
+
1419
+ def deserialize(params)
1420
+ @Ip = params['Ip']
1421
+ @District = params['District']
1422
+ @Isp = params['Isp']
1423
+ @City = params['City']
1424
+ @Status = params['Status']
1425
+ @CreateTime = params['CreateTime']
1426
+ end
1427
+ end
1428
+
1429
+ # 源站配置。
1430
+ class Origin < TencentCloud::Common::AbstractModel
1431
+ # @param Origins: 主源站列表,IP与域名源站不可混填。配置源站端口["origin1:port1", "origin2:port2"],配置回源权重["origin1::weight1", "origin2::weight2"],同时配置端口与权重 ["origin1:port1:weight1", "origin2:port2:weight2"],权重值有效范围为0-100。
1432
+ # @type Origins: Array
1433
+ # @param OriginType: 主源站类型,支持domain,ip,分别表示域名源站,ip源站。
1434
+ # 设置Origins时必须填写。
1435
+ # 注意:此字段可能返回 null,表示取不到有效值。
1436
+ # @type OriginType: String
1437
+ # @param ServerName: 回源时Host头部值。
1438
+ # 注意:此字段可能返回 null,表示取不到有效值。
1439
+ # @type ServerName: String
1440
+ # @param OriginPullProtocol: 回源协议类型,支持http,follow,https,分别表示强制http回源,协议跟随回源,https回源。
1441
+ # 不传入的情况下默认为http回源.
1442
+ # 注意:此字段可能返回 null,表示取不到有效值。
1443
+ # @type OriginPullProtocol: String
1444
+ # @param BackupOrigins: 备份源站列表。
1445
+ # @type BackupOrigins: Array
1446
+ # @param BackupOriginType: 备份源站类型,同OriginType。
1447
+ # 设置BackupOrigins时必须填写。
1448
+ # 注意:此字段可能返回 null,表示取不到有效值。
1449
+ # @type BackupOriginType: String
1450
+
1451
+ attr_accessor :Origins, :OriginType, :ServerName, :OriginPullProtocol, :BackupOrigins, :BackupOriginType
1452
+
1453
+ def initialize(origins=nil, origintype=nil, servername=nil, originpullprotocol=nil, backuporigins=nil, backuporigintype=nil)
1454
+ @Origins = origins
1455
+ @OriginType = origintype
1456
+ @ServerName = servername
1457
+ @OriginPullProtocol = originpullprotocol
1458
+ @BackupOrigins = backuporigins
1459
+ @BackupOriginType = backuporigintype
1460
+ end
1461
+
1462
+ def deserialize(params)
1463
+ @Origins = params['Origins']
1464
+ @OriginType = params['OriginType']
1465
+ @ServerName = params['ServerName']
1466
+ @OriginPullProtocol = params['OriginPullProtocol']
1467
+ @BackupOrigins = params['BackupOrigins']
1468
+ @BackupOriginType = params['BackupOriginType']
1469
+ end
1470
+ end
1471
+
1472
+ # PurgePathCache请求参数结构体
1473
+ class PurgePathCacheRequest < TencentCloud::Common::AbstractModel
1474
+ # @param Paths: 要刷新的目录列表,必须包含协议头部。
1475
+ # @type Paths: Array
1476
+ # @param FlushType: 刷新类型,flush 代表刷新有更新的资源,delete 表示刷新全部资源。
1477
+ # @type FlushType: String
1478
+
1479
+ attr_accessor :Paths, :FlushType
1480
+
1481
+ def initialize(paths=nil, flushtype=nil)
1482
+ @Paths = paths
1483
+ @FlushType = flushtype
1484
+ end
1485
+
1486
+ def deserialize(params)
1487
+ @Paths = params['Paths']
1488
+ @FlushType = params['FlushType']
1489
+ end
1490
+ end
1491
+
1492
+ # PurgePathCache返回参数结构体
1493
+ class PurgePathCacheResponse < TencentCloud::Common::AbstractModel
1494
+ # @param TaskId: 刷新任务Id,前十位为提交任务时的UTC时间。
1495
+ # @type TaskId: String
1496
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1497
+ # @type RequestId: String
1498
+
1499
+ attr_accessor :TaskId, :RequestId
1500
+
1501
+ def initialize(taskid=nil, requestid=nil)
1502
+ @TaskId = taskid
1503
+ @RequestId = requestid
1504
+ end
1505
+
1506
+ def deserialize(params)
1507
+ @TaskId = params['TaskId']
1508
+ @RequestId = params['RequestId']
1509
+ end
1510
+ end
1511
+
1512
+ # 刷新任务日志详情
1513
+ class PurgeTask < TencentCloud::Common::AbstractModel
1514
+ # @param TaskId: 刷新任务ID。
1515
+ # @type TaskId: String
1516
+ # @param Url: 刷新Url。
1517
+ # @type Url: String
1518
+ # @param Status: 刷新任务状态,fail表示失败,done表示成功,process表示刷新中。
1519
+ # @type Status: String
1520
+ # @param PurgeType: 刷新类型,url表示url刷新,path表示目录刷新。
1521
+ # @type PurgeType: String
1522
+ # @param FlushType: 刷新资源方式,flush代表刷新更新资源,delete代表刷新全部资源。
1523
+ # @type FlushType: String
1524
+ # @param CreateTime: 刷新任务提交时间
1525
+ # @type CreateTime: String
1526
+
1527
+ attr_accessor :TaskId, :Url, :Status, :PurgeType, :FlushType, :CreateTime
1528
+
1529
+ def initialize(taskid=nil, url=nil, status=nil, purgetype=nil, flushtype=nil, createtime=nil)
1530
+ @TaskId = taskid
1531
+ @Url = url
1532
+ @Status = status
1533
+ @PurgeType = purgetype
1534
+ @FlushType = flushtype
1535
+ @CreateTime = createtime
1536
+ end
1537
+
1538
+ def deserialize(params)
1539
+ @TaskId = params['TaskId']
1540
+ @Url = params['Url']
1541
+ @Status = params['Status']
1542
+ @PurgeType = params['PurgeType']
1543
+ @FlushType = params['FlushType']
1544
+ @CreateTime = params['CreateTime']
1545
+ end
1546
+ end
1547
+
1548
+ # PurgeUrlsCache请求参数结构体
1549
+ class PurgeUrlsCacheRequest < TencentCloud::Common::AbstractModel
1550
+ # @param Urls: 要刷新的Url列表,必须包含协议头部。
1551
+ # @type Urls: Array
1552
+
1553
+ attr_accessor :Urls
1554
+
1555
+ def initialize(urls=nil)
1556
+ @Urls = urls
1557
+ end
1558
+
1559
+ def deserialize(params)
1560
+ @Urls = params['Urls']
1561
+ end
1562
+ end
1563
+
1564
+ # PurgeUrlsCache返回参数结构体
1565
+ class PurgeUrlsCacheResponse < TencentCloud::Common::AbstractModel
1566
+ # @param TaskId: 刷新任务Id,前十位为提交任务时的UTC时间。
1567
+ # @type TaskId: String
1568
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1569
+ # @type RequestId: String
1570
+
1571
+ attr_accessor :TaskId, :RequestId
1572
+
1573
+ def initialize(taskid=nil, requestid=nil)
1574
+ @TaskId = taskid
1575
+ @RequestId = requestid
1576
+ end
1577
+
1578
+ def deserialize(params)
1579
+ @TaskId = params['TaskId']
1580
+ @RequestId = params['RequestId']
1581
+ end
1582
+ end
1583
+
1584
+ # 刷新用量及刷新配额
1585
+ class Quota < TencentCloud::Common::AbstractModel
1586
+ # @param Batch: 单次批量提交配额上限。
1587
+ # @type Batch: Integer
1588
+ # @param Total: 每日提交配额上限。
1589
+ # @type Total: Integer
1590
+ # @param Available: 每日剩余的可提交配额。
1591
+ # @type Available: Integer
1592
+
1593
+ attr_accessor :Batch, :Total, :Available
1594
+
1595
+ def initialize(batch=nil, total=nil, available=nil)
1596
+ @Batch = batch
1597
+ @Total = total
1598
+ @Available = available
1599
+ end
1600
+
1601
+ def deserialize(params)
1602
+ @Batch = params['Batch']
1603
+ @Total = params['Total']
1604
+ @Available = params['Available']
1605
+ end
1606
+ end
1607
+
1608
+ # 查询对象及其对应的访问明细数据
1609
+ class ResourceData < TencentCloud::Common::AbstractModel
1610
+ # @param Resource: 资源名称,根据查询条件不同分为以下几类:
1611
+ # 具体域名:表示该域名明细数据
1612
+ # multiDomains:表示多域名汇总明细数据
1613
+ # 项目 ID:指定项目查询时,显示为项目 ID
1614
+ # all:账号维度明细数据
1615
+ # @type Resource: String
1616
+ # @param EcdnData: 资源对应的数据明细
1617
+ # @type EcdnData: :class:`Tencentcloud::Ecdn.v20191012.models.EcdnData`
1618
+
1619
+ attr_accessor :Resource, :EcdnData
1620
+
1621
+ def initialize(resource=nil, ecdndata=nil)
1622
+ @Resource = resource
1623
+ @EcdnData = ecdndata
1624
+ end
1625
+
1626
+ def deserialize(params)
1627
+ @Resource = params['Resource']
1628
+ unless params['EcdnData'].nil?
1629
+ @EcdnData = EcdnData.new
1630
+ @EcdnData.deserialize(params['EcdnData'])
1631
+ end
1632
+ end
1633
+ end
1634
+
1635
+ # 自定义响应头配置。
1636
+ class ResponseHeader < TencentCloud::Common::AbstractModel
1637
+ # @param Switch: 自定义响应头开关,on或off。
1638
+ # @type Switch: String
1639
+ # @param HeaderRules: 自定义响应头规则数组。
1640
+ # 注意:此字段可能返回 null,表示取不到有效值。
1641
+ # @type HeaderRules: Array
1642
+
1643
+ attr_accessor :Switch, :HeaderRules
1644
+
1645
+ def initialize(switch=nil, headerrules=nil)
1646
+ @Switch = switch
1647
+ @HeaderRules = headerrules
1648
+ end
1649
+
1650
+ def deserialize(params)
1651
+ @Switch = params['Switch']
1652
+ unless params['HeaderRules'].nil?
1653
+ @HeaderRules = []
1654
+ params['HeaderRules'].each do |i|
1655
+ httpheaderpathrule_tmp = HttpHeaderPathRule.new
1656
+ httpheaderpathrule_tmp.deserialize(i)
1657
+ @HeaderRules << httpheaderpathrule_tmp
1658
+ end
1659
+ end
1660
+ end
1661
+ end
1662
+
1663
+ # https服务端证书配置。
1664
+ class ServerCert < TencentCloud::Common::AbstractModel
1665
+ # @param CertId: 服务器证书id,当证书为腾讯云托管证书时必填。
1666
+ # 注意:此字段可能返回 null,表示取不到有效值。
1667
+ # @type CertId: String
1668
+ # @param CertName: 服务器证书名称,当证书为腾讯云托管证书时必填。
1669
+ # 注意:此字段可能返回 null,表示取不到有效值。
1670
+ # @type CertName: String
1671
+ # @param Certificate: 服务器证书信息,上传自有证书时必填,必须包含完整的证书链信息。
1672
+ # 注意:此字段可能返回 null,表示取不到有效值。
1673
+ # @type Certificate: String
1674
+ # @param PrivateKey: 服务器密钥信息,上传自有证书时必填。
1675
+ # 注意:此字段可能返回 null,表示取不到有效值。
1676
+ # @type PrivateKey: String
1677
+ # @param ExpireTime: 证书过期时间。
1678
+ # 注意:此字段可能返回 null,表示取不到有效值。
1679
+ # @type ExpireTime: String
1680
+ # @param DeployTime: 证书颁发时间。
1681
+ # 注意:此字段可能返回 null,表示取不到有效值。
1682
+ # @type DeployTime: String
1683
+ # @param Message: 证书备注信息。
1684
+ # 注意:此字段可能返回 null,表示取不到有效值。
1685
+ # @type Message: String
1686
+
1687
+ attr_accessor :CertId, :CertName, :Certificate, :PrivateKey, :ExpireTime, :DeployTime, :Message
1688
+
1689
+ def initialize(certid=nil, certname=nil, certificate=nil, privatekey=nil, expiretime=nil, deploytime=nil, message=nil)
1690
+ @CertId = certid
1691
+ @CertName = certname
1692
+ @Certificate = certificate
1693
+ @PrivateKey = privatekey
1694
+ @ExpireTime = expiretime
1695
+ @DeployTime = deploytime
1696
+ @Message = message
1697
+ end
1698
+
1699
+ def deserialize(params)
1700
+ @CertId = params['CertId']
1701
+ @CertName = params['CertName']
1702
+ @Certificate = params['Certificate']
1703
+ @PrivateKey = params['PrivateKey']
1704
+ @ExpireTime = params['ExpireTime']
1705
+ @DeployTime = params['DeployTime']
1706
+ @Message = params['Message']
1707
+ end
1708
+ end
1709
+
1710
+ # 查询结果排序条件。
1711
+ class Sort < TencentCloud::Common::AbstractModel
1712
+ # @param Key: 排序字段,当前支持:
1713
+ # createTime,域名创建时间
1714
+ # certExpireTime,证书过期时间
1715
+ # @type Key: String
1716
+ # @param Sequence: asc/desc,默认desc。
1717
+ # @type Sequence: String
1718
+
1719
+ attr_accessor :Key, :Sequence
1720
+
1721
+ def initialize(key=nil, sequence=nil)
1722
+ @Key = key
1723
+ @Sequence = sequence
1724
+ end
1725
+
1726
+ def deserialize(params)
1727
+ @Key = params['Key']
1728
+ @Sequence = params['Sequence']
1729
+ end
1730
+ end
1731
+
1732
+ # StartEcdnDomain请求参数结构体
1733
+ class StartEcdnDomainRequest < TencentCloud::Common::AbstractModel
1734
+ # @param Domain: 待启用域名。
1735
+ # @type Domain: String
1736
+
1737
+ attr_accessor :Domain
1738
+
1739
+ def initialize(domain=nil)
1740
+ @Domain = domain
1741
+ end
1742
+
1743
+ def deserialize(params)
1744
+ @Domain = params['Domain']
1745
+ end
1746
+ end
1747
+
1748
+ # StartEcdnDomain返回参数结构体
1749
+ class StartEcdnDomainResponse < TencentCloud::Common::AbstractModel
1750
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1751
+ # @type RequestId: String
1752
+
1753
+ attr_accessor :RequestId
1754
+
1755
+ def initialize(requestid=nil)
1756
+ @RequestId = requestid
1757
+ end
1758
+
1759
+ def deserialize(params)
1760
+ @RequestId = params['RequestId']
1761
+ end
1762
+ end
1763
+
1764
+ # StopEcdnDomain请求参数结构体
1765
+ class StopEcdnDomainRequest < TencentCloud::Common::AbstractModel
1766
+ # @param Domain: 待停用域名。
1767
+ # @type Domain: String
1768
+
1769
+ attr_accessor :Domain
1770
+
1771
+ def initialize(domain=nil)
1772
+ @Domain = domain
1773
+ end
1774
+
1775
+ def deserialize(params)
1776
+ @Domain = params['Domain']
1777
+ end
1778
+ end
1779
+
1780
+ # StopEcdnDomain返回参数结构体
1781
+ class StopEcdnDomainResponse < TencentCloud::Common::AbstractModel
1782
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1783
+ # @type RequestId: String
1784
+
1785
+ attr_accessor :RequestId
1786
+
1787
+ def initialize(requestid=nil)
1788
+ @RequestId = requestid
1789
+ end
1790
+
1791
+ def deserialize(params)
1792
+ @RequestId = params['RequestId']
1793
+ end
1794
+ end
1795
+
1796
+ # 标签键和标签值
1797
+ class Tag < TencentCloud::Common::AbstractModel
1798
+ # @param TagKey: 标签键
1799
+ # 注意:此字段可能返回 null,表示取不到有效值。
1800
+ # @type TagKey: String
1801
+ # @param TagValue: 标签值
1802
+ # 注意:此字段可能返回 null,表示取不到有效值。
1803
+ # @type TagValue: String
1804
+
1805
+ attr_accessor :TagKey, :TagValue
1806
+
1807
+ def initialize(tagkey=nil, tagvalue=nil)
1808
+ @TagKey = tagkey
1809
+ @TagValue = tagvalue
1810
+ end
1811
+
1812
+ def deserialize(params)
1813
+ @TagKey = params['TagKey']
1814
+ @TagValue = params['TagValue']
1815
+ end
1816
+ end
1817
+
1818
+ # 时间戳与其对应的数值
1819
+ class TimestampData < TencentCloud::Common::AbstractModel
1820
+ # @param Time: 数据统计时间点,采用向前汇总模式
1821
+ # 以 5 分钟粒度为例,13:35:00 时间点代表的统计数据区间为 13:35:00 至 13:39:59
1822
+ # @type Time: String
1823
+ # @param Value: 数据值
1824
+ # @type Value: Array
1825
+
1826
+ attr_accessor :Time, :Value
1827
+
1828
+ def initialize(time=nil, value=nil)
1829
+ @Time = time
1830
+ @Value = value
1831
+ end
1832
+
1833
+ def deserialize(params)
1834
+ @Time = params['Time']
1835
+ @Value = params['Value']
1836
+ end
1837
+ end
1838
+
1839
+ # UpdateDomainConfig请求参数结构体
1840
+ class UpdateDomainConfigRequest < TencentCloud::Common::AbstractModel
1841
+ # @param Domain: 域名。
1842
+ # @type Domain: String
1843
+ # @param Origin: 源站配置。
1844
+ # @type Origin: :class:`Tencentcloud::Ecdn.v20191012.models.Origin`
1845
+ # @param ProjectId: 项目id。
1846
+ # @type ProjectId: Integer
1847
+ # @param IpFilter: IP黑白名单配置。
1848
+ # @type IpFilter: :class:`Tencentcloud::Ecdn.v20191012.models.IpFilter`
1849
+ # @param IpFreqLimit: IP限频配置。
1850
+ # @type IpFreqLimit: :class:`Tencentcloud::Ecdn.v20191012.models.IpFreqLimit`
1851
+ # @param ResponseHeader: 源站响应头部配置。
1852
+ # @type ResponseHeader: :class:`Tencentcloud::Ecdn.v20191012.models.ResponseHeader`
1853
+ # @param CacheKey: 节点缓存配置。
1854
+ # @type CacheKey: :class:`Tencentcloud::Ecdn.v20191012.models.CacheKey`
1855
+ # @param Cache: 缓存规则配置。
1856
+ # @type Cache: :class:`Tencentcloud::Ecdn.v20191012.models.Cache`
1857
+ # @param Https: Https配置。
1858
+ # @type Https: :class:`Tencentcloud::Ecdn.v20191012.models.Https`
1859
+ # @param ForceRedirect: 访问协议强制跳转配置。
1860
+ # @type ForceRedirect: :class:`Tencentcloud::Ecdn.v20191012.models.ForceRedirect`
1861
+ # @param Area: 域名加速区域,mainland,overseas或global,分别表示中国境内加速,海外加速或全球加速。
1862
+ # @type Area: String
1863
+ # @param WebSocket: WebSocket配置
1864
+ # @type WebSocket: :class:`Tencentcloud::Ecdn.v20191012.models.WebSocket`
1865
+
1866
+ attr_accessor :Domain, :Origin, :ProjectId, :IpFilter, :IpFreqLimit, :ResponseHeader, :CacheKey, :Cache, :Https, :ForceRedirect, :Area, :WebSocket
1867
+
1868
+ def initialize(domain=nil, origin=nil, projectid=nil, ipfilter=nil, ipfreqlimit=nil, responseheader=nil, cachekey=nil, cache=nil, https=nil, forceredirect=nil, area=nil, websocket=nil)
1869
+ @Domain = domain
1870
+ @Origin = origin
1871
+ @ProjectId = projectid
1872
+ @IpFilter = ipfilter
1873
+ @IpFreqLimit = ipfreqlimit
1874
+ @ResponseHeader = responseheader
1875
+ @CacheKey = cachekey
1876
+ @Cache = cache
1877
+ @Https = https
1878
+ @ForceRedirect = forceredirect
1879
+ @Area = area
1880
+ @WebSocket = websocket
1881
+ end
1882
+
1883
+ def deserialize(params)
1884
+ @Domain = params['Domain']
1885
+ unless params['Origin'].nil?
1886
+ @Origin = Origin.new
1887
+ @Origin.deserialize(params['Origin'])
1888
+ end
1889
+ @ProjectId = params['ProjectId']
1890
+ unless params['IpFilter'].nil?
1891
+ @IpFilter = IpFilter.new
1892
+ @IpFilter.deserialize(params['IpFilter'])
1893
+ end
1894
+ unless params['IpFreqLimit'].nil?
1895
+ @IpFreqLimit = IpFreqLimit.new
1896
+ @IpFreqLimit.deserialize(params['IpFreqLimit'])
1897
+ end
1898
+ unless params['ResponseHeader'].nil?
1899
+ @ResponseHeader = ResponseHeader.new
1900
+ @ResponseHeader.deserialize(params['ResponseHeader'])
1901
+ end
1902
+ unless params['CacheKey'].nil?
1903
+ @CacheKey = CacheKey.new
1904
+ @CacheKey.deserialize(params['CacheKey'])
1905
+ end
1906
+ unless params['Cache'].nil?
1907
+ @Cache = Cache.new
1908
+ @Cache.deserialize(params['Cache'])
1909
+ end
1910
+ unless params['Https'].nil?
1911
+ @Https = Https.new
1912
+ @Https.deserialize(params['Https'])
1913
+ end
1914
+ unless params['ForceRedirect'].nil?
1915
+ @ForceRedirect = ForceRedirect.new
1916
+ @ForceRedirect.deserialize(params['ForceRedirect'])
1917
+ end
1918
+ @Area = params['Area']
1919
+ unless params['WebSocket'].nil?
1920
+ @WebSocket = WebSocket.new
1921
+ @WebSocket.deserialize(params['WebSocket'])
1922
+ end
1923
+ end
1924
+ end
1925
+
1926
+ # UpdateDomainConfig返回参数结构体
1927
+ class UpdateDomainConfigResponse < TencentCloud::Common::AbstractModel
1928
+ # @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1929
+ # @type RequestId: String
1930
+
1931
+ attr_accessor :RequestId
1932
+
1933
+ def initialize(requestid=nil)
1934
+ @RequestId = requestid
1935
+ end
1936
+
1937
+ def deserialize(params)
1938
+ @RequestId = params['RequestId']
1939
+ end
1940
+ end
1941
+
1942
+ # WebSocket配置。
1943
+ class WebSocket < TencentCloud::Common::AbstractModel
1944
+ # @param Switch: WebSocket 超时配置开关, 开关为off时,平台仍支持WebSocket连接,此时超时时间默认为15秒,若需要调整超时时间,将开关置为on.
1945
+
1946
+ # * WebSocket 为内测功能,如需使用,请联系腾讯云工程师开白.
1947
+ # @type Switch: String
1948
+ # @param Timeout: 设置超时时间,单位为秒,最大超时时间65秒。
1949
+ # 注意:此字段可能返回 null,表示取不到有效值。
1950
+ # @type Timeout: Integer
1951
+
1952
+ attr_accessor :Switch, :Timeout
1953
+
1954
+ def initialize(switch=nil, timeout=nil)
1955
+ @Switch = switch
1956
+ @Timeout = timeout
1957
+ end
1958
+
1959
+ def deserialize(params)
1960
+ @Switch = params['Switch']
1961
+ @Timeout = params['Timeout']
1962
+ end
1963
+ end
1964
+
1965
+ end
1966
+ end
1967
+ end
1968
+