/*
* 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.Bmvpc.V20180625.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class VpnConnection : AbstractModel
{
///
/// 通道实例ID。
///
[JsonProperty("VpnConnectionId")]
public string VpnConnectionId{ get; set; }
///
/// 通道名称。
///
[JsonProperty("VpnConnectionName")]
public string VpnConnectionName{ get; set; }
///
/// VPC实例ID。
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// VPN网关实例ID。
///
[JsonProperty("VpnGatewayId")]
public string VpnGatewayId{ get; set; }
///
/// 对端网关实例ID。
///
[JsonProperty("CustomerGatewayId")]
public string CustomerGatewayId{ get; set; }
///
/// 预共享密钥。
///
[JsonProperty("PreShareKey")]
public string PreShareKey{ get; set; }
///
/// 通道传输协议。
///
[JsonProperty("VpnProto")]
public string VpnProto{ get; set; }
///
/// 创建时间。
///
[JsonProperty("CreateTime")]
public string CreateTime{ get; set; }
///
/// 通道的生产状态
///
[JsonProperty("State")]
public string State{ get; set; }
///
/// 通道连接状态
///
[JsonProperty("NetStatus")]
public string NetStatus{ get; set; }
///
/// SPD。
///
[JsonProperty("SecurityPolicyDatabaseSet")]
public SecurityPolicyDatabase[] SecurityPolicyDatabaseSet{ get; set; }
///
/// IKE选项。
///
[JsonProperty("IKEOptionsSpecification")]
public IKEOptionsSpecification IKEOptionsSpecification{ get; set; }
///
/// IPSEC选项。
///
[JsonProperty("IPSECOptionsSpecification")]
public IPSECOptionsSpecification IPSECOptionsSpecification{ get; set; }
///
/// 可用区
///
[JsonProperty("Zone")]
public string Zone{ get; set; }
///
/// VPC网段
///
[JsonProperty("VpcCidrBlock")]
public string VpcCidrBlock{ get; set; }
///
/// VPC名称
///
[JsonProperty("VpcName")]
public string VpcName{ get; set; }
///
/// VPN网关名称
///
[JsonProperty("VpnGatewayName")]
public string VpnGatewayName{ get; set; }
///
/// 对端网关名称
///
[JsonProperty("CustomerGatewayName")]
public string CustomerGatewayName{ get; set; }
///
/// IPSEC VPN通道路由策略目的端地址
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("DestinationCidr")]
public string[] DestinationCidr{ get; set; }
///
/// IPSEC VPN通道路由策略源端地址
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("SourceCidr")]
public string[] SourceCidr{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "VpnConnectionId", this.VpnConnectionId);
this.SetParamSimple(map, prefix + "VpnConnectionName", this.VpnConnectionName);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamSimple(map, prefix + "VpnGatewayId", this.VpnGatewayId);
this.SetParamSimple(map, prefix + "CustomerGatewayId", this.CustomerGatewayId);
this.SetParamSimple(map, prefix + "PreShareKey", this.PreShareKey);
this.SetParamSimple(map, prefix + "VpnProto", this.VpnProto);
this.SetParamSimple(map, prefix + "CreateTime", this.CreateTime);
this.SetParamSimple(map, prefix + "State", this.State);
this.SetParamSimple(map, prefix + "NetStatus", this.NetStatus);
this.SetParamArrayObj(map, prefix + "SecurityPolicyDatabaseSet.", this.SecurityPolicyDatabaseSet);
this.SetParamObj(map, prefix + "IKEOptionsSpecification.", this.IKEOptionsSpecification);
this.SetParamObj(map, prefix + "IPSECOptionsSpecification.", this.IPSECOptionsSpecification);
this.SetParamSimple(map, prefix + "Zone", this.Zone);
this.SetParamSimple(map, prefix + "VpcCidrBlock", this.VpcCidrBlock);
this.SetParamSimple(map, prefix + "VpcName", this.VpcName);
this.SetParamSimple(map, prefix + "VpnGatewayName", this.VpnGatewayName);
this.SetParamSimple(map, prefix + "CustomerGatewayName", this.CustomerGatewayName);
this.SetParamArraySimple(map, prefix + "DestinationCidr.", this.DestinationCidr);
this.SetParamArraySimple(map, prefix + "SourceCidr.", this.SourceCidr);
}
}
}