
com.tencentcloudapi.teo.v20220901.models.OriginRecord 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.teo.v20220901.models;
import com.tencentcloudapi.common.AbstractModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class OriginRecord extends AbstractModel{
/**
* The origin record value, which can be an IPv4/IPv6 address or a domain name.
*/
@SerializedName("Record")
@Expose
private String Record;
/**
* The origin record ID.
*/
@SerializedName("RecordId")
@Expose
private String RecordId;
/**
* The origin port. Value rang: 1-65535.
*/
@SerializedName("Port")
@Expose
private Long Port;
/**
* The weight when `ConfigurationType=weight`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins in a group should be 100, indicating that origin-pull is performed by weight.
The weight when `ConfigurationType=proto`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins with the same protocol in a group should be 100, indicating that origin-pull is performed by weight.
*/
@SerializedName("Weight")
@Expose
private Long Weight;
/**
* The origin protocol when `ConfigurationType=proto`, indicating that origin-pull is performed by protocol.
`http`: HTTP protocol
`https`: HTTPS protocol
*/
@SerializedName("Proto")
@Expose
private String Proto;
/**
* The region when `ConfigurationType=area`, which is specified by country code (ISO 3166 alpha-2) or continent code. If not specified, it indicates all regions. Supported continent codes:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas` An origin group must have at least one origin configured with all regions.
*/
@SerializedName("Area")
@Expose
private String [] Area;
/**
* It is valid only when `OriginType=third_part`.
Whether the origin group is private. Values:
`true`: Yes.
`false`: No. If not specified, it defaults to false.
*/
@SerializedName("Private")
@Expose
private Boolean Private;
/**
* The authentication parameter, which is used when `Private=true`.
*/
@SerializedName("PrivateParameters")
@Expose
private PrivateParameter [] PrivateParameters;
/**
* Get The origin record value, which can be an IPv4/IPv6 address or a domain name.
* @return Record The origin record value, which can be an IPv4/IPv6 address or a domain name.
*/
public String getRecord() {
return this.Record;
}
/**
* Set The origin record value, which can be an IPv4/IPv6 address or a domain name.
* @param Record The origin record value, which can be an IPv4/IPv6 address or a domain name.
*/
public void setRecord(String Record) {
this.Record = Record;
}
/**
* Get The origin record ID.
* @return RecordId The origin record ID.
*/
public String getRecordId() {
return this.RecordId;
}
/**
* Set The origin record ID.
* @param RecordId The origin record ID.
*/
public void setRecordId(String RecordId) {
this.RecordId = RecordId;
}
/**
* Get The origin port. Value rang: 1-65535.
* @return Port The origin port. Value rang: 1-65535.
*/
public Long getPort() {
return this.Port;
}
/**
* Set The origin port. Value rang: 1-65535.
* @param Port The origin port. Value rang: 1-65535.
*/
public void setPort(Long Port) {
this.Port = Port;
}
/**
* Get The weight when `ConfigurationType=weight`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins in a group should be 100, indicating that origin-pull is performed by weight.
The weight when `ConfigurationType=proto`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins with the same protocol in a group should be 100, indicating that origin-pull is performed by weight.
* @return Weight The weight when `ConfigurationType=weight`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins in a group should be 100, indicating that origin-pull is performed by weight.
The weight when `ConfigurationType=proto`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins with the same protocol in a group should be 100, indicating that origin-pull is performed by weight.
*/
public Long getWeight() {
return this.Weight;
}
/**
* Set The weight when `ConfigurationType=weight`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins in a group should be 100, indicating that origin-pull is performed by weight.
The weight when `ConfigurationType=proto`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins with the same protocol in a group should be 100, indicating that origin-pull is performed by weight.
* @param Weight The weight when `ConfigurationType=weight`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins in a group should be 100, indicating that origin-pull is performed by weight.
The weight when `ConfigurationType=proto`.
If 0 or no value is passed, the weight of each origin in a group will be 0 or left empty, indicating that origin-pull is performed by round-robin.
If a value between 1-100 is passed, the total weight of multiple origins with the same protocol in a group should be 100, indicating that origin-pull is performed by weight.
*/
public void setWeight(Long Weight) {
this.Weight = Weight;
}
/**
* Get The origin protocol when `ConfigurationType=proto`, indicating that origin-pull is performed by protocol.
`http`: HTTP protocol
`https`: HTTPS protocol
* @return Proto The origin protocol when `ConfigurationType=proto`, indicating that origin-pull is performed by protocol.
`http`: HTTP protocol
`https`: HTTPS protocol
*/
public String getProto() {
return this.Proto;
}
/**
* Set The origin protocol when `ConfigurationType=proto`, indicating that origin-pull is performed by protocol.
`http`: HTTP protocol
`https`: HTTPS protocol
* @param Proto The origin protocol when `ConfigurationType=proto`, indicating that origin-pull is performed by protocol.
`http`: HTTP protocol
`https`: HTTPS protocol
*/
public void setProto(String Proto) {
this.Proto = Proto;
}
/**
* Get The region when `ConfigurationType=area`, which is specified by country code (ISO 3166 alpha-2) or continent code. If not specified, it indicates all regions. Supported continent codes:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas` An origin group must have at least one origin configured with all regions.
* @return Area The region when `ConfigurationType=area`, which is specified by country code (ISO 3166 alpha-2) or continent code. If not specified, it indicates all regions. Supported continent codes:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas` An origin group must have at least one origin configured with all regions.
*/
public String [] getArea() {
return this.Area;
}
/**
* Set The region when `ConfigurationType=area`, which is specified by country code (ISO 3166 alpha-2) or continent code. If not specified, it indicates all regions. Supported continent codes:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas` An origin group must have at least one origin configured with all regions.
* @param Area The region when `ConfigurationType=area`, which is specified by country code (ISO 3166 alpha-2) or continent code. If not specified, it indicates all regions. Supported continent codes:
`Asia`
`Europe`
`Africa`
`Oceania`
`Americas` An origin group must have at least one origin configured with all regions.
*/
public void setArea(String [] Area) {
this.Area = Area;
}
/**
* Get It is valid only when `OriginType=third_part`.
Whether the origin group is private. Values:
`true`: Yes.
`false`: No. If not specified, it defaults to false.
* @return Private It is valid only when `OriginType=third_part`.
Whether the origin group is private. Values:
`true`: Yes.
`false`: No. If not specified, it defaults to false.
*/
public Boolean getPrivate() {
return this.Private;
}
/**
* Set It is valid only when `OriginType=third_part`.
Whether the origin group is private. Values:
`true`: Yes.
`false`: No. If not specified, it defaults to false.
* @param Private It is valid only when `OriginType=third_part`.
Whether the origin group is private. Values:
`true`: Yes.
`false`: No. If not specified, it defaults to false.
*/
public void setPrivate(Boolean Private) {
this.Private = Private;
}
/**
* Get The authentication parameter, which is used when `Private=true`.
* @return PrivateParameters The authentication parameter, which is used when `Private=true`.
*/
public PrivateParameter [] getPrivateParameters() {
return this.PrivateParameters;
}
/**
* Set The authentication parameter, which is used when `Private=true`.
* @param PrivateParameters The authentication parameter, which is used when `Private=true`.
*/
public void setPrivateParameters(PrivateParameter [] PrivateParameters) {
this.PrivateParameters = PrivateParameters;
}
public OriginRecord() {
}
/**
* 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 OriginRecord(OriginRecord source) {
if (source.Record != null) {
this.Record = new String(source.Record);
}
if (source.RecordId != null) {
this.RecordId = new String(source.RecordId);
}
if (source.Port != null) {
this.Port = new Long(source.Port);
}
if (source.Weight != null) {
this.Weight = new Long(source.Weight);
}
if (source.Proto != null) {
this.Proto = new String(source.Proto);
}
if (source.Area != null) {
this.Area = new String[source.Area.length];
for (int i = 0; i < source.Area.length; i++) {
this.Area[i] = new String(source.Area[i]);
}
}
if (source.Private != null) {
this.Private = new Boolean(source.Private);
}
if (source.PrivateParameters != null) {
this.PrivateParameters = new PrivateParameter[source.PrivateParameters.length];
for (int i = 0; i < source.PrivateParameters.length; i++) {
this.PrivateParameters[i] = new PrivateParameter(source.PrivateParameters[i]);
}
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "Record", this.Record);
this.setParamSimple(map, prefix + "RecordId", this.RecordId);
this.setParamSimple(map, prefix + "Port", this.Port);
this.setParamSimple(map, prefix + "Weight", this.Weight);
this.setParamSimple(map, prefix + "Proto", this.Proto);
this.setParamArraySimple(map, prefix + "Area.", this.Area);
this.setParamSimple(map, prefix + "Private", this.Private);
this.setParamArrayObj(map, prefix + "PrivateParameters.", this.PrivateParameters);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy