
com.aliyun.sdk.service.waf_openapi20211001.models.DescribeApisecEventsResponseBody Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.waf_openapi20211001.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link DescribeApisecEventsResponseBody} extends {@link TeaModel}
*
* DescribeApisecEventsResponseBody
*/
public class DescribeApisecEventsResponseBody extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Data")
private java.util.List < Data> data;
@com.aliyun.core.annotation.NameInMap("RequestId")
private String requestId;
@com.aliyun.core.annotation.NameInMap("TotalCount")
private Long totalCount;
private DescribeApisecEventsResponseBody(Builder builder) {
this.data = builder.data;
this.requestId = builder.requestId;
this.totalCount = builder.totalCount;
}
public static Builder builder() {
return new Builder();
}
public static DescribeApisecEventsResponseBody create() {
return builder().build();
}
/**
* @return data
*/
public java.util.List < Data> getData() {
return this.data;
}
/**
* @return requestId
*/
public String getRequestId() {
return this.requestId;
}
/**
* @return totalCount
*/
public Long getTotalCount() {
return this.totalCount;
}
public static final class Builder {
private java.util.List < Data> data;
private String requestId;
private Long totalCount;
/**
* The security events.
*/
public Builder data(java.util.List < Data> data) {
this.data = data;
return this;
}
/**
* The request ID.
*
* example:
* 12F4CC8F-7E9F-5E4D-BF7C-BD1EDDE0C282
*/
public Builder requestId(String requestId) {
this.requestId = requestId;
return this;
}
/**
* The total number of entries returned.
*
* example:
* 3
*/
public Builder totalCount(Long totalCount) {
this.totalCount = totalCount;
return this;
}
public DescribeApisecEventsResponseBody build() {
return new DescribeApisecEventsResponseBody(this);
}
}
/**
*
* {@link DescribeApisecEventsResponseBody} extends {@link TeaModel}
*
* DescribeApisecEventsResponseBody
*/
public static class Data extends TeaModel {
@com.aliyun.core.annotation.NameInMap("AllCnt")
private Long allCnt;
@com.aliyun.core.annotation.NameInMap("ApiFormat")
private String apiFormat;
@com.aliyun.core.annotation.NameInMap("ApiId")
private String apiId;
@com.aliyun.core.annotation.NameInMap("ApiTag")
private String apiTag;
@com.aliyun.core.annotation.NameInMap("AttackClient")
private String attackClient;
@com.aliyun.core.annotation.NameInMap("AttackCntInfo")
private String attackCntInfo;
@com.aliyun.core.annotation.NameInMap("AttackIp")
private String attackIp;
@com.aliyun.core.annotation.NameInMap("AttackIpInfo")
private String attackIpInfo;
@com.aliyun.core.annotation.NameInMap("EndTs")
private Long endTs;
@com.aliyun.core.annotation.NameInMap("EventId")
private String eventId;
@com.aliyun.core.annotation.NameInMap("EventInfo")
private String eventInfo;
@com.aliyun.core.annotation.NameInMap("EventLevel")
private String eventLevel;
@com.aliyun.core.annotation.NameInMap("EventTag")
private String eventTag;
@com.aliyun.core.annotation.NameInMap("Follow")
private Integer follow;
@com.aliyun.core.annotation.NameInMap("MatchedHost")
private String matchedHost;
@com.aliyun.core.annotation.NameInMap("Note")
private String note;
@com.aliyun.core.annotation.NameInMap("Origin")
private String origin;
@com.aliyun.core.annotation.NameInMap("RemoteCountry")
private String remoteCountry;
@com.aliyun.core.annotation.NameInMap("RemoteRegion")
private String remoteRegion;
@com.aliyun.core.annotation.NameInMap("RequestData")
private String requestData;
@com.aliyun.core.annotation.NameInMap("ResponseData")
private String responseData;
@com.aliyun.core.annotation.NameInMap("StartTs")
private Long startTs;
@com.aliyun.core.annotation.NameInMap("UserStatus")
private String userStatus;
private Data(Builder builder) {
this.allCnt = builder.allCnt;
this.apiFormat = builder.apiFormat;
this.apiId = builder.apiId;
this.apiTag = builder.apiTag;
this.attackClient = builder.attackClient;
this.attackCntInfo = builder.attackCntInfo;
this.attackIp = builder.attackIp;
this.attackIpInfo = builder.attackIpInfo;
this.endTs = builder.endTs;
this.eventId = builder.eventId;
this.eventInfo = builder.eventInfo;
this.eventLevel = builder.eventLevel;
this.eventTag = builder.eventTag;
this.follow = builder.follow;
this.matchedHost = builder.matchedHost;
this.note = builder.note;
this.origin = builder.origin;
this.remoteCountry = builder.remoteCountry;
this.remoteRegion = builder.remoteRegion;
this.requestData = builder.requestData;
this.responseData = builder.responseData;
this.startTs = builder.startTs;
this.userStatus = builder.userStatus;
}
public static Builder builder() {
return new Builder();
}
public static Data create() {
return builder().build();
}
/**
* @return allCnt
*/
public Long getAllCnt() {
return this.allCnt;
}
/**
* @return apiFormat
*/
public String getApiFormat() {
return this.apiFormat;
}
/**
* @return apiId
*/
public String getApiId() {
return this.apiId;
}
/**
* @return apiTag
*/
public String getApiTag() {
return this.apiTag;
}
/**
* @return attackClient
*/
public String getAttackClient() {
return this.attackClient;
}
/**
* @return attackCntInfo
*/
public String getAttackCntInfo() {
return this.attackCntInfo;
}
/**
* @return attackIp
*/
public String getAttackIp() {
return this.attackIp;
}
/**
* @return attackIpInfo
*/
public String getAttackIpInfo() {
return this.attackIpInfo;
}
/**
* @return endTs
*/
public Long getEndTs() {
return this.endTs;
}
/**
* @return eventId
*/
public String getEventId() {
return this.eventId;
}
/**
* @return eventInfo
*/
public String getEventInfo() {
return this.eventInfo;
}
/**
* @return eventLevel
*/
public String getEventLevel() {
return this.eventLevel;
}
/**
* @return eventTag
*/
public String getEventTag() {
return this.eventTag;
}
/**
* @return follow
*/
public Integer getFollow() {
return this.follow;
}
/**
* @return matchedHost
*/
public String getMatchedHost() {
return this.matchedHost;
}
/**
* @return note
*/
public String getNote() {
return this.note;
}
/**
* @return origin
*/
public String getOrigin() {
return this.origin;
}
/**
* @return remoteCountry
*/
public String getRemoteCountry() {
return this.remoteCountry;
}
/**
* @return remoteRegion
*/
public String getRemoteRegion() {
return this.remoteRegion;
}
/**
* @return requestData
*/
public String getRequestData() {
return this.requestData;
}
/**
* @return responseData
*/
public String getResponseData() {
return this.responseData;
}
/**
* @return startTs
*/
public Long getStartTs() {
return this.startTs;
}
/**
* @return userStatus
*/
public String getUserStatus() {
return this.userStatus;
}
public static final class Builder {
private Long allCnt;
private String apiFormat;
private String apiId;
private String apiTag;
private String attackClient;
private String attackCntInfo;
private String attackIp;
private String attackIpInfo;
private Long endTs;
private String eventId;
private String eventInfo;
private String eventLevel;
private String eventTag;
private Integer follow;
private String matchedHost;
private String note;
private String origin;
private String remoteCountry;
private String remoteRegion;
private String requestData;
private String responseData;
private Long startTs;
private String userStatus;
/**
* The number of attacks.
*
* example:
* 10
*/
public Builder allCnt(Long allCnt) {
this.allCnt = allCnt;
return this;
}
/**
* The API.
*
* example:
* /apisec/v1/register.php
*/
public Builder apiFormat(String apiFormat) {
this.apiFormat = apiFormat;
return this;
}
/**
* The ID of the API that is associated with the security event.
*
* example:
* 2ecc1cf67b91853bc55545052ccf06a8
*/
public Builder apiId(String apiId) {
this.apiId = apiId;
return this;
}
/**
* The business purpose of the API.
*
* You can call the DescribeApisecRules operation to query the business purpose of the API.
*
*
* example:
* SendMail
*/
public Builder apiTag(String apiTag) {
this.apiTag = apiTag;
return this;
}
/**
* The client that is attacked.
*
* example:
* Chrome
*/
public Builder attackClient(String attackClient) {
this.attackClient = attackClient;
return this;
}
/**
* The information about the number of attacks. The value of this parameter is a JSON string that contains multiple parameters. Key indicates the timestamp in seconds, and Value indicates the number of attacks.
*
* example:
* {"1717498320":500,"1717498380":529,"1717498440":20,"1717498260":518,"1717498200":481,"1717498140":52}
*/
public Builder attackCntInfo(String attackCntInfo) {
this.attackCntInfo = attackCntInfo;
return this;
}
/**
* The source IP address of the attack.
*
* example:
* 104.234.140.33
*/
public Builder attackIp(String attackIp) {
this.attackIp = attackIp;
return this;
}
/**
* The information about the attack source IP address. The value of this parameter is a JSON string that contains multiple parameters. The value includes the following parameters:
*
* - ip: the IP address
* - country_id: the country ID
* - region_id: the region ID
* - cnt: the number of attacks
*
*
* example:
* [{"ip":"72...119","country_id":"US","region_id":"","cnt":"2100"}]
*/
public Builder attackIpInfo(String attackIpInfo) {
this.attackIpInfo = attackIpInfo;
return this;
}
/**
* The end of the time range to query. This value is a UNIX timestamp in UTC. Unit: seconds.
*
* example:
* 1683703260
*/
public Builder endTs(Long endTs) {
this.endTs = endTs;
return this;
}
/**
* The ID of the event.
*
* example:
* c82cb276847e9c96f9597d9f4b0cdcff
*/
public Builder eventId(String eventId) {
this.eventId = eventId;
return this;
}
/**
* The details of the event. The value of this parameter is a JSON string that contains multiple parameters. The value includes the following parameters:
*
* - ip_info: the information about the attack source IP address. This parameter corresponds to the AttackIpInfo response parameter.
* - rule_id: the ID of the rule corresponding to the event.
* - rule_tag: the information about the rule corresponding to the event.
*
*
* example:
* {}
*/
public Builder eventInfo(String eventInfo) {
this.eventInfo = eventInfo;
return this;
}
/**
* The severity level of the event. Valid values:
*
* - high
* - medium
* - low
*
*
* example:
* medium
*/
public Builder eventLevel(String eventLevel) {
this.eventLevel = eventLevel;
return this;
}
/**
* The type of the event.
*
* You can call the DescribeApisecRules operation to query the supported event types.
*
*
* example:
* ObtainSensitiveUnauthorized
*/
public Builder eventTag(String eventTag) {
this.eventTag = eventTag;
return this;
}
/**
* Indicates whether the API is followed. Valid values:
*
* - 1: The API is followed.
* - 0: The API is not followed.
*
*
* example:
* 0
*/
public Builder follow(Integer follow) {
this.follow = follow;
return this;
}
/**
* The domain name or IP address of the API.
*
* example:
* a.aliyun.com
*/
public Builder matchedHost(String matchedHost) {
this.matchedHost = matchedHost;
return this;
}
/**
* The remarks.
*
* example:
* Notified
*/
public Builder note(String note) {
this.note = note;
return this;
}
/**
* The source of the event type. Valid values:
*
* - custom
* - default
*
*
* example:
* custom
*/
public Builder origin(String origin) {
this.origin = origin;
return this;
}
/**
* The country to which the attack source IP address belongs.
*
* example:
* US
*/
public Builder remoteCountry(String remoteCountry) {
this.remoteCountry = remoteCountry;
return this;
}
/**
* The region to which the attack source IP address belongs.
*
* example:
* 110000
*/
public Builder remoteRegion(String remoteRegion) {
this.remoteRegion = remoteRegion;
return this;
}
/**
* The sample API request. The value of this parameter is a JSON string that contains multiple parameters.
*
* example:
* {}
*/
public Builder requestData(String requestData) {
this.requestData = requestData;
return this;
}
/**
* The sample API response. The value of this parameter is a JSON string that contains multiple parameters.
*
* example:
* {}
*/
public Builder responseData(String responseData) {
this.responseData = responseData;
return this;
}
/**
* The beginning of the time range to query. This value is a UNIX timestamp in UTC. Unit: seconds.
*
* example:
* 1683648000
*/
public Builder startTs(Long startTs) {
this.startTs = startTs;
return this;
}
/**
* The event status. Valid values:
*
* - toBeConfirmed
* - confirmed
* - ignored
*
*
* example:
* Ignore
*/
public Builder userStatus(String userStatus) {
this.userStatus = userStatus;
return this;
}
public Data build() {
return new Data(this);
}
}
}
}