
com.aliyun.sdk.service.cbn20170912.models.CreateFlowlogRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.cbn20170912.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
* {@link CreateFlowlogRequest} extends {@link RequestModel}
*
* CreateFlowlogRequest
*/
public class CreateFlowlogRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CenId")
@com.aliyun.core.annotation.Validation(required = true)
private String cenId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Description")
private String description;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("FlowLogName")
private String flowLogName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Interval")
private Long interval;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LogStoreName")
@com.aliyun.core.annotation.Validation(required = true)
private String logStoreName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerAccount")
private String ownerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ProjectName")
@com.aliyun.core.annotation.Validation(required = true)
private String projectName;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("RegionId")
@com.aliyun.core.annotation.Validation(required = true)
private String regionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerId")
private Long resourceOwnerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List < Tag> tag;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TransitRouterAttachmentId")
private String transitRouterAttachmentId;
private CreateFlowlogRequest(Builder builder) {
super(builder);
this.cenId = builder.cenId;
this.clientToken = builder.clientToken;
this.description = builder.description;
this.flowLogName = builder.flowLogName;
this.interval = builder.interval;
this.logStoreName = builder.logStoreName;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.projectName = builder.projectName;
this.regionId = builder.regionId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.tag = builder.tag;
this.transitRouterAttachmentId = builder.transitRouterAttachmentId;
}
public static Builder builder() {
return new Builder();
}
public static CreateFlowlogRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return cenId
*/
public String getCenId() {
return this.cenId;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return description
*/
public String getDescription() {
return this.description;
}
/**
* @return flowLogName
*/
public String getFlowLogName() {
return this.flowLogName;
}
/**
* @return interval
*/
public Long getInterval() {
return this.interval;
}
/**
* @return logStoreName
*/
public String getLogStoreName() {
return this.logStoreName;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return projectName
*/
public String getProjectName() {
return this.projectName;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return tag
*/
public java.util.List < Tag> getTag() {
return this.tag;
}
/**
* @return transitRouterAttachmentId
*/
public String getTransitRouterAttachmentId() {
return this.transitRouterAttachmentId;
}
public static final class Builder extends Request.Builder {
private String cenId;
private String clientToken;
private String description;
private String flowLogName;
private Long interval;
private String logStoreName;
private String ownerAccount;
private Long ownerId;
private String projectName;
private String regionId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private java.util.List < Tag> tag;
private String transitRouterAttachmentId;
private Builder() {
super();
}
private Builder(CreateFlowlogRequest request) {
super(request);
this.cenId = request.cenId;
this.clientToken = request.clientToken;
this.description = request.description;
this.flowLogName = request.flowLogName;
this.interval = request.interval;
this.logStoreName = request.logStoreName;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.projectName = request.projectName;
this.regionId = request.regionId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.tag = request.tag;
this.transitRouterAttachmentId = request.transitRouterAttachmentId;
}
/**
* The ID of the CEN instance.
*/
public Builder cenId(String cenId) {
this.putQueryParameter("CenId", cenId);
this.cenId = cenId;
return this;
}
/**
* The client token that is used to ensure the idempotence of the request.
*
*
* You can use the client to generate the value, but you must make sure that it is unique among all requests. The token can contain only ASCII characters.
*
* > If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The description of the flow log.
*
*
* The description must be 2 to 256 characters in length. It must start with a letter but cannot start with `http://` or `https://`.
*/
public Builder description(String description) {
this.putQueryParameter("Description", description);
this.description = description;
return this;
}
/**
* The name of the flow log.
*
*
* The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (\_), and hyphens (-). The name must start with a letter but cannot start with `http://` or `https://`.
*/
public Builder flowLogName(String flowLogName) {
this.putQueryParameter("FlowLogName", flowLogName);
this.flowLogName = flowLogName;
return this;
}
/**
* The time window for collecting log data. Unit: seconds. Valid values: **60** and **600**. Default value: **600**.
*/
public Builder interval(Long interval) {
this.putQueryParameter("Interval", interval);
this.interval = interval;
return this;
}
/**
* The Logstore where the flow log is stored.
*
*
* * If a Logstore is already created in the selected region, enter the name of the Logstore.
*
* * If no Logstores are created in the selected region, enter a name and the system automatically creates a Logstore. The name of the Logstore. The name must meet the following requirements:
*
* * The name must be unique in a project.
* * The name can contain only lowercase letters, digits, hyphens (-), and underscores (\_).
* * The name must start and end with a lowercase letter or a digit.
* * The name must be 3 to 63 characters in length.
*/
public Builder logStoreName(String logStoreName) {
this.putQueryParameter("LogStoreName", logStoreName);
this.logStoreName = logStoreName;
return this;
}
/**
* OwnerAccount.
*/
public Builder ownerAccount(String ownerAccount) {
this.putQueryParameter("OwnerAccount", ownerAccount);
this.ownerAccount = ownerAccount;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The Log Service project where the flow log is stored.
*
*
* * If a project is already created in the selected region, enter the name of the project.
*
* * If no projects are created in the selected region, enter a name and the system automatically creates a project.
*
* The project name must be unique in a region. You cannot change the name after you create the project. The naming conventions are:
*
* * The name must be globally unique.
* * The name can contain only lowercase letters, digits, and hyphens (-).
* * The name must start and end with a lowercase letter or a digit.
* * The name must be 3 to 63 characters in length.
*/
public Builder projectName(String projectName) {
this.putQueryParameter("ProjectName", projectName);
this.projectName = projectName;
return this;
}
/**
* The ID of the region where the flow log is deployed.
*
*
* You can call the [DescribeChildInstanceRegions](~~132080~~) operation to query the most recent region list.
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* ResourceOwnerId.
*/
public Builder resourceOwnerId(Long resourceOwnerId) {
this.putQueryParameter("ResourceOwnerId", resourceOwnerId);
this.resourceOwnerId = resourceOwnerId;
return this;
}
/**
* The information about the tags.
*
*
* You can specify at most 20 tags in each call.
*/
public Builder tag(java.util.List < Tag> tag) {
this.putQueryParameter("Tag", tag);
this.tag = tag;
return this;
}
/**
* The ID of the inter-region connection or the VBR connection.
*
*
* > This parameter is required.
*/
public Builder transitRouterAttachmentId(String transitRouterAttachmentId) {
this.putQueryParameter("TransitRouterAttachmentId", transitRouterAttachmentId);
this.transitRouterAttachmentId = transitRouterAttachmentId;
return this;
}
@Override
public CreateFlowlogRequest build() {
return new CreateFlowlogRequest(this);
}
}
public static class Tag extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Key")
private String key;
@com.aliyun.core.annotation.NameInMap("Value")
private String value;
private Tag(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static Tag create() {
return builder().build();
}
/**
* @return key
*/
public String getKey() {
return this.key;
}
/**
* @return value
*/
public String getValue() {
return this.value;
}
public static final class Builder {
private String key;
private String value;
/**
* The tag key.
*
*
* The tag key cannot be an empty string. The tag key can be up to 64 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.
*
* You can specify at most 20 tag keys.
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* The tag value.
*
*
* The tag value can be 0 to 128 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.
*
* Each tag key must have a unique tag value. You can specify at most 20 tag values in each call.
*/
public Builder value(String value) {
this.value = value;
return this;
}
public Tag build() {
return new Tag(this);
}
}
}
}