1// Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//    http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15package v20190319
16
17import (
18    "encoding/json"
19    tcerr "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors"
20    tchttp "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/http"
21)
22
23type AttributeKeyDetail struct {
24
25	// 输入框类型
26	LabelType *string `json:"LabelType,omitempty" name:"LabelType"`
27
28	// 初始化展示
29	Starter *string `json:"Starter,omitempty" name:"Starter"`
30
31	// 展示排序
32	Order *int64 `json:"Order,omitempty" name:"Order"`
33
34	// AttributeKey值
35	Value *string `json:"Value,omitempty" name:"Value"`
36
37	// 中文标签
38	Label *string `json:"Label,omitempty" name:"Label"`
39}
40
41type AuditSummary struct {
42
43	// 跟踪集状态,1:开启,0:关闭
44	AuditStatus *int64 `json:"AuditStatus,omitempty" name:"AuditStatus"`
45
46	// COS存储桶名称
47	CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"`
48
49	// 跟踪集名称
50	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
51
52	// 日志前缀
53	LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"`
54}
55
56type CmqRegionInfo struct {
57
58	// 地域描述
59	CmqRegionName *string `json:"CmqRegionName,omitempty" name:"CmqRegionName"`
60
61	// cmq地域
62	CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"`
63}
64
65type CosRegionInfo struct {
66
67	// cos地域
68	CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"`
69
70	// 地域描述
71	CosRegionName *string `json:"CosRegionName,omitempty" name:"CosRegionName"`
72}
73
74type CreateAuditRequest struct {
75	*tchttp.BaseRequest
76
77	// 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。
78	IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"`
79
80	// 管理事件的读写属性。1:只读,2:只写,3:全部。
81	ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"`
82
83	// 跟踪集名称。3-128字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9,下划线 _。
84	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
85
86	// cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。
87	CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"`
88
89	// 是否创建新的cos存储桶。1:是,0:否。
90	IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"`
91
92	// cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。
93	CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"`
94
95	// CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。
96	KeyId *string `json:"KeyId,omitempty" name:"KeyId"`
97
98	// 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。
99	CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"`
100
101	// kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。
102	KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"`
103
104	// 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。
105	IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"`
106
107	// 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。
108	CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"`
109
110	// 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。可以不填,默认以账号ID作为日志前缀。
111	LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"`
112
113	// 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。
114	IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"`
115}
116
117func (r *CreateAuditRequest) ToJsonString() string {
118    b, _ := json.Marshal(r)
119    return string(b)
120}
121
122// FromJsonString It is highly **NOT** recommended to use this function
123// because it has no param check, nor strict type check
124func (r *CreateAuditRequest) FromJsonString(s string) error {
125	f := make(map[string]interface{})
126	if err := json.Unmarshal([]byte(s), &f); err != nil {
127		return err
128	}
129	delete(f, "IsEnableCmqNotify")
130	delete(f, "ReadWriteAttribute")
131	delete(f, "AuditName")
132	delete(f, "CosRegion")
133	delete(f, "IsCreateNewBucket")
134	delete(f, "CosBucketName")
135	delete(f, "KeyId")
136	delete(f, "CmqQueueName")
137	delete(f, "KmsRegion")
138	delete(f, "IsEnableKmsEncry")
139	delete(f, "CmqRegion")
140	delete(f, "LogFilePrefix")
141	delete(f, "IsCreateNewQueue")
142	if len(f) > 0 {
143		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "CreateAuditRequest has unknown keys!", "")
144	}
145	return json.Unmarshal([]byte(s), &r)
146}
147
148type CreateAuditResponse struct {
149	*tchttp.BaseResponse
150	Response *struct {
151
152		// 是否创建成功。
153		IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"`
154
155		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
156		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
157	} `json:"Response"`
158}
159
160func (r *CreateAuditResponse) ToJsonString() string {
161    b, _ := json.Marshal(r)
162    return string(b)
163}
164
165// FromJsonString It is highly **NOT** recommended to use this function
166// because it has no param check, nor strict type check
167func (r *CreateAuditResponse) FromJsonString(s string) error {
168	return json.Unmarshal([]byte(s), &r)
169}
170
171type DeleteAuditRequest struct {
172	*tchttp.BaseRequest
173
174	// 跟踪集名称
175	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
176}
177
178func (r *DeleteAuditRequest) ToJsonString() string {
179    b, _ := json.Marshal(r)
180    return string(b)
181}
182
183// FromJsonString It is highly **NOT** recommended to use this function
184// because it has no param check, nor strict type check
185func (r *DeleteAuditRequest) FromJsonString(s string) error {
186	f := make(map[string]interface{})
187	if err := json.Unmarshal([]byte(s), &f); err != nil {
188		return err
189	}
190	delete(f, "AuditName")
191	if len(f) > 0 {
192		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DeleteAuditRequest has unknown keys!", "")
193	}
194	return json.Unmarshal([]byte(s), &r)
195}
196
197type DeleteAuditResponse struct {
198	*tchttp.BaseResponse
199	Response *struct {
200
201		// 是否删除成功
202		IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"`
203
204		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
205		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
206	} `json:"Response"`
207}
208
209func (r *DeleteAuditResponse) ToJsonString() string {
210    b, _ := json.Marshal(r)
211    return string(b)
212}
213
214// FromJsonString It is highly **NOT** recommended to use this function
215// because it has no param check, nor strict type check
216func (r *DeleteAuditResponse) FromJsonString(s string) error {
217	return json.Unmarshal([]byte(s), &r)
218}
219
220type DescribeAuditRequest struct {
221	*tchttp.BaseRequest
222
223	// 跟踪集名称
224	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
225}
226
227func (r *DescribeAuditRequest) ToJsonString() string {
228    b, _ := json.Marshal(r)
229    return string(b)
230}
231
232// FromJsonString It is highly **NOT** recommended to use this function
233// because it has no param check, nor strict type check
234func (r *DescribeAuditRequest) FromJsonString(s string) error {
235	f := make(map[string]interface{})
236	if err := json.Unmarshal([]byte(s), &f); err != nil {
237		return err
238	}
239	delete(f, "AuditName")
240	if len(f) > 0 {
241		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeAuditRequest has unknown keys!", "")
242	}
243	return json.Unmarshal([]byte(s), &r)
244}
245
246type DescribeAuditResponse struct {
247	*tchttp.BaseResponse
248	Response *struct {
249
250		// 是否开启cmq消息通知。1:是,0:否。
251		IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"`
252
253		// 管理事件读写属性,1:只读,2:只写,3:全部
254		ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"`
255
256		// CMK的全局唯一标识符。
257		KeyId *string `json:"KeyId,omitempty" name:"KeyId"`
258
259		// 跟踪集状态,1:开启,0:停止。
260		AuditStatus *int64 `json:"AuditStatus,omitempty" name:"AuditStatus"`
261
262		// 跟踪集名称。
263		AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
264
265		// cos存储桶所在地域。
266		CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"`
267
268		// 队列名称。
269		CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"`
270
271		// CMK别名。
272		KmsAlias *string `json:"KmsAlias,omitempty" name:"KmsAlias"`
273
274		// kms地域。
275		KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"`
276
277		// 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。
278		IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"`
279
280		// cos存储桶名称。
281		CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"`
282
283		// 队列所在地域。
284		CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"`
285
286		// 日志前缀。
287		LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"`
288
289		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
290		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
291	} `json:"Response"`
292}
293
294func (r *DescribeAuditResponse) ToJsonString() string {
295    b, _ := json.Marshal(r)
296    return string(b)
297}
298
299// FromJsonString It is highly **NOT** recommended to use this function
300// because it has no param check, nor strict type check
301func (r *DescribeAuditResponse) FromJsonString(s string) error {
302	return json.Unmarshal([]byte(s), &r)
303}
304
305type DescribeEventsRequest struct {
306	*tchttp.BaseRequest
307
308	// 起始时间戳(单位秒,不超过当前时间 90 天)
309	StartTime *uint64 `json:"StartTime,omitempty" name:"StartTime"`
310
311	// 结束时间戳(单位秒,查询时间跨度小于 30 天)
312	EndTime *uint64 `json:"EndTime,omitempty" name:"EndTime"`
313
314	// 查看更多日志的凭证
315	NextToken *uint64 `json:"NextToken,omitempty" name:"NextToken"`
316
317	// 返回日志的最大条数(最大 50 条)
318	MaxResults *uint64 `json:"MaxResults,omitempty" name:"MaxResults"`
319
320	// 检索条件(目前支持 RequestId:请求 ID、EventName:事件名称、ActionType:操作类型(Write:写;Read:读)、PrincipalId:子账号、ResourceType:资源类型、ResourceName:资源名称、AccessKeyId:密钥 ID、SensitiveAction:是否敏感操作、ApiErrorCode:API 错误码、CamErrorCode:CAM 错误码)
321	LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"`
322
323	// 是否返回 IP 归属地(1 返回,0 不返回)
324	IsReturnLocation *uint64 `json:"IsReturnLocation,omitempty" name:"IsReturnLocation"`
325}
326
327func (r *DescribeEventsRequest) ToJsonString() string {
328    b, _ := json.Marshal(r)
329    return string(b)
330}
331
332// FromJsonString It is highly **NOT** recommended to use this function
333// because it has no param check, nor strict type check
334func (r *DescribeEventsRequest) FromJsonString(s string) error {
335	f := make(map[string]interface{})
336	if err := json.Unmarshal([]byte(s), &f); err != nil {
337		return err
338	}
339	delete(f, "StartTime")
340	delete(f, "EndTime")
341	delete(f, "NextToken")
342	delete(f, "MaxResults")
343	delete(f, "LookupAttributes")
344	delete(f, "IsReturnLocation")
345	if len(f) > 0 {
346		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "DescribeEventsRequest has unknown keys!", "")
347	}
348	return json.Unmarshal([]byte(s), &r)
349}
350
351type DescribeEventsResponse struct {
352	*tchttp.BaseResponse
353	Response *struct {
354
355		// 日志集合是否结束
356		ListOver *bool `json:"ListOver,omitempty" name:"ListOver"`
357
358		// 查看更多日志的凭证
359		NextToken *uint64 `json:"NextToken,omitempty" name:"NextToken"`
360
361		// 日志集合
362	// 注意:此字段可能返回 null,表示取不到有效值。
363		Events []*Event `json:"Events,omitempty" name:"Events"`
364
365		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
366		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
367	} `json:"Response"`
368}
369
370func (r *DescribeEventsResponse) ToJsonString() string {
371    b, _ := json.Marshal(r)
372    return string(b)
373}
374
375// FromJsonString It is highly **NOT** recommended to use this function
376// because it has no param check, nor strict type check
377func (r *DescribeEventsResponse) FromJsonString(s string) error {
378	return json.Unmarshal([]byte(s), &r)
379}
380
381type Event struct {
382
383	// 日志ID
384	EventId *string `json:"EventId,omitempty" name:"EventId"`
385
386	// 用户名
387	Username *string `json:"Username,omitempty" name:"Username"`
388
389	// 事件时间
390	EventTime *string `json:"EventTime,omitempty" name:"EventTime"`
391
392	// 日志详情
393	CloudAuditEvent *string `json:"CloudAuditEvent,omitempty" name:"CloudAuditEvent"`
394
395	// 资源类型中文描述(此字段请按需使用,如果您是其他语言使用者,可以忽略该字段描述)
396	ResourceTypeCn *string `json:"ResourceTypeCn,omitempty" name:"ResourceTypeCn"`
397
398	// 鉴权错误码
399	ErrorCode *int64 `json:"ErrorCode,omitempty" name:"ErrorCode"`
400
401	// 事件名称
402	EventName *string `json:"EventName,omitempty" name:"EventName"`
403
404	// 证书ID
405	// 注意:此字段可能返回 null,表示取不到有效值。
406	SecretId *string `json:"SecretId,omitempty" name:"SecretId"`
407
408	// 请求来源
409	EventSource *string `json:"EventSource,omitempty" name:"EventSource"`
410
411	// 请求ID
412	RequestID *string `json:"RequestID,omitempty" name:"RequestID"`
413
414	// 资源地域
415	ResourceRegion *string `json:"ResourceRegion,omitempty" name:"ResourceRegion"`
416
417	// 主账号ID
418	AccountID *int64 `json:"AccountID,omitempty" name:"AccountID"`
419
420	// 源IP
421	// 注意:此字段可能返回 null,表示取不到有效值。
422	SourceIPAddress *string `json:"SourceIPAddress,omitempty" name:"SourceIPAddress"`
423
424	// 事件名称中文描述(此字段请按需使用,如果您是其他语言使用者,可以忽略该字段描述)
425	EventNameCn *string `json:"EventNameCn,omitempty" name:"EventNameCn"`
426
427	// 资源对
428	Resources *Resource `json:"Resources,omitempty" name:"Resources"`
429
430	// 事件地域
431	EventRegion *string `json:"EventRegion,omitempty" name:"EventRegion"`
432
433	// IP 归属地
434	Location *string `json:"Location,omitempty" name:"Location"`
435}
436
437type GetAttributeKeyRequest struct {
438	*tchttp.BaseRequest
439
440	// 网站类型,取值范围是zh和en。如果不传值默认zh
441	WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"`
442}
443
444func (r *GetAttributeKeyRequest) ToJsonString() string {
445    b, _ := json.Marshal(r)
446    return string(b)
447}
448
449// FromJsonString It is highly **NOT** recommended to use this function
450// because it has no param check, nor strict type check
451func (r *GetAttributeKeyRequest) FromJsonString(s string) error {
452	f := make(map[string]interface{})
453	if err := json.Unmarshal([]byte(s), &f); err != nil {
454		return err
455	}
456	delete(f, "WebsiteType")
457	if len(f) > 0 {
458		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "GetAttributeKeyRequest has unknown keys!", "")
459	}
460	return json.Unmarshal([]byte(s), &r)
461}
462
463type GetAttributeKeyResponse struct {
464	*tchttp.BaseResponse
465	Response *struct {
466
467		// AttributeKey的有效取值范围
468		AttributeKeyDetails []*AttributeKeyDetail `json:"AttributeKeyDetails,omitempty" name:"AttributeKeyDetails"`
469
470		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
471		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
472	} `json:"Response"`
473}
474
475func (r *GetAttributeKeyResponse) ToJsonString() string {
476    b, _ := json.Marshal(r)
477    return string(b)
478}
479
480// FromJsonString It is highly **NOT** recommended to use this function
481// because it has no param check, nor strict type check
482func (r *GetAttributeKeyResponse) FromJsonString(s string) error {
483	return json.Unmarshal([]byte(s), &r)
484}
485
486type InquireAuditCreditRequest struct {
487	*tchttp.BaseRequest
488}
489
490func (r *InquireAuditCreditRequest) ToJsonString() string {
491    b, _ := json.Marshal(r)
492    return string(b)
493}
494
495// FromJsonString It is highly **NOT** recommended to use this function
496// because it has no param check, nor strict type check
497func (r *InquireAuditCreditRequest) FromJsonString(s string) error {
498	f := make(map[string]interface{})
499	if err := json.Unmarshal([]byte(s), &f); err != nil {
500		return err
501	}
502	if len(f) > 0 {
503		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "InquireAuditCreditRequest has unknown keys!", "")
504	}
505	return json.Unmarshal([]byte(s), &r)
506}
507
508type InquireAuditCreditResponse struct {
509	*tchttp.BaseResponse
510	Response *struct {
511
512		// 可创建跟踪集的数量
513		AuditAmount *int64 `json:"AuditAmount,omitempty" name:"AuditAmount"`
514
515		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
516		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
517	} `json:"Response"`
518}
519
520func (r *InquireAuditCreditResponse) ToJsonString() string {
521    b, _ := json.Marshal(r)
522    return string(b)
523}
524
525// FromJsonString It is highly **NOT** recommended to use this function
526// because it has no param check, nor strict type check
527func (r *InquireAuditCreditResponse) FromJsonString(s string) error {
528	return json.Unmarshal([]byte(s), &r)
529}
530
531type KeyMetadata struct {
532
533	// 作为密钥更容易辨识,更容易被人看懂的别名
534	Alias *string `json:"Alias,omitempty" name:"Alias"`
535
536	// CMK的全局唯一标识
537	KeyId *string `json:"KeyId,omitempty" name:"KeyId"`
538}
539
540type ListAuditsRequest struct {
541	*tchttp.BaseRequest
542}
543
544func (r *ListAuditsRequest) ToJsonString() string {
545    b, _ := json.Marshal(r)
546    return string(b)
547}
548
549// FromJsonString It is highly **NOT** recommended to use this function
550// because it has no param check, nor strict type check
551func (r *ListAuditsRequest) FromJsonString(s string) error {
552	f := make(map[string]interface{})
553	if err := json.Unmarshal([]byte(s), &f); err != nil {
554		return err
555	}
556	if len(f) > 0 {
557		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListAuditsRequest has unknown keys!", "")
558	}
559	return json.Unmarshal([]byte(s), &r)
560}
561
562type ListAuditsResponse struct {
563	*tchttp.BaseResponse
564	Response *struct {
565
566		// 查询跟踪集概要集合
567	// 注意:此字段可能返回 null,表示取不到有效值。
568		AuditSummarys []*AuditSummary `json:"AuditSummarys,omitempty" name:"AuditSummarys"`
569
570		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
571		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
572	} `json:"Response"`
573}
574
575func (r *ListAuditsResponse) ToJsonString() string {
576    b, _ := json.Marshal(r)
577    return string(b)
578}
579
580// FromJsonString It is highly **NOT** recommended to use this function
581// because it has no param check, nor strict type check
582func (r *ListAuditsResponse) FromJsonString(s string) error {
583	return json.Unmarshal([]byte(s), &r)
584}
585
586type ListCmqEnableRegionRequest struct {
587	*tchttp.BaseRequest
588
589	// 站点类型。zh表示中国区,en表示国际区。默认中国区。
590	WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"`
591}
592
593func (r *ListCmqEnableRegionRequest) ToJsonString() string {
594    b, _ := json.Marshal(r)
595    return string(b)
596}
597
598// FromJsonString It is highly **NOT** recommended to use this function
599// because it has no param check, nor strict type check
600func (r *ListCmqEnableRegionRequest) FromJsonString(s string) error {
601	f := make(map[string]interface{})
602	if err := json.Unmarshal([]byte(s), &f); err != nil {
603		return err
604	}
605	delete(f, "WebsiteType")
606	if len(f) > 0 {
607		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListCmqEnableRegionRequest has unknown keys!", "")
608	}
609	return json.Unmarshal([]byte(s), &r)
610}
611
612type ListCmqEnableRegionResponse struct {
613	*tchttp.BaseResponse
614	Response *struct {
615
616		// 云审计支持的cmq的可用区
617		EnableRegions []*CmqRegionInfo `json:"EnableRegions,omitempty" name:"EnableRegions"`
618
619		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
620		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
621	} `json:"Response"`
622}
623
624func (r *ListCmqEnableRegionResponse) ToJsonString() string {
625    b, _ := json.Marshal(r)
626    return string(b)
627}
628
629// FromJsonString It is highly **NOT** recommended to use this function
630// because it has no param check, nor strict type check
631func (r *ListCmqEnableRegionResponse) FromJsonString(s string) error {
632	return json.Unmarshal([]byte(s), &r)
633}
634
635type ListCosEnableRegionRequest struct {
636	*tchttp.BaseRequest
637
638	// 站点类型。zh表示中国区,en表示国际区。默认中国区。
639	WebsiteType *string `json:"WebsiteType,omitempty" name:"WebsiteType"`
640}
641
642func (r *ListCosEnableRegionRequest) ToJsonString() string {
643    b, _ := json.Marshal(r)
644    return string(b)
645}
646
647// FromJsonString It is highly **NOT** recommended to use this function
648// because it has no param check, nor strict type check
649func (r *ListCosEnableRegionRequest) FromJsonString(s string) error {
650	f := make(map[string]interface{})
651	if err := json.Unmarshal([]byte(s), &f); err != nil {
652		return err
653	}
654	delete(f, "WebsiteType")
655	if len(f) > 0 {
656		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListCosEnableRegionRequest has unknown keys!", "")
657	}
658	return json.Unmarshal([]byte(s), &r)
659}
660
661type ListCosEnableRegionResponse struct {
662	*tchttp.BaseResponse
663	Response *struct {
664
665		// 云审计支持的cos可用区
666		EnableRegions []*CosRegionInfo `json:"EnableRegions,omitempty" name:"EnableRegions"`
667
668		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
669		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
670	} `json:"Response"`
671}
672
673func (r *ListCosEnableRegionResponse) ToJsonString() string {
674    b, _ := json.Marshal(r)
675    return string(b)
676}
677
678// FromJsonString It is highly **NOT** recommended to use this function
679// because it has no param check, nor strict type check
680func (r *ListCosEnableRegionResponse) FromJsonString(s string) error {
681	return json.Unmarshal([]byte(s), &r)
682}
683
684type ListKeyAliasByRegionRequest struct {
685	*tchttp.BaseRequest
686
687	// Kms地域
688	KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"`
689
690	// 含义跟 SQL 查询的 Limit 一致,表示本次获最多获取 Limit 个元素。缺省值为10,最大值为200
691	Limit *int64 `json:"Limit,omitempty" name:"Limit"`
692
693	// 含义跟 SQL 查询的 Offset 一致,表示本次获取从按一定顺序排列数组的第 Offset 个元素开始,缺省为0
694	Offset *int64 `json:"Offset,omitempty" name:"Offset"`
695}
696
697func (r *ListKeyAliasByRegionRequest) ToJsonString() string {
698    b, _ := json.Marshal(r)
699    return string(b)
700}
701
702// FromJsonString It is highly **NOT** recommended to use this function
703// because it has no param check, nor strict type check
704func (r *ListKeyAliasByRegionRequest) FromJsonString(s string) error {
705	f := make(map[string]interface{})
706	if err := json.Unmarshal([]byte(s), &f); err != nil {
707		return err
708	}
709	delete(f, "KmsRegion")
710	delete(f, "Limit")
711	delete(f, "Offset")
712	if len(f) > 0 {
713		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "ListKeyAliasByRegionRequest has unknown keys!", "")
714	}
715	return json.Unmarshal([]byte(s), &r)
716}
717
718type ListKeyAliasByRegionResponse struct {
719	*tchttp.BaseResponse
720	Response *struct {
721
722		// CMK的总数量
723		TotalCount *int64 `json:"TotalCount,omitempty" name:"TotalCount"`
724
725		// 密钥别名
726		KeyMetadatas []*KeyMetadata `json:"KeyMetadatas,omitempty" name:"KeyMetadatas"`
727
728		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
729		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
730	} `json:"Response"`
731}
732
733func (r *ListKeyAliasByRegionResponse) ToJsonString() string {
734    b, _ := json.Marshal(r)
735    return string(b)
736}
737
738// FromJsonString It is highly **NOT** recommended to use this function
739// because it has no param check, nor strict type check
740func (r *ListKeyAliasByRegionResponse) FromJsonString(s string) error {
741	return json.Unmarshal([]byte(s), &r)
742}
743
744type LookUpEventsRequest struct {
745	*tchttp.BaseRequest
746
747	// 开始时间
748	StartTime *int64 `json:"StartTime,omitempty" name:"StartTime"`
749
750	// 结束时间
751	EndTime *int64 `json:"EndTime,omitempty" name:"EndTime"`
752
753	// 检索条件
754	LookupAttributes []*LookupAttribute `json:"LookupAttributes,omitempty" name:"LookupAttributes"`
755
756	// 查看更多日志的凭证
757	NextToken *string `json:"NextToken,omitempty" name:"NextToken"`
758
759	// 返回日志的最大条数
760	MaxResults *int64 `json:"MaxResults,omitempty" name:"MaxResults"`
761
762	// 云审计模式,有效值:standard | quick,其中standard是标准模式,quick是极速模式。默认为标准模式
763	Mode *string `json:"Mode,omitempty" name:"Mode"`
764}
765
766func (r *LookUpEventsRequest) ToJsonString() string {
767    b, _ := json.Marshal(r)
768    return string(b)
769}
770
771// FromJsonString It is highly **NOT** recommended to use this function
772// because it has no param check, nor strict type check
773func (r *LookUpEventsRequest) FromJsonString(s string) error {
774	f := make(map[string]interface{})
775	if err := json.Unmarshal([]byte(s), &f); err != nil {
776		return err
777	}
778	delete(f, "StartTime")
779	delete(f, "EndTime")
780	delete(f, "LookupAttributes")
781	delete(f, "NextToken")
782	delete(f, "MaxResults")
783	delete(f, "Mode")
784	if len(f) > 0 {
785		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "LookUpEventsRequest has unknown keys!", "")
786	}
787	return json.Unmarshal([]byte(s), &r)
788}
789
790type LookUpEventsResponse struct {
791	*tchttp.BaseResponse
792	Response *struct {
793
794		// 查看更多日志的凭证
795	// 注意:此字段可能返回 null,表示取不到有效值。
796		NextToken *string `json:"NextToken,omitempty" name:"NextToken"`
797
798		// 日志集合
799	// 注意:此字段可能返回 null,表示取不到有效值。
800		Events []*Event `json:"Events,omitempty" name:"Events"`
801
802		// 日志集合是否结束
803	// 注意:此字段可能返回 null,表示取不到有效值。
804		ListOver *bool `json:"ListOver,omitempty" name:"ListOver"`
805
806		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
807		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
808	} `json:"Response"`
809}
810
811func (r *LookUpEventsResponse) ToJsonString() string {
812    b, _ := json.Marshal(r)
813    return string(b)
814}
815
816// FromJsonString It is highly **NOT** recommended to use this function
817// because it has no param check, nor strict type check
818func (r *LookUpEventsResponse) FromJsonString(s string) error {
819	return json.Unmarshal([]byte(s), &r)
820}
821
822type LookupAttribute struct {
823
824	// AttributeKey的有效取值范围是:RequestId、EventName、ReadOnly、Username、ResourceType、ResourceName和AccessKeyId,EventId
825	// 注意:此字段可能返回 null,表示取不到有效值。
826	AttributeKey *string `json:"AttributeKey,omitempty" name:"AttributeKey"`
827
828	// AttributeValue的值
829	// 注意:此字段可能返回 null,表示取不到有效值。
830	AttributeValue *string `json:"AttributeValue,omitempty" name:"AttributeValue"`
831}
832
833type Resource struct {
834
835	// 资源类型
836	ResourceType *string `json:"ResourceType,omitempty" name:"ResourceType"`
837
838	// 资源名称
839	// 注意:此字段可能返回 null,表示取不到有效值。
840	ResourceName *string `json:"ResourceName,omitempty" name:"ResourceName"`
841}
842
843type StartLoggingRequest struct {
844	*tchttp.BaseRequest
845
846	// 跟踪集名称
847	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
848}
849
850func (r *StartLoggingRequest) ToJsonString() string {
851    b, _ := json.Marshal(r)
852    return string(b)
853}
854
855// FromJsonString It is highly **NOT** recommended to use this function
856// because it has no param check, nor strict type check
857func (r *StartLoggingRequest) FromJsonString(s string) error {
858	f := make(map[string]interface{})
859	if err := json.Unmarshal([]byte(s), &f); err != nil {
860		return err
861	}
862	delete(f, "AuditName")
863	if len(f) > 0 {
864		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StartLoggingRequest has unknown keys!", "")
865	}
866	return json.Unmarshal([]byte(s), &r)
867}
868
869type StartLoggingResponse struct {
870	*tchttp.BaseResponse
871	Response *struct {
872
873		// 是否开启成功
874		IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"`
875
876		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
877		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
878	} `json:"Response"`
879}
880
881func (r *StartLoggingResponse) ToJsonString() string {
882    b, _ := json.Marshal(r)
883    return string(b)
884}
885
886// FromJsonString It is highly **NOT** recommended to use this function
887// because it has no param check, nor strict type check
888func (r *StartLoggingResponse) FromJsonString(s string) error {
889	return json.Unmarshal([]byte(s), &r)
890}
891
892type StopLoggingRequest struct {
893	*tchttp.BaseRequest
894
895	// 跟踪集名称
896	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
897}
898
899func (r *StopLoggingRequest) ToJsonString() string {
900    b, _ := json.Marshal(r)
901    return string(b)
902}
903
904// FromJsonString It is highly **NOT** recommended to use this function
905// because it has no param check, nor strict type check
906func (r *StopLoggingRequest) FromJsonString(s string) error {
907	f := make(map[string]interface{})
908	if err := json.Unmarshal([]byte(s), &f); err != nil {
909		return err
910	}
911	delete(f, "AuditName")
912	if len(f) > 0 {
913		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "StopLoggingRequest has unknown keys!", "")
914	}
915	return json.Unmarshal([]byte(s), &r)
916}
917
918type StopLoggingResponse struct {
919	*tchttp.BaseResponse
920	Response *struct {
921
922		// 是否关闭成功
923		IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"`
924
925		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
926		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
927	} `json:"Response"`
928}
929
930func (r *StopLoggingResponse) ToJsonString() string {
931    b, _ := json.Marshal(r)
932    return string(b)
933}
934
935// FromJsonString It is highly **NOT** recommended to use this function
936// because it has no param check, nor strict type check
937func (r *StopLoggingResponse) FromJsonString(s string) error {
938	return json.Unmarshal([]byte(s), &r)
939}
940
941type UpdateAuditRequest struct {
942	*tchttp.BaseRequest
943
944	// 跟踪集名称
945	AuditName *string `json:"AuditName,omitempty" name:"AuditName"`
946
947	// 是否开启cmq消息通知。1:是,0:否。目前仅支持cmq的队列服务。如果开启cmq消息通知服务,云审计会将您的日志内容实时投递到您指定地域的指定队列中。
948	IsEnableCmqNotify *int64 `json:"IsEnableCmqNotify,omitempty" name:"IsEnableCmqNotify"`
949
950	// 管理事件的读写属性。1:只读,2:只写,3:全部。
951	ReadWriteAttribute *int64 `json:"ReadWriteAttribute,omitempty" name:"ReadWriteAttribute"`
952
953	// CMK的全局唯一标识符,如果不是新创建的kms,该值是必填值。可以通过ListKeyAliasByRegion来获取。云审计不会校验KeyId的合法性,请您谨慎填写,避免给您的数据造成损失。
954	KeyId *string `json:"KeyId,omitempty" name:"KeyId"`
955
956	// cos地域。目前支持的地域可以使用ListCosEnableRegion来获取。
957	CosRegion *string `json:"CosRegion,omitempty" name:"CosRegion"`
958
959	// 队列名称。队列名称是一个不超过64个字符的字符串,必须以字母为首字符,剩余部分可以包含字母、数字和横划线(-)。如果IsEnableCmqNotify值是1的话,此值属于必填字段。如果不是新创建的队列,云审计不会去校验该队列是否真的存在,请谨慎填写,避免日志通知不成功,导致您的数据丢失。
960	CmqQueueName *string `json:"CmqQueueName,omitempty" name:"CmqQueueName"`
961
962	// 是否创建新的cos存储桶。1:是,0:否。
963	IsCreateNewBucket *int64 `json:"IsCreateNewBucket,omitempty" name:"IsCreateNewBucket"`
964
965	// kms地域。目前支持的地域可以使用ListKmsEnableRegion来获取。必须要和cos的地域保持一致。
966	KmsRegion *string `json:"KmsRegion,omitempty" name:"KmsRegion"`
967
968	// 是否开启kms加密。1:是,0:否。如果开启KMS加密,数据在投递到cos时,会将数据加密。
969	IsEnableKmsEncry *int64 `json:"IsEnableKmsEncry,omitempty" name:"IsEnableKmsEncry"`
970
971	// cos的存储桶名称。仅支持小写英文字母和数字即[a-z,0-9]、中划线“-”及其组合。用户自定义的字符串支持1 - 40个字符。存储桶命名不能以“-”开头或结尾。如果不是新创建的存储桶,云审计不会去校验该存储桶是否真的存在,请谨慎填写,避免日志投递不成功,导致您的数据丢失。
972	CosBucketName *string `json:"CosBucketName,omitempty" name:"CosBucketName"`
973
974	// 队列所在的地域。可以通过ListCmqEnableRegion获取支持的cmq地域。如果IsEnableCmqNotify值是1的话,此值属于必填字段。
975	CmqRegion *string `json:"CmqRegion,omitempty" name:"CmqRegion"`
976
977	// 日志文件前缀。3-40个字符,只能包含 ASCII 编码字母 a-z,A-Z,数字 0-9。
978	LogFilePrefix *string `json:"LogFilePrefix,omitempty" name:"LogFilePrefix"`
979
980	// 是否创建新的队列。1:是,0:否。如果IsEnableCmqNotify值是1的话,此值属于必填字段。
981	IsCreateNewQueue *int64 `json:"IsCreateNewQueue,omitempty" name:"IsCreateNewQueue"`
982}
983
984func (r *UpdateAuditRequest) ToJsonString() string {
985    b, _ := json.Marshal(r)
986    return string(b)
987}
988
989// FromJsonString It is highly **NOT** recommended to use this function
990// because it has no param check, nor strict type check
991func (r *UpdateAuditRequest) FromJsonString(s string) error {
992	f := make(map[string]interface{})
993	if err := json.Unmarshal([]byte(s), &f); err != nil {
994		return err
995	}
996	delete(f, "AuditName")
997	delete(f, "IsEnableCmqNotify")
998	delete(f, "ReadWriteAttribute")
999	delete(f, "KeyId")
1000	delete(f, "CosRegion")
1001	delete(f, "CmqQueueName")
1002	delete(f, "IsCreateNewBucket")
1003	delete(f, "KmsRegion")
1004	delete(f, "IsEnableKmsEncry")
1005	delete(f, "CosBucketName")
1006	delete(f, "CmqRegion")
1007	delete(f, "LogFilePrefix")
1008	delete(f, "IsCreateNewQueue")
1009	if len(f) > 0 {
1010		return tcerr.NewTencentCloudSDKError("ClientError.BuildRequestError", "UpdateAuditRequest has unknown keys!", "")
1011	}
1012	return json.Unmarshal([]byte(s), &r)
1013}
1014
1015type UpdateAuditResponse struct {
1016	*tchttp.BaseResponse
1017	Response *struct {
1018
1019		// 是否更新成功
1020		IsSuccess *int64 `json:"IsSuccess,omitempty" name:"IsSuccess"`
1021
1022		// 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
1023		RequestId *string `json:"RequestId,omitempty" name:"RequestId"`
1024	} `json:"Response"`
1025}
1026
1027func (r *UpdateAuditResponse) ToJsonString() string {
1028    b, _ := json.Marshal(r)
1029    return string(b)
1030}
1031
1032// FromJsonString It is highly **NOT** recommended to use this function
1033// because it has no param check, nor strict type check
1034func (r *UpdateAuditResponse) FromJsonString(s string) error {
1035	return json.Unmarshal([]byte(s), &r)
1036}
1037