
com.aliyun.sdk.service.waf_openapi20211001.models.DescribeApisecApiResourcesResponseBody 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 DescribeApisecApiResourcesResponseBody} extends {@link TeaModel}
*
* DescribeApisecApiResourcesResponseBody
*/
public class DescribeApisecApiResourcesResponseBody 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 DescribeApisecApiResourcesResponseBody(Builder builder) {
this.data = builder.data;
this.requestId = builder.requestId;
this.totalCount = builder.totalCount;
}
public static Builder builder() {
return new Builder();
}
public static DescribeApisecApiResourcesResponseBody 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 API assets.
*/
public Builder data(java.util.List < Data> data) {
this.data = data;
return this;
}
/**
* The request ID.
*
* example:
* 2EFCFE18-78F8-5079-B312-07***48B
*/
public Builder requestId(String requestId) {
this.requestId = requestId;
return this;
}
/**
* The total number of entries returned.
*
* example:
* 5
*/
public Builder totalCount(Long totalCount) {
this.totalCount = totalCount;
return this;
}
public DescribeApisecApiResourcesResponseBody build() {
return new DescribeApisecApiResourcesResponseBody(this);
}
}
/**
*
* {@link DescribeApisecApiResourcesResponseBody} extends {@link TeaModel}
*
* DescribeApisecApiResourcesResponseBody
*/
public static class Data extends TeaModel {
@com.aliyun.core.annotation.NameInMap("AbnormalNum")
private Long abnormalNum;
@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("ApiInfo")
private String apiInfo;
@com.aliyun.core.annotation.NameInMap("ApiMethod")
private String apiMethod;
@com.aliyun.core.annotation.NameInMap("ApiSensitive")
private String apiSensitive;
@com.aliyun.core.annotation.NameInMap("ApiSensitiveRequest")
private String apiSensitiveRequest;
@com.aliyun.core.annotation.NameInMap("ApiSensitiveResponse")
private String apiSensitiveResponse;
@com.aliyun.core.annotation.NameInMap("ApiStatus")
private String apiStatus;
@com.aliyun.core.annotation.NameInMap("ApiTag")
private String apiTag;
@com.aliyun.core.annotation.NameInMap("ApiType")
private String apiType;
@com.aliyun.core.annotation.NameInMap("AuthFlag")
private String authFlag;
@com.aliyun.core.annotation.NameInMap("BotCnt")
private Long botCnt;
@com.aliyun.core.annotation.NameInMap("CrossBorderCnt")
private Long crossBorderCnt;
@com.aliyun.core.annotation.NameInMap("EventNum")
private Long eventNum;
@com.aliyun.core.annotation.NameInMap("Examples")
private java.util.List < String > examples;
@com.aliyun.core.annotation.NameInMap("FarthestTs")
private Long farthestTs;
@com.aliyun.core.annotation.NameInMap("Follow")
private Integer follow;
@com.aliyun.core.annotation.NameInMap("LastestTs")
private Long lastestTs;
@com.aliyun.core.annotation.NameInMap("MatchedHost")
private String matchedHost;
@com.aliyun.core.annotation.NameInMap("Note")
private String note;
private Data(Builder builder) {
this.abnormalNum = builder.abnormalNum;
this.allCnt = builder.allCnt;
this.apiFormat = builder.apiFormat;
this.apiId = builder.apiId;
this.apiInfo = builder.apiInfo;
this.apiMethod = builder.apiMethod;
this.apiSensitive = builder.apiSensitive;
this.apiSensitiveRequest = builder.apiSensitiveRequest;
this.apiSensitiveResponse = builder.apiSensitiveResponse;
this.apiStatus = builder.apiStatus;
this.apiTag = builder.apiTag;
this.apiType = builder.apiType;
this.authFlag = builder.authFlag;
this.botCnt = builder.botCnt;
this.crossBorderCnt = builder.crossBorderCnt;
this.eventNum = builder.eventNum;
this.examples = builder.examples;
this.farthestTs = builder.farthestTs;
this.follow = builder.follow;
this.lastestTs = builder.lastestTs;
this.matchedHost = builder.matchedHost;
this.note = builder.note;
}
public static Builder builder() {
return new Builder();
}
public static Data create() {
return builder().build();
}
/**
* @return abnormalNum
*/
public Long getAbnormalNum() {
return this.abnormalNum;
}
/**
* @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 apiInfo
*/
public String getApiInfo() {
return this.apiInfo;
}
/**
* @return apiMethod
*/
public String getApiMethod() {
return this.apiMethod;
}
/**
* @return apiSensitive
*/
public String getApiSensitive() {
return this.apiSensitive;
}
/**
* @return apiSensitiveRequest
*/
public String getApiSensitiveRequest() {
return this.apiSensitiveRequest;
}
/**
* @return apiSensitiveResponse
*/
public String getApiSensitiveResponse() {
return this.apiSensitiveResponse;
}
/**
* @return apiStatus
*/
public String getApiStatus() {
return this.apiStatus;
}
/**
* @return apiTag
*/
public String getApiTag() {
return this.apiTag;
}
/**
* @return apiType
*/
public String getApiType() {
return this.apiType;
}
/**
* @return authFlag
*/
public String getAuthFlag() {
return this.authFlag;
}
/**
* @return botCnt
*/
public Long getBotCnt() {
return this.botCnt;
}
/**
* @return crossBorderCnt
*/
public Long getCrossBorderCnt() {
return this.crossBorderCnt;
}
/**
* @return eventNum
*/
public Long getEventNum() {
return this.eventNum;
}
/**
* @return examples
*/
public java.util.List < String > getExamples() {
return this.examples;
}
/**
* @return farthestTs
*/
public Long getFarthestTs() {
return this.farthestTs;
}
/**
* @return follow
*/
public Integer getFollow() {
return this.follow;
}
/**
* @return lastestTs
*/
public Long getLastestTs() {
return this.lastestTs;
}
/**
* @return matchedHost
*/
public String getMatchedHost() {
return this.matchedHost;
}
/**
* @return note
*/
public String getNote() {
return this.note;
}
public static final class Builder {
private Long abnormalNum;
private Long allCnt;
private String apiFormat;
private String apiId;
private String apiInfo;
private String apiMethod;
private String apiSensitive;
private String apiSensitiveRequest;
private String apiSensitiveResponse;
private String apiStatus;
private String apiTag;
private String apiType;
private String authFlag;
private Long botCnt;
private Long crossBorderCnt;
private Long eventNum;
private java.util.List < String > examples;
private Long farthestTs;
private Integer follow;
private Long lastestTs;
private String matchedHost;
private String note;
/**
* The number of API-related risks.
*
* example:
* 2
*/
public Builder abnormalNum(Long abnormalNum) {
this.abnormalNum = abnormalNum;
return this;
}
/**
* The total number of calls to this API in the previous 30 days.
*
* example:
* 10
*/
public Builder allCnt(Long allCnt) {
this.allCnt = allCnt;
return this;
}
/**
* The API.
*
* example:
* /v1/etl/finddatabyvid
*/
public Builder apiFormat(String apiFormat) {
this.apiFormat = apiFormat;
return this;
}
/**
* The ID of the API.
*
* example:
* 867ade***24ee6e205b8da82b8f84
*/
public Builder apiId(String apiId) {
this.apiId = apiId;
return this;
}
/**
* The API-related information. The value of this parameter is a JSON string that contains multiple parameters. The value includes the following parameters:
*
* - param_num: the number of API parameters
* - request_method: the request method
* - protocol: the request protocol
* - api_url: the request URL
* - poc_payload: the request
* - request: the sample request
* - response: the sample response
* - param: the request parameters
*
*/
public Builder apiInfo(String apiInfo) {
this.apiInfo = apiInfo;
return this;
}
/**
* The request method of the API. Valid values:
*
* - GET
* - POST
* - HEAD
* - PUT
* - DELETE
* - CONNECT
* - PATCH
* - OPTIONS
*
*
* example:
* POST
*/
public Builder apiMethod(String apiMethod) {
this.apiMethod = apiMethod;
return this;
}
/**
* The API-related sensitive information. The value of this parameter is a JSON string that contains multiple parameters. The value includes the following parameters:
*
* - request_sensitive_list: the sensitive data type in the request
* - response_sensitive_list: the sensitive data type in the response
* - sensitive_list: sensitive data types
* - sensitive_level: sensitivity level
*
*
* example:
* {
* "sensitive_list": ["1003","1005"],
* "sensitive_level": "L2",
* "request_sensitive_list": ["1003"],
* "response_sensitive_list": ["1005"]
* }
*/
public Builder apiSensitive(String apiSensitive) {
this.apiSensitive = apiSensitive;
return this;
}
/**
* The sensitive data type in the request.
*
* example:
* ["1002","1005"]
*/
public Builder apiSensitiveRequest(String apiSensitiveRequest) {
this.apiSensitiveRequest = apiSensitiveRequest;
return this;
}
/**
* The sensitive data type in the response.
*
* example:
* ["1002","1005"]
*/
public Builder apiSensitiveResponse(String apiSensitiveResponse) {
this.apiSensitiveResponse = apiSensitiveResponse;
return this;
}
/**
* The API status. Valid values:
*
* - NewbornInterface: The API is newly added.
* - OfflineInterface: The API is inactive.
* - normal: The API is normal.
*
*
* example:
* NewbornInterface
*/
public Builder apiStatus(String apiStatus) {
this.apiStatus = apiStatus;
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 service object. Valid values:
*
* - PublicAPI: public services
* - ThirdpartAPI: cooperation with third-party partners
* - InternalAPI: internal office
*
*
* example:
* PublicAPI
*/
public Builder apiType(String apiType) {
this.apiType = apiType;
return this;
}
/**
* Indicates whether authentication is required. Valid values:
*
* - 0: Authentication is required.
* - 1: Authentication is not required.
*
*
* example:
* 1
*/
public Builder authFlag(String authFlag) {
this.authFlag = authFlag;
return this;
}
/**
* The number of bot-initiated requests in the previous 30 days.
*
* example:
* 2
*/
public Builder botCnt(Long botCnt) {
this.botCnt = botCnt;
return this;
}
/**
* The number of the cross-border requests in the previous 30 days.
*
* example:
* 2
*/
public Builder crossBorderCnt(Long crossBorderCnt) {
this.crossBorderCnt = crossBorderCnt;
return this;
}
/**
* The number of API-related security events.
*
* example:
* 2
*/
public Builder eventNum(Long eventNum) {
this.eventNum = eventNum;
return this;
}
/**
* The sample APIs.
*/
public Builder examples(java.util.List < String > examples) {
this.examples = examples;
return this;
}
/**
* The time when the API asset was first detected. This value is a UNIX timestamp in UTC. Unit: seconds.
*
* example:
* 1683388800
*/
public Builder farthestTs(Long farthestTs) {
this.farthestTs = farthestTs;
return this;
}
/**
* Specifies whether to follow the API. Valid values:
*
* - 1: follows the API.
* - 0: does not follow the API.
*
*
* example:
* 1
*/
public Builder follow(Integer follow) {
this.follow = follow;
return this;
}
/**
* The most recent access time of the API. This value is a UNIX timestamp in UTC. Unit: seconds.
*
* example:
* 1683388800
*/
public Builder lastestTs(Long lastestTs) {
this.lastestTs = lastestTs;
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:
* Password changed
*/
public Builder note(String note) {
this.note = note;
return this;
}
public Data build() {
return new Data(this);
}
}
}
}