vpc-20160428/core/Models/CreateRouteEntryRequest.cs (59 lines of code) (raw):
// This file is auto-generated, don't edit it. Thanks.
using System;
using System.Collections.Generic;
using System.IO;
using Tea;
namespace AlibabaCloud.SDK.Vpc20160428.Models
{
public class CreateRouteEntryRequest : TeaModel {
/// <summary>
/// <para>The client token that is used to ensure the idempotence of the request.</para>
/// <para>You can use the client to generate the value, but you must make sure that the value is unique among different requests. The ClientToken value can contain only ASCII characters.</para>
/// <remarks>
/// <para> If you do not specify this parameter, <b>ClientToken</b> is set to the value of <b>RequestId</b>. The value of <b>RequestId</b> for each API request may be different.</para>
/// </remarks>
///
/// <b>Example:</b>
/// <para>02fb3da4-130e-11e9-8e44-001****</para>
/// </summary>
[NameInMap("ClientToken")]
[Validation(Required=false)]
public string ClientToken { get; set; }
/// <summary>
/// <para>The description of the custom route entry.</para>
/// <para>The description must be 1 to 256 characters in length, and cannot start with <c>http://</c> or <c>https://</c>.</para>
///
/// <b>Example:</b>
/// <para>test</para>
/// </summary>
[NameInMap("Description")]
[Validation(Required=false)]
public string Description { get; set; }
/// <summary>
/// <para>The destination CIDR block of the custom route entry. Both IPv4 and IPv6 CIDR blocks are supported. Make sure that the destination CIDR block meets the following requirements:</para>
/// <list type="bullet">
/// <item><description>The destination CIDR block is not 100.64.0.0/10 or a subset of 100.64.0.0/10.</description></item>
/// <item><description>The destination CIDR block of the custom route entry is different from the destination CIDR blocks of other route entries in the same route table.</description></item>
/// </list>
/// <para>This parameter is required.</para>
///
/// <b>Example:</b>
/// <para>192.168.0.0/24</para>
/// </summary>
[NameInMap("DestinationCidrBlock")]
[Validation(Required=false)]
public string DestinationCidrBlock { get; set; }
/// <summary>
/// <para>The ID of the next hop.</para>
///
/// <b>Example:</b>
/// <para>i-j6c2fp57q8rr4jlu****</para>
/// </summary>
[NameInMap("NextHopId")]
[Validation(Required=false)]
public string NextHopId { get; set; }
/// <summary>
/// <para>The next hop list.</para>
/// </summary>
[NameInMap("NextHopList")]
[Validation(Required=false)]
public List<CreateRouteEntryRequestNextHopList> NextHopList { get; set; }
public class CreateRouteEntryRequestNextHopList : TeaModel {
/// <summary>
/// <para>The ID of the next hop of the ECMP route.</para>
///
/// <b>Example:</b>
/// <para>ri-2zeo3xzyf3cd8r4****</para>
/// </summary>
[NameInMap("NextHopId")]
[Validation(Required=false)]
public string NextHopId { get; set; }
/// <summary>
/// <para>The type of next hop of the ECMP route entry. Set the value to <b>RouterInterface</b>.</para>
///
/// <b>Example:</b>
/// <para>RouterInterface</para>
/// </summary>
[NameInMap("NextHopType")]
[Validation(Required=false)]
public string NextHopType { get; set; }
/// <summary>
/// <para>The weight of the next hop of the ECMP route entry.</para>
///
/// <b>Example:</b>
/// <para>10</para>
/// </summary>
[NameInMap("Weight")]
[Validation(Required=false)]
public int? Weight { get; set; }
}
/// <summary>
/// <para>The type of next hop of the custom route entry. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>Instance</b>: an Elastic Compute Service (ECS) instance. This is the default value.</description></item>
/// <item><description><b>HaVip</b>: a high-availability virtual IP address (HAVIP).</description></item>
/// <item><description><b>RouterInterface</b>: a router interface.</description></item>
/// <item><description><b>NetworkInterface</b>: an elastic network interface (ENI).</description></item>
/// <item><description><b>VpnGateway</b>: a VPN gateway.</description></item>
/// <item><description><b>IPv6Gateway</b>: an IPv6 gateway.</description></item>
/// <item><description><b>NatGateway</b>: a NAT gateway.</description></item>
/// <item><description><b>Attachment</b>: a transit router.</description></item>
/// <item><description><b>VpcPeer</b>: a VPC peering connection.</description></item>
/// <item><description><b>Ipv4Gateway</b>: an IPv4 gateway.</description></item>
/// <item><description><b>GatewayEndpoint</b>: a gateway endpoint.</description></item>
/// <item><description><b>Ecr</b>: an Express Connect Router (ECR).</description></item>
/// </list>
///
/// <b>Example:</b>
/// <para>RouterInterface</para>
/// </summary>
[NameInMap("NextHopType")]
[Validation(Required=false)]
public string NextHopType { get; set; }
[NameInMap("OwnerAccount")]
[Validation(Required=false)]
public string OwnerAccount { get; set; }
[NameInMap("OwnerId")]
[Validation(Required=false)]
public long? OwnerId { get; set; }
/// <summary>
/// <para>The region ID of the route table.</para>
/// <para>You can call the <a href="https://help.aliyun.com/document_detail/36063.html">DescribeRegions</a> operation to query the most recent region list.</para>
///
/// <b>Example:</b>
/// <para>cn-hangzhou</para>
/// </summary>
[NameInMap("RegionId")]
[Validation(Required=false)]
public string RegionId { get; set; }
[NameInMap("ResourceOwnerAccount")]
[Validation(Required=false)]
public string ResourceOwnerAccount { get; set; }
[NameInMap("ResourceOwnerId")]
[Validation(Required=false)]
public long? ResourceOwnerId { get; set; }
/// <summary>
/// <para>The name of the custom route entry that you want to add.</para>
/// <para>The name must be 1 to 128 characters in length, and cannot start with <c>http://</c> or <c>https://</c>.</para>
///
/// <b>Example:</b>
/// <para>test</para>
/// </summary>
[NameInMap("RouteEntryName")]
[Validation(Required=false)]
public string RouteEntryName { get; set; }
/// <summary>
/// <para>The ID of the route table to which you want to add a custom route entry.</para>
/// <para>This parameter is required.</para>
///
/// <b>Example:</b>
/// <para>vtb-bp145q7glnuzd****</para>
/// </summary>
[NameInMap("RouteTableId")]
[Validation(Required=false)]
public string RouteTableId { get; set; }
}
}