All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.tencentcloudapi.teo.v20220901.models.ApplicationProxy Maven / Gradle / Ivy

There is a newer version: 3.0.1076
Show newest version
/*
 * 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 ApplicationProxy extends AbstractModel {

    /**
    * The site ID.
    */
    @SerializedName("ZoneId")
    @Expose
    private String ZoneId;

    /**
    * The site name.
    */
    @SerializedName("ZoneName")
    @Expose
    private String ZoneName;

    /**
    * The proxy ID.
    */
    @SerializedName("ProxyId")
    @Expose
    private String ProxyId;

    /**
    * The domain name or subdomain name when `ProxyType=hostname`.
The instance name when `ProxyType=instance`.
    */
    @SerializedName("ProxyName")
    @Expose
    private String ProxyName;

    /**
    * The proxy type. Values:
  • `hostname`: The proxy is created by subdomain name.
  • `instance`: The proxy is created by instance.
  • */ @SerializedName("ProxyType") @Expose private String ProxyType; /** * The scheduling mode. Values:
  • `ip`: Schedule via Anycast IP.
  • `domain`: Schedule via CNAME.
  • */ @SerializedName("PlatType") @Expose private String PlatType; /** * Acceleration region. Values:
  • `mainland`: Chinese mainland.
  • `overseas`: Global (outside the Chinese mainland);
  • Default value: overseas. */ @SerializedName("Area") @Expose private String Area; /** * Whether to enable security protection. Values:
  • `0`: Disable security protection.
  • `1`: Enable security protection.
  • */ @SerializedName("SecurityType") @Expose private Long SecurityType; /** * Whether to enable acceleration. Values:
  • `0`: Disable acceleration.
  • `1`: Enable acceleration.
  • */ @SerializedName("AccelerateType") @Expose private Long AccelerateType; /** * The session persistence duration. */ @SerializedName("SessionPersistTime") @Expose private Long SessionPersistTime; /** * The rule status. Values:
  • `online`: Enabled
  • `offline`: Disabled
  • `progress`: Deploying
  • `stopping`: Disabling
  • `fail`: Failed to deploy or disable
  • */ @SerializedName("Status") @Expose private String Status; /** * The blocking status of the proxy. Values:
  • `banned`: Blocked
  • `banning`: Blocking
  • `recover`: Unblocked
  • `recovering`: Unblocking
  • */ @SerializedName("BanStatus") @Expose private String BanStatus; /** * Scheduling information. */ @SerializedName("ScheduleValue") @Expose private String [] ScheduleValue; /** * When `ProxyType=hostname`: This field indicates the unique ID of the subdomain name. */ @SerializedName("HostId") @Expose private String HostId; /** * The IPv6 access configuration. */ @SerializedName("Ipv6") @Expose private Ipv6 Ipv6; /** * The update time. */ @SerializedName("UpdateTime") @Expose private String UpdateTime; /** * List of rules. */ @SerializedName("ApplicationProxyRules") @Expose private ApplicationProxyRule [] ApplicationProxyRules; /** * Cross-MLC-border acceleration. */ @SerializedName("AccelerateMainland") @Expose private AccelerateMainland AccelerateMainland; /** * Get The site ID. * @return ZoneId The site ID. */ public String getZoneId() { return this.ZoneId; } /** * Set The site ID. * @param ZoneId The site ID. */ public void setZoneId(String ZoneId) { this.ZoneId = ZoneId; } /** * Get The site name. * @return ZoneName The site name. */ public String getZoneName() { return this.ZoneName; } /** * Set The site name. * @param ZoneName The site name. */ public void setZoneName(String ZoneName) { this.ZoneName = ZoneName; } /** * Get The proxy ID. * @return ProxyId The proxy ID. */ public String getProxyId() { return this.ProxyId; } /** * Set The proxy ID. * @param ProxyId The proxy ID. */ public void setProxyId(String ProxyId) { this.ProxyId = ProxyId; } /** * Get The domain name or subdomain name when `ProxyType=hostname`. The instance name when `ProxyType=instance`. * @return ProxyName The domain name or subdomain name when `ProxyType=hostname`. The instance name when `ProxyType=instance`. */ public String getProxyName() { return this.ProxyName; } /** * Set The domain name or subdomain name when `ProxyType=hostname`. The instance name when `ProxyType=instance`. * @param ProxyName The domain name or subdomain name when `ProxyType=hostname`. The instance name when `ProxyType=instance`. */ public void setProxyName(String ProxyName) { this.ProxyName = ProxyName; } /** * Get The proxy type. Values:
  • `hostname`: The proxy is created by subdomain name.
  • `instance`: The proxy is created by instance.
  • * @return ProxyType The proxy type. Values:
  • `hostname`: The proxy is created by subdomain name.
  • `instance`: The proxy is created by instance.
  • */ public String getProxyType() { return this.ProxyType; } /** * Set The proxy type. Values:
  • `hostname`: The proxy is created by subdomain name.
  • `instance`: The proxy is created by instance.
  • * @param ProxyType The proxy type. Values:
  • `hostname`: The proxy is created by subdomain name.
  • `instance`: The proxy is created by instance.
  • */ public void setProxyType(String ProxyType) { this.ProxyType = ProxyType; } /** * Get The scheduling mode. Values:
  • `ip`: Schedule via Anycast IP.
  • `domain`: Schedule via CNAME.
  • * @return PlatType The scheduling mode. Values:
  • `ip`: Schedule via Anycast IP.
  • `domain`: Schedule via CNAME.
  • */ public String getPlatType() { return this.PlatType; } /** * Set The scheduling mode. Values:
  • `ip`: Schedule via Anycast IP.
  • `domain`: Schedule via CNAME.
  • * @param PlatType The scheduling mode. Values:
  • `ip`: Schedule via Anycast IP.
  • `domain`: Schedule via CNAME.
  • */ public void setPlatType(String PlatType) { this.PlatType = PlatType; } /** * Get Acceleration region. Values:
  • `mainland`: Chinese mainland.
  • `overseas`: Global (outside the Chinese mainland);
  • Default value: overseas. * @return Area Acceleration region. Values:
  • `mainland`: Chinese mainland.
  • `overseas`: Global (outside the Chinese mainland);
  • Default value: overseas. */ public String getArea() { return this.Area; } /** * Set Acceleration region. Values:
  • `mainland`: Chinese mainland.
  • `overseas`: Global (outside the Chinese mainland);
  • Default value: overseas. * @param Area Acceleration region. Values:
  • `mainland`: Chinese mainland.
  • `overseas`: Global (outside the Chinese mainland);
  • Default value: overseas. */ public void setArea(String Area) { this.Area = Area; } /** * Get Whether to enable security protection. Values:
  • `0`: Disable security protection.
  • `1`: Enable security protection.
  • * @return SecurityType Whether to enable security protection. Values:
  • `0`: Disable security protection.
  • `1`: Enable security protection.
  • */ public Long getSecurityType() { return this.SecurityType; } /** * Set Whether to enable security protection. Values:
  • `0`: Disable security protection.
  • `1`: Enable security protection.
  • * @param SecurityType Whether to enable security protection. Values:
  • `0`: Disable security protection.
  • `1`: Enable security protection.
  • */ public void setSecurityType(Long SecurityType) { this.SecurityType = SecurityType; } /** * Get Whether to enable acceleration. Values:
  • `0`: Disable acceleration.
  • `1`: Enable acceleration.
  • * @return AccelerateType Whether to enable acceleration. Values:
  • `0`: Disable acceleration.
  • `1`: Enable acceleration.
  • */ public Long getAccelerateType() { return this.AccelerateType; } /** * Set Whether to enable acceleration. Values:
  • `0`: Disable acceleration.
  • `1`: Enable acceleration.
  • * @param AccelerateType Whether to enable acceleration. Values:
  • `0`: Disable acceleration.
  • `1`: Enable acceleration.
  • */ public void setAccelerateType(Long AccelerateType) { this.AccelerateType = AccelerateType; } /** * Get The session persistence duration. * @return SessionPersistTime The session persistence duration. */ public Long getSessionPersistTime() { return this.SessionPersistTime; } /** * Set The session persistence duration. * @param SessionPersistTime The session persistence duration. */ public void setSessionPersistTime(Long SessionPersistTime) { this.SessionPersistTime = SessionPersistTime; } /** * Get The rule status. Values:
  • `online`: Enabled
  • `offline`: Disabled
  • `progress`: Deploying
  • `stopping`: Disabling
  • `fail`: Failed to deploy or disable
  • * @return Status The rule status. Values:
  • `online`: Enabled
  • `offline`: Disabled
  • `progress`: Deploying
  • `stopping`: Disabling
  • `fail`: Failed to deploy or disable
  • */ public String getStatus() { return this.Status; } /** * Set The rule status. Values:
  • `online`: Enabled
  • `offline`: Disabled
  • `progress`: Deploying
  • `stopping`: Disabling
  • `fail`: Failed to deploy or disable
  • * @param Status The rule status. Values:
  • `online`: Enabled
  • `offline`: Disabled
  • `progress`: Deploying
  • `stopping`: Disabling
  • `fail`: Failed to deploy or disable
  • */ public void setStatus(String Status) { this.Status = Status; } /** * Get The blocking status of the proxy. Values:
  • `banned`: Blocked
  • `banning`: Blocking
  • `recover`: Unblocked
  • `recovering`: Unblocking
  • * @return BanStatus The blocking status of the proxy. Values:
  • `banned`: Blocked
  • `banning`: Blocking
  • `recover`: Unblocked
  • `recovering`: Unblocking
  • */ public String getBanStatus() { return this.BanStatus; } /** * Set The blocking status of the proxy. Values:
  • `banned`: Blocked
  • `banning`: Blocking
  • `recover`: Unblocked
  • `recovering`: Unblocking
  • * @param BanStatus The blocking status of the proxy. Values:
  • `banned`: Blocked
  • `banning`: Blocking
  • `recover`: Unblocked
  • `recovering`: Unblocking
  • */ public void setBanStatus(String BanStatus) { this.BanStatus = BanStatus; } /** * Get Scheduling information. * @return ScheduleValue Scheduling information. */ public String [] getScheduleValue() { return this.ScheduleValue; } /** * Set Scheduling information. * @param ScheduleValue Scheduling information. */ public void setScheduleValue(String [] ScheduleValue) { this.ScheduleValue = ScheduleValue; } /** * Get When `ProxyType=hostname`: This field indicates the unique ID of the subdomain name. * @return HostId When `ProxyType=hostname`: This field indicates the unique ID of the subdomain name. */ public String getHostId() { return this.HostId; } /** * Set When `ProxyType=hostname`: This field indicates the unique ID of the subdomain name. * @param HostId When `ProxyType=hostname`: This field indicates the unique ID of the subdomain name. */ public void setHostId(String HostId) { this.HostId = HostId; } /** * Get The IPv6 access configuration. * @return Ipv6 The IPv6 access configuration. */ public Ipv6 getIpv6() { return this.Ipv6; } /** * Set The IPv6 access configuration. * @param Ipv6 The IPv6 access configuration. */ public void setIpv6(Ipv6 Ipv6) { this.Ipv6 = Ipv6; } /** * Get The update time. * @return UpdateTime The update time. */ public String getUpdateTime() { return this.UpdateTime; } /** * Set The update time. * @param UpdateTime The update time. */ public void setUpdateTime(String UpdateTime) { this.UpdateTime = UpdateTime; } /** * Get List of rules. * @return ApplicationProxyRules List of rules. */ public ApplicationProxyRule [] getApplicationProxyRules() { return this.ApplicationProxyRules; } /** * Set List of rules. * @param ApplicationProxyRules List of rules. */ public void setApplicationProxyRules(ApplicationProxyRule [] ApplicationProxyRules) { this.ApplicationProxyRules = ApplicationProxyRules; } /** * Get Cross-MLC-border acceleration. * @return AccelerateMainland Cross-MLC-border acceleration. */ public AccelerateMainland getAccelerateMainland() { return this.AccelerateMainland; } /** * Set Cross-MLC-border acceleration. * @param AccelerateMainland Cross-MLC-border acceleration. */ public void setAccelerateMainland(AccelerateMainland AccelerateMainland) { this.AccelerateMainland = AccelerateMainland; } public ApplicationProxy() { } /** * 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 ApplicationProxy(ApplicationProxy source) { if (source.ZoneId != null) { this.ZoneId = new String(source.ZoneId); } if (source.ZoneName != null) { this.ZoneName = new String(source.ZoneName); } if (source.ProxyId != null) { this.ProxyId = new String(source.ProxyId); } if (source.ProxyName != null) { this.ProxyName = new String(source.ProxyName); } if (source.ProxyType != null) { this.ProxyType = new String(source.ProxyType); } if (source.PlatType != null) { this.PlatType = new String(source.PlatType); } if (source.Area != null) { this.Area = new String(source.Area); } if (source.SecurityType != null) { this.SecurityType = new Long(source.SecurityType); } if (source.AccelerateType != null) { this.AccelerateType = new Long(source.AccelerateType); } if (source.SessionPersistTime != null) { this.SessionPersistTime = new Long(source.SessionPersistTime); } if (source.Status != null) { this.Status = new String(source.Status); } if (source.BanStatus != null) { this.BanStatus = new String(source.BanStatus); } if (source.ScheduleValue != null) { this.ScheduleValue = new String[source.ScheduleValue.length]; for (int i = 0; i < source.ScheduleValue.length; i++) { this.ScheduleValue[i] = new String(source.ScheduleValue[i]); } } if (source.HostId != null) { this.HostId = new String(source.HostId); } if (source.Ipv6 != null) { this.Ipv6 = new Ipv6(source.Ipv6); } if (source.UpdateTime != null) { this.UpdateTime = new String(source.UpdateTime); } if (source.ApplicationProxyRules != null) { this.ApplicationProxyRules = new ApplicationProxyRule[source.ApplicationProxyRules.length]; for (int i = 0; i < source.ApplicationProxyRules.length; i++) { this.ApplicationProxyRules[i] = new ApplicationProxyRule(source.ApplicationProxyRules[i]); } } if (source.AccelerateMainland != null) { this.AccelerateMainland = new AccelerateMainland(source.AccelerateMainland); } } /** * 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 + "ZoneName", this.ZoneName); this.setParamSimple(map, prefix + "ProxyId", this.ProxyId); this.setParamSimple(map, prefix + "ProxyName", this.ProxyName); this.setParamSimple(map, prefix + "ProxyType", this.ProxyType); this.setParamSimple(map, prefix + "PlatType", this.PlatType); this.setParamSimple(map, prefix + "Area", this.Area); this.setParamSimple(map, prefix + "SecurityType", this.SecurityType); this.setParamSimple(map, prefix + "AccelerateType", this.AccelerateType); this.setParamSimple(map, prefix + "SessionPersistTime", this.SessionPersistTime); this.setParamSimple(map, prefix + "Status", this.Status); this.setParamSimple(map, prefix + "BanStatus", this.BanStatus); this.setParamArraySimple(map, prefix + "ScheduleValue.", this.ScheduleValue); this.setParamSimple(map, prefix + "HostId", this.HostId); this.setParamObj(map, prefix + "Ipv6.", this.Ipv6); this.setParamSimple(map, prefix + "UpdateTime", this.UpdateTime); this.setParamArrayObj(map, prefix + "ApplicationProxyRules.", this.ApplicationProxyRules); this.setParamObj(map, prefix + "AccelerateMainland.", this.AccelerateMainland); } }




    © 2015 - 2025 Weber Informatics LLC | Privacy Policy