
com.tencentcloudapi.teo.v20220901.models.ModifyOriginGroupRequest 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.tencentcloudapi.common.SSEResponseModel;
import com.google.gson.annotations.SerializedName;
import com.google.gson.annotations.Expose;
import java.util.HashMap;
public class ModifyOriginGroupRequest extends AbstractModel {
/**
* Site ID
*/
@SerializedName("ZoneId")
@Expose
private String ZoneId;
/**
* (Required) Origin group ID
*/
@SerializedName("GroupId")
@Expose
private String GroupId;
/**
* Origin group name. It can contain 1 to 200 characters ([a-z], [A-Z], [0-9] and [_-]). The original configuration applies if this field is not specified.
*/
@SerializedName("Name")
@Expose
private String Name;
/**
* The origin grouptype. Values:
`GENERAL`: General origin groups. It supports IPs and domain names. It can be referenced by DNS, Rule Engine, Layer 4 Proxy and General LoadBalancer.
`HTTP`: HTTP-specific origin groups. It supports IPs/domain names and object storage buckets. It can be referenced by acceleration domain names, rule engines and HTTP LoadBalancer. It cannot be referenced by L4 proxies. The original configuration is used if it's not specified.
*/
@SerializedName("Type")
@Expose
private String Type;
/**
* Origin information. The original configuration is used if it's not specified.
*/
@SerializedName("Records")
@Expose
private OriginRecord [] Records;
/**
* Host header used for origin-pull. It only works when `Type=HTTP`. If it's not specified, no specific Host header is configured. The `HostHeader` specified in `RuleEngine` takes a higher priority over this configuration.
*/
@SerializedName("HostHeader")
@Expose
private String HostHeader;
/**
* Get Site ID
* @return ZoneId Site ID
*/
public String getZoneId() {
return this.ZoneId;
}
/**
* Set Site ID
* @param ZoneId Site ID
*/
public void setZoneId(String ZoneId) {
this.ZoneId = ZoneId;
}
/**
* Get (Required) Origin group ID
* @return GroupId (Required) Origin group ID
*/
public String getGroupId() {
return this.GroupId;
}
/**
* Set (Required) Origin group ID
* @param GroupId (Required) Origin group ID
*/
public void setGroupId(String GroupId) {
this.GroupId = GroupId;
}
/**
* Get Origin group name. It can contain 1 to 200 characters ([a-z], [A-Z], [0-9] and [_-]). The original configuration applies if this field is not specified.
* @return Name Origin group name. It can contain 1 to 200 characters ([a-z], [A-Z], [0-9] and [_-]). The original configuration applies if this field is not specified.
*/
public String getName() {
return this.Name;
}
/**
* Set Origin group name. It can contain 1 to 200 characters ([a-z], [A-Z], [0-9] and [_-]). The original configuration applies if this field is not specified.
* @param Name Origin group name. It can contain 1 to 200 characters ([a-z], [A-Z], [0-9] and [_-]). The original configuration applies if this field is not specified.
*/
public void setName(String Name) {
this.Name = Name;
}
/**
* Get The origin grouptype. Values:
`GENERAL`: General origin groups. It supports IPs and domain names. It can be referenced by DNS, Rule Engine, Layer 4 Proxy and General LoadBalancer.
`HTTP`: HTTP-specific origin groups. It supports IPs/domain names and object storage buckets. It can be referenced by acceleration domain names, rule engines and HTTP LoadBalancer. It cannot be referenced by L4 proxies. The original configuration is used if it's not specified.
* @return Type The origin grouptype. Values:
`GENERAL`: General origin groups. It supports IPs and domain names. It can be referenced by DNS, Rule Engine, Layer 4 Proxy and General LoadBalancer.
`HTTP`: HTTP-specific origin groups. It supports IPs/domain names and object storage buckets. It can be referenced by acceleration domain names, rule engines and HTTP LoadBalancer. It cannot be referenced by L4 proxies. The original configuration is used if it's not specified.
*/
public String getType() {
return this.Type;
}
/**
* Set The origin grouptype. Values:
`GENERAL`: General origin groups. It supports IPs and domain names. It can be referenced by DNS, Rule Engine, Layer 4 Proxy and General LoadBalancer.
`HTTP`: HTTP-specific origin groups. It supports IPs/domain names and object storage buckets. It can be referenced by acceleration domain names, rule engines and HTTP LoadBalancer. It cannot be referenced by L4 proxies. The original configuration is used if it's not specified.
* @param Type The origin grouptype. Values:
`GENERAL`: General origin groups. It supports IPs and domain names. It can be referenced by DNS, Rule Engine, Layer 4 Proxy and General LoadBalancer.
`HTTP`: HTTP-specific origin groups. It supports IPs/domain names and object storage buckets. It can be referenced by acceleration domain names, rule engines and HTTP LoadBalancer. It cannot be referenced by L4 proxies. The original configuration is used if it's not specified.
*/
public void setType(String Type) {
this.Type = Type;
}
/**
* Get Origin information. The original configuration is used if it's not specified.
* @return Records Origin information. The original configuration is used if it's not specified.
*/
public OriginRecord [] getRecords() {
return this.Records;
}
/**
* Set Origin information. The original configuration is used if it's not specified.
* @param Records Origin information. The original configuration is used if it's not specified.
*/
public void setRecords(OriginRecord [] Records) {
this.Records = Records;
}
/**
* Get Host header used for origin-pull. It only works when `Type=HTTP`. If it's not specified, no specific Host header is configured. The `HostHeader` specified in `RuleEngine` takes a higher priority over this configuration.
* @return HostHeader Host header used for origin-pull. It only works when `Type=HTTP`. If it's not specified, no specific Host header is configured. The `HostHeader` specified in `RuleEngine` takes a higher priority over this configuration.
*/
public String getHostHeader() {
return this.HostHeader;
}
/**
* Set Host header used for origin-pull. It only works when `Type=HTTP`. If it's not specified, no specific Host header is configured. The `HostHeader` specified in `RuleEngine` takes a higher priority over this configuration.
* @param HostHeader Host header used for origin-pull. It only works when `Type=HTTP`. If it's not specified, no specific Host header is configured. The `HostHeader` specified in `RuleEngine` takes a higher priority over this configuration.
*/
public void setHostHeader(String HostHeader) {
this.HostHeader = HostHeader;
}
public ModifyOriginGroupRequest() {
}
/**
* 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 ModifyOriginGroupRequest(ModifyOriginGroupRequest source) {
if (source.ZoneId != null) {
this.ZoneId = new String(source.ZoneId);
}
if (source.GroupId != null) {
this.GroupId = new String(source.GroupId);
}
if (source.Name != null) {
this.Name = new String(source.Name);
}
if (source.Type != null) {
this.Type = new String(source.Type);
}
if (source.Records != null) {
this.Records = new OriginRecord[source.Records.length];
for (int i = 0; i < source.Records.length; i++) {
this.Records[i] = new OriginRecord(source.Records[i]);
}
}
if (source.HostHeader != null) {
this.HostHeader = new String(source.HostHeader);
}
}
/**
* Internal implementation, normal users should not use it.
*/
public void toMap(HashMap map, String prefix) {
this.setParamSimple(map, prefix + "ZoneId", this.ZoneId);
this.setParamSimple(map, prefix + "GroupId", this.GroupId);
this.setParamSimple(map, prefix + "Name", this.Name);
this.setParamSimple(map, prefix + "Type", this.Type);
this.setParamArrayObj(map, prefix + "Records.", this.Records);
this.setParamSimple(map, prefix + "HostHeader", this.HostHeader);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy