/*
* Copyright (c) 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.
*/
namespace TencentCloud.Vpc.V20170312.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class VpnGateway : AbstractModel
{
///
/// 网关实例ID。
///
[JsonProperty("VpnGatewayId")]
public string VpnGatewayId{ get; set; }
///
/// VPC实例ID。
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// 网关实例名称。
///
[JsonProperty("VpnGatewayName")]
public string VpnGatewayName{ get; set; }
///
/// 网关实例类型:'IPSEC', 'SSL','CCN'。
///
[JsonProperty("Type")]
public string Type{ get; set; }
///
/// 网关实例状态, 'PENDING':生产中,'DELETING':删除中,'AVAILABLE':运行中。
///
[JsonProperty("State")]
public string State{ get; set; }
///
/// 网关公网IP。
///
[JsonProperty("PublicIpAddress")]
public string PublicIpAddress{ get; set; }
///
/// 网关续费类型:'NOTIFY_AND_MANUAL_RENEW':手动续费,'NOTIFY_AND_AUTO_RENEW':自动续费,'NOT_NOTIFY_AND_NOT_RENEW':到期不续费。
///
[JsonProperty("RenewFlag")]
public string RenewFlag{ get; set; }
///
/// 网关付费类型:POSTPAID_BY_HOUR:按小时后付费,PREPAID:包年包月预付费,
///
[JsonProperty("InstanceChargeType")]
public string InstanceChargeType{ get; set; }
///
/// 网关出带宽。
///
[JsonProperty("InternetMaxBandwidthOut")]
public ulong? InternetMaxBandwidthOut{ get; set; }
///
/// 创建时间。
///
[JsonProperty("CreatedTime")]
public string CreatedTime{ get; set; }
///
/// 预付费网关过期时间。
///
[JsonProperty("ExpiredTime")]
public string ExpiredTime{ get; set; }
///
/// 公网IP是否被封堵。
///
[JsonProperty("IsAddressBlocked")]
public bool? IsAddressBlocked{ get; set; }
///
/// 计费模式变更,PREPAID_TO_POSTPAID:包年包月预付费到期转按小时后付费。
///
[JsonProperty("NewPurchasePlan")]
public string NewPurchasePlan{ get; set; }
///
/// 网关计费装,PROTECTIVELY_ISOLATED:被安全隔离的实例,NORMAL:正常。
///
[JsonProperty("RestrictState")]
public string RestrictState{ get; set; }
///
/// 可用区,如:ap-guangzhou-2
///
[JsonProperty("Zone")]
public string Zone{ get; set; }
///
/// 网关带宽配额信息
///
[JsonProperty("VpnGatewayQuotaSet")]
public VpnGatewayQuota[] VpnGatewayQuotaSet{ get; set; }
///
/// 网关实例版本信息
///
[JsonProperty("Version")]
public string Version{ get; set; }
///
/// Type值为CCN时,该值表示云联网实例ID
///
[JsonProperty("NetworkInstanceId")]
public string NetworkInstanceId{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "VpnGatewayId", this.VpnGatewayId);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamSimple(map, prefix + "VpnGatewayName", this.VpnGatewayName);
this.SetParamSimple(map, prefix + "Type", this.Type);
this.SetParamSimple(map, prefix + "State", this.State);
this.SetParamSimple(map, prefix + "PublicIpAddress", this.PublicIpAddress);
this.SetParamSimple(map, prefix + "RenewFlag", this.RenewFlag);
this.SetParamSimple(map, prefix + "InstanceChargeType", this.InstanceChargeType);
this.SetParamSimple(map, prefix + "InternetMaxBandwidthOut", this.InternetMaxBandwidthOut);
this.SetParamSimple(map, prefix + "CreatedTime", this.CreatedTime);
this.SetParamSimple(map, prefix + "ExpiredTime", this.ExpiredTime);
this.SetParamSimple(map, prefix + "IsAddressBlocked", this.IsAddressBlocked);
this.SetParamSimple(map, prefix + "NewPurchasePlan", this.NewPurchasePlan);
this.SetParamSimple(map, prefix + "RestrictState", this.RestrictState);
this.SetParamSimple(map, prefix + "Zone", this.Zone);
this.SetParamArrayObj(map, prefix + "VpnGatewayQuotaSet.", this.VpnGatewayQuotaSet);
this.SetParamSimple(map, prefix + "Version", this.Version);
this.SetParamSimple(map, prefix + "NetworkInstanceId", this.NetworkInstanceId);
}
}
}