
com.tencentcloudapi.cfw.v20190904.models.VpcRuleItem Maven / Gradle / Ivy
/*
* Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.tencentcloudapi.cfw.v20190904.models;
import com.tencentcloudapi.common.AbstractModel;
import com.tencentcloudapi.common.SSEResponseModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class VpcRuleItem extends AbstractModel {
/**
* 访问源示例:
net:IP/CIDR(192.168.0.2)
*/
@SerializedName("SourceContent")
@Expose
private String SourceContent;
/**
* 访问源类型,类型可以为:net
*/
@SerializedName("SourceType")
@Expose
private String SourceType;
/**
* 访问目的示例:
net:IP/CIDR(192.168.0.2)
domain:域名规则,例如*.qq.com
*/
@SerializedName("DestContent")
@Expose
private String DestContent;
/**
* 访问目的类型,类型可以为:net,domain,dnsparse
*/
@SerializedName("DestType")
@Expose
private String DestType;
/**
* 协议,可选的值:
TCP
UDP
ICMP
ANY
HTTP
HTTPS
HTTP/HTTPS
SMTP
SMTPS
SMTP/SMTPS
FTP
DNS
TLS/SSL
*/
@SerializedName("Protocol")
@Expose
private String Protocol;
/**
* 访问控制策略中设置的流量通过云防火墙的方式。取值:
accept:放行
drop:拒绝
log:观察
*/
@SerializedName("RuleAction")
@Expose
private String RuleAction;
/**
* 访问控制策略的端口。取值:
-1/-1:全部端口
80:80端口
*/
@SerializedName("Port")
@Expose
private String Port;
/**
* 描述
*/
@SerializedName("Description")
@Expose
private String Description;
/**
* 规则顺序,-1表示最低,1表示最高
*/
@SerializedName("OrderIndex")
@Expose
private Long OrderIndex;
/**
* 规则状态,true表示启用,false表示禁用
*/
@SerializedName("Enable")
@Expose
private String Enable;
/**
* 规则生效的范围,是在哪对vpc之间还是针对所有vpc间生效
*/
@SerializedName("EdgeId")
@Expose
private String EdgeId;
/**
* 规则对应的唯一id,添加规则时忽略该字段,修改该规则时需要填写Uuid;查询返回时会返回该参数
*/
@SerializedName("Uuid")
@Expose
private Long Uuid;
/**
* 规则的命中次数,增删改查规则时无需传入此参数,主要用于返回查询结果数据
*/
@SerializedName("DetectedTimes")
@Expose
private Long DetectedTimes;
/**
* EdgeId对应的这对VPC间防火墙的描述
*/
@SerializedName("EdgeName")
@Expose
private String EdgeName;
/**
* 内部使用的uuid,一般情况下不会使用到该字段
*/
@SerializedName("InternalUuid")
@Expose
private Long InternalUuid;
/**
* 规则被删除:1,已删除;0,未删除
*/
@SerializedName("Deleted")
@Expose
private Long Deleted;
/**
* 规则生效的防火墙实例ID
*/
@SerializedName("FwGroupId")
@Expose
private String FwGroupId;
/**
* 防火墙名称
*/
@SerializedName("FwGroupName")
@Expose
private String FwGroupName;
/**
* beta任务详情
*/
@SerializedName("BetaList")
@Expose
private BetaInfoByACL [] BetaList;
/**
* 端口协议组ID
*/
@SerializedName("ParamTemplateId")
@Expose
private String ParamTemplateId;
/**
* 端口协议组名称
*/
@SerializedName("ParamTemplateName")
@Expose
private String ParamTemplateName;
/**
* 访问目的名称
*/
@SerializedName("TargetName")
@Expose
private String TargetName;
/**
* 访问源名称
*/
@SerializedName("SourceName")
@Expose
private String SourceName;
/**
* Ip版本,0:IPv4,1:IPv6,默认为IPv4
*/
@SerializedName("IpVersion")
@Expose
private Long IpVersion;
/**
* 是否是无效规则,0 表示有效规则,1 表示无效规则,出参场景返回使用
*/
@SerializedName("Invalid")
@Expose
private Long Invalid;
/**
* Get 访问源示例:
net:IP/CIDR(192.168.0.2)
* @return SourceContent 访问源示例:
net:IP/CIDR(192.168.0.2)
*/
public String getSourceContent() {
return this.SourceContent;
}
/**
* Set 访问源示例:
net:IP/CIDR(192.168.0.2)
* @param SourceContent 访问源示例:
net:IP/CIDR(192.168.0.2)
*/
public void setSourceContent(String SourceContent) {
this.SourceContent = SourceContent;
}
/**
* Get 访问源类型,类型可以为:net
* @return SourceType 访问源类型,类型可以为:net
*/
public String getSourceType() {
return this.SourceType;
}
/**
* Set 访问源类型,类型可以为:net
* @param SourceType 访问源类型,类型可以为:net
*/
public void setSourceType(String SourceType) {
this.SourceType = SourceType;
}
/**
* Get 访问目的示例:
net:IP/CIDR(192.168.0.2)
domain:域名规则,例如*.qq.com
* @return DestContent 访问目的示例:
net:IP/CIDR(192.168.0.2)
domain:域名规则,例如*.qq.com
*/
public String getDestContent() {
return this.DestContent;
}
/**
* Set 访问目的示例:
net:IP/CIDR(192.168.0.2)
domain:域名规则,例如*.qq.com
* @param DestContent 访问目的示例:
net:IP/CIDR(192.168.0.2)
domain:域名规则,例如*.qq.com
*/
public void setDestContent(String DestContent) {
this.DestContent = DestContent;
}
/**
* Get 访问目的类型,类型可以为:net,domain,dnsparse
* @return DestType 访问目的类型,类型可以为:net,domain,dnsparse
*/
public String getDestType() {
return this.DestType;
}
/**
* Set 访问目的类型,类型可以为:net,domain,dnsparse
* @param DestType 访问目的类型,类型可以为:net,domain,dnsparse
*/
public void setDestType(String DestType) {
this.DestType = DestType;
}
/**
* Get 协议,可选的值:
TCP
UDP
ICMP
ANY
HTTP
HTTPS
HTTP/HTTPS
SMTP
SMTPS
SMTP/SMTPS
FTP
DNS
TLS/SSL
* @return Protocol 协议,可选的值:
TCP
UDP
ICMP
ANY
HTTP
HTTPS
HTTP/HTTPS
SMTP
SMTPS
SMTP/SMTPS
FTP
DNS
TLS/SSL
*/
public String getProtocol() {
return this.Protocol;
}
/**
* Set 协议,可选的值:
TCP
UDP
ICMP
ANY
HTTP
HTTPS
HTTP/HTTPS
SMTP
SMTPS
SMTP/SMTPS
FTP
DNS
TLS/SSL
* @param Protocol 协议,可选的值:
TCP
UDP
ICMP
ANY
HTTP
HTTPS
HTTP/HTTPS
SMTP
SMTPS
SMTP/SMTPS
FTP
DNS
TLS/SSL
*/
public void setProtocol(String Protocol) {
this.Protocol = Protocol;
}
/**
* Get 访问控制策略中设置的流量通过云防火墙的方式。取值:
accept:放行
drop:拒绝
log:观察
* @return RuleAction 访问控制策略中设置的流量通过云防火墙的方式。取值:
accept:放行
drop:拒绝
log:观察
*/
public String getRuleAction() {
return this.RuleAction;
}
/**
* Set 访问控制策略中设置的流量通过云防火墙的方式。取值:
accept:放行
drop:拒绝
log:观察
* @param RuleAction 访问控制策略中设置的流量通过云防火墙的方式。取值:
accept:放行
drop:拒绝
log:观察
*/
public void setRuleAction(String RuleAction) {
this.RuleAction = RuleAction;
}
/**
* Get 访问控制策略的端口。取值:
-1/-1:全部端口
80:80端口
* @return Port 访问控制策略的端口。取值:
-1/-1:全部端口
80:80端口
*/
public String getPort() {
return this.Port;
}
/**
* Set 访问控制策略的端口。取值:
-1/-1:全部端口
80:80端口
* @param Port 访问控制策略的端口。取值:
-1/-1:全部端口
80:80端口
*/
public void setPort(String Port) {
this.Port = Port;
}
/**
* Get 描述
* @return Description 描述
*/
public String getDescription() {
return this.Description;
}
/**
* Set 描述
* @param Description 描述
*/
public void setDescription(String Description) {
this.Description = Description;
}
/**
* Get 规则顺序,-1表示最低,1表示最高
* @return OrderIndex 规则顺序,-1表示最低,1表示最高
*/
public Long getOrderIndex() {
return this.OrderIndex;
}
/**
* Set 规则顺序,-1表示最低,1表示最高
* @param OrderIndex 规则顺序,-1表示最低,1表示最高
*/
public void setOrderIndex(Long OrderIndex) {
this.OrderIndex = OrderIndex;
}
/**
* Get 规则状态,true表示启用,false表示禁用
* @return Enable 规则状态,true表示启用,false表示禁用
*/
public String getEnable() {
return this.Enable;
}
/**
* Set 规则状态,true表示启用,false表示禁用
* @param Enable 规则状态,true表示启用,false表示禁用
*/
public void setEnable(String Enable) {
this.Enable = Enable;
}
/**
* Get 规则生效的范围,是在哪对vpc之间还是针对所有vpc间生效
* @return EdgeId 规则生效的范围,是在哪对vpc之间还是针对所有vpc间生效
*/
public String getEdgeId() {
return this.EdgeId;
}
/**
* Set 规则生效的范围,是在哪对vpc之间还是针对所有vpc间生效
* @param EdgeId 规则生效的范围,是在哪对vpc之间还是针对所有vpc间生效
*/
public void setEdgeId(String EdgeId) {
this.EdgeId = EdgeId;
}
/**
* Get 规则对应的唯一id,添加规则时忽略该字段,修改该规则时需要填写Uuid;查询返回时会返回该参数
* @return Uuid 规则对应的唯一id,添加规则时忽略该字段,修改该规则时需要填写Uuid;查询返回时会返回该参数
*/
public Long getUuid() {
return this.Uuid;
}
/**
* Set 规则对应的唯一id,添加规则时忽略该字段,修改该规则时需要填写Uuid;查询返回时会返回该参数
* @param Uuid 规则对应的唯一id,添加规则时忽略该字段,修改该规则时需要填写Uuid;查询返回时会返回该参数
*/
public void setUuid(Long Uuid) {
this.Uuid = Uuid;
}
/**
* Get 规则的命中次数,增删改查规则时无需传入此参数,主要用于返回查询结果数据
* @return DetectedTimes 规则的命中次数,增删改查规则时无需传入此参数,主要用于返回查询结果数据
*/
public Long getDetectedTimes() {
return this.DetectedTimes;
}
/**
* Set 规则的命中次数,增删改查规则时无需传入此参数,主要用于返回查询结果数据
* @param DetectedTimes 规则的命中次数,增删改查规则时无需传入此参数,主要用于返回查询结果数据
*/
public void setDetectedTimes(Long DetectedTimes) {
this.DetectedTimes = DetectedTimes;
}
/**
* Get EdgeId对应的这对VPC间防火墙的描述
* @return EdgeName EdgeId对应的这对VPC间防火墙的描述
*/
public String getEdgeName() {
return this.EdgeName;
}
/**
* Set EdgeId对应的这对VPC间防火墙的描述
* @param EdgeName EdgeId对应的这对VPC间防火墙的描述
*/
public void setEdgeName(String EdgeName) {
this.EdgeName = EdgeName;
}
/**
* Get 内部使用的uuid,一般情况下不会使用到该字段
* @return InternalUuid 内部使用的uuid,一般情况下不会使用到该字段
*/
public Long getInternalUuid() {
return this.InternalUuid;
}
/**
* Set 内部使用的uuid,一般情况下不会使用到该字段
* @param InternalUuid 内部使用的uuid,一般情况下不会使用到该字段
*/
public void setInternalUuid(Long InternalUuid) {
this.InternalUuid = InternalUuid;
}
/**
* Get 规则被删除:1,已删除;0,未删除
* @return Deleted 规则被删除:1,已删除;0,未删除
*/
public Long getDeleted() {
return this.Deleted;
}
/**
* Set 规则被删除:1,已删除;0,未删除
* @param Deleted 规则被删除:1,已删除;0,未删除
*/
public void setDeleted(Long Deleted) {
this.Deleted = Deleted;
}
/**
* Get 规则生效的防火墙实例ID
* @return FwGroupId 规则生效的防火墙实例ID
*/
public String getFwGroupId() {
return this.FwGroupId;
}
/**
* Set 规则生效的防火墙实例ID
* @param FwGroupId 规则生效的防火墙实例ID
*/
public void setFwGroupId(String FwGroupId) {
this.FwGroupId = FwGroupId;
}
/**
* Get 防火墙名称
* @return FwGroupName 防火墙名称
*/
public String getFwGroupName() {
return this.FwGroupName;
}
/**
* Set 防火墙名称
* @param FwGroupName 防火墙名称
*/
public void setFwGroupName(String FwGroupName) {
this.FwGroupName = FwGroupName;
}
/**
* Get beta任务详情
* @return BetaList beta任务详情
*/
public BetaInfoByACL [] getBetaList() {
return this.BetaList;
}
/**
* Set beta任务详情
* @param BetaList beta任务详情
*/
public void setBetaList(BetaInfoByACL [] BetaList) {
this.BetaList = BetaList;
}
/**
* Get 端口协议组ID
* @return ParamTemplateId 端口协议组ID
*/
public String getParamTemplateId() {
return this.ParamTemplateId;
}
/**
* Set 端口协议组ID
* @param ParamTemplateId 端口协议组ID
*/
public void setParamTemplateId(String ParamTemplateId) {
this.ParamTemplateId = ParamTemplateId;
}
/**
* Get 端口协议组名称
* @return ParamTemplateName 端口协议组名称
*/
public String getParamTemplateName() {
return this.ParamTemplateName;
}
/**
* Set 端口协议组名称
* @param ParamTemplateName 端口协议组名称
*/
public void setParamTemplateName(String ParamTemplateName) {
this.ParamTemplateName = ParamTemplateName;
}
/**
* Get 访问目的名称
* @return TargetName 访问目的名称
*/
public String getTargetName() {
return this.TargetName;
}
/**
* Set 访问目的名称
* @param TargetName 访问目的名称
*/
public void setTargetName(String TargetName) {
this.TargetName = TargetName;
}
/**
* Get 访问源名称
* @return SourceName 访问源名称
*/
public String getSourceName() {
return this.SourceName;
}
/**
* Set 访问源名称
* @param SourceName 访问源名称
*/
public void setSourceName(String SourceName) {
this.SourceName = SourceName;
}
/**
* Get Ip版本,0:IPv4,1:IPv6,默认为IPv4
* @return IpVersion Ip版本,0:IPv4,1:IPv6,默认为IPv4
*/
public Long getIpVersion() {
return this.IpVersion;
}
/**
* Set Ip版本,0:IPv4,1:IPv6,默认为IPv4
* @param IpVersion Ip版本,0:IPv4,1:IPv6,默认为IPv4
*/
public void setIpVersion(Long IpVersion) {
this.IpVersion = IpVersion;
}
/**
* Get 是否是无效规则,0 表示有效规则,1 表示无效规则,出参场景返回使用
* @return Invalid 是否是无效规则,0 表示有效规则,1 表示无效规则,出参场景返回使用
*/
public Long getInvalid() {
return this.Invalid;
}
/**
* Set 是否是无效规则,0 表示有效规则,1 表示无效规则,出参场景返回使用
* @param Invalid 是否是无效规则,0 表示有效规则,1 表示无效规则,出参场景返回使用
*/
public void setInvalid(Long Invalid) {
this.Invalid = Invalid;
}
public VpcRuleItem() {
}
/**
* NOTE: Any ambiguous key set via .set("AnyKey", "value") will be a shallow copy,
* and any explicit key, i.e Foo, set via .setFoo("value") will be a deep copy.
*/
public VpcRuleItem(VpcRuleItem source) {
if (source.SourceContent != null) {
this.SourceContent = new String(source.SourceContent);
}
if (source.SourceType != null) {
this.SourceType = new String(source.SourceType);
}
if (source.DestContent != null) {
this.DestContent = new String(source.DestContent);
}
if (source.DestType != null) {
this.DestType = new String(source.DestType);
}
if (source.Protocol != null) {
this.Protocol = new String(source.Protocol);
}
if (source.RuleAction != null) {
this.RuleAction = new String(source.RuleAction);
}
if (source.Port != null) {
this.Port = new String(source.Port);
}
if (source.Description != null) {
this.Description = new String(source.Description);
}
if (source.OrderIndex != null) {
this.OrderIndex = new Long(source.OrderIndex);
}
if (source.Enable != null) {
this.Enable = new String(source.Enable);
}
if (source.EdgeId != null) {
this.EdgeId = new String(source.EdgeId);
}
if (source.Uuid != null) {
this.Uuid = new Long(source.Uuid);
}
if (source.DetectedTimes != null) {
this.DetectedTimes = new Long(source.DetectedTimes);
}
if (source.EdgeName != null) {
this.EdgeName = new String(source.EdgeName);
}
if (source.InternalUuid != null) {
this.InternalUuid = new Long(source.InternalUuid);
}
if (source.Deleted != null) {
this.Deleted = new Long(source.Deleted);
}
if (source.FwGroupId != null) {
this.FwGroupId = new String(source.FwGroupId);
}
if (source.FwGroupName != null) {
this.FwGroupName = new String(source.FwGroupName);
}
if (source.BetaList != null) {
this.BetaList = new BetaInfoByACL[source.BetaList.length];
for (int i = 0; i < source.BetaList.length; i++) {
this.BetaList[i] = new BetaInfoByACL(source.BetaList[i]);
}
}
if (source.ParamTemplateId != null) {
this.ParamTemplateId = new String(source.ParamTemplateId);
}
if (source.ParamTemplateName != null) {
this.ParamTemplateName = new String(source.ParamTemplateName);
}
if (source.TargetName != null) {
this.TargetName = new String(source.TargetName);
}
if (source.SourceName != null) {
this.SourceName = new String(source.SourceName);
}
if (source.IpVersion != null) {
this.IpVersion = new Long(source.IpVersion);
}
if (source.Invalid != null) {
this.Invalid = new Long(source.Invalid);
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "SourceContent", this.SourceContent);
this.setParamSimple(map, prefix + "SourceType", this.SourceType);
this.setParamSimple(map, prefix + "DestContent", this.DestContent);
this.setParamSimple(map, prefix + "DestType", this.DestType);
this.setParamSimple(map, prefix + "Protocol", this.Protocol);
this.setParamSimple(map, prefix + "RuleAction", this.RuleAction);
this.setParamSimple(map, prefix + "Port", this.Port);
this.setParamSimple(map, prefix + "Description", this.Description);
this.setParamSimple(map, prefix + "OrderIndex", this.OrderIndex);
this.setParamSimple(map, prefix + "Enable", this.Enable);
this.setParamSimple(map, prefix + "EdgeId", this.EdgeId);
this.setParamSimple(map, prefix + "Uuid", this.Uuid);
this.setParamSimple(map, prefix + "DetectedTimes", this.DetectedTimes);
this.setParamSimple(map, prefix + "EdgeName", this.EdgeName);
this.setParamSimple(map, prefix + "InternalUuid", this.InternalUuid);
this.setParamSimple(map, prefix + "Deleted", this.Deleted);
this.setParamSimple(map, prefix + "FwGroupId", this.FwGroupId);
this.setParamSimple(map, prefix + "FwGroupName", this.FwGroupName);
this.setParamArrayObj(map, prefix + "BetaList.", this.BetaList);
this.setParamSimple(map, prefix + "ParamTemplateId", this.ParamTemplateId);
this.setParamSimple(map, prefix + "ParamTemplateName", this.ParamTemplateName);
this.setParamSimple(map, prefix + "TargetName", this.TargetName);
this.setParamSimple(map, prefix + "SourceName", this.SourceName);
this.setParamSimple(map, prefix + "IpVersion", this.IpVersion);
this.setParamSimple(map, prefix + "Invalid", this.Invalid);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy