vpc-20160428/core/Models/AllocateEipAddressRequest.cs (89 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 AllocateEipAddressRequest : TeaModel {
/// <summary>
/// <para>The promotion code. This parameter is not required.</para>
///
/// <b>Example:</b>
/// <para>123456</para>
/// </summary>
[NameInMap("ActivityId")]
[Validation(Required=false)]
public long? ActivityId { get; set; }
/// <summary>
/// <para>Specifies whether to enable automatic payment. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>false</b> (default): The automatic payment is disabled. If you select this option, you must go to the Order Center to complete the payment after an order is generated.</description></item>
/// <item><description><b>true</b>: The automatic payment is enabled. Payments are automatically complete after an order is generated.</description></item>
/// </list>
/// <para>If <b>InstanceChargeType</b> is set to <b>PrePaid</b>, this parameter is required. If <b>InstanceChargeType</b> is set to <b>PostPaid</b>, this parameter is not required.</para>
///
/// <b>Example:</b>
/// <para>false</para>
/// </summary>
[NameInMap("AutoPay")]
[Validation(Required=false)]
public bool? AutoPay { get; set; }
/// <summary>
/// <para>The maximum bandwidth of the EIP. Unit: Mbit/s.</para>
/// <list type="bullet">
/// <item><description>Valid values when <b>InstanceChargeType</b> is set to <b>PostPaid</b> and <b>InternetChargeType</b> is set to <b>PayByBandwidth</b>: <b>1</b> to <b>500</b>.****</description></item>
/// <item><description>Valid values when <b>InstanceChargeType</b> is set to <b>PostPaid</b> and <b>InternetChargeType</b> is set to <b>PayByTraffic</b>: <b>1</b> to <b>200</b>.****</description></item>
/// <item><description>Valid values when <b>InstanceChargeType</b> is set to <b>PrePaid</b>: <b>1</b> to <b>1000</b>.****</description></item>
/// </list>
/// <para>Default value: <b>5</b>. Unit: Mbit/s.</para>
///
/// <b>Example:</b>
/// <para>5</para>
/// </summary>
[NameInMap("Bandwidth")]
[Validation(Required=false)]
public string Bandwidth { get; set; }
/// <summary>
/// <para>The client token that is used to ensure the idempotence of the request.</para>
/// <para>You can use the client to generate a token, but you must make sure that the token is unique among different requests. The <b>client token</b> can contain only ASCII characters.</para>
/// <remarks>
/// <para> If you do not specify this parameter, the system automatically uses the value of <b>RequestId</b> as the <b>client token</b>. The value of <b>RequestId</b> is different for each API request.</para>
/// </remarks>
///
/// <b>Example:</b>
/// <para>0c593ea1-3bea-11e9-b96b-88e9fe637760</para>
/// </summary>
[NameInMap("ClientToken")]
[Validation(Required=false)]
public string ClientToken { get; set; }
/// <summary>
/// <para>The description of the EIP.</para>
/// <para>The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with <c>http://</c> or <c>https://</c>.</para>
/// <remarks>
/// <para> You cannot specify this parameter if you create a subscription EIP.</para>
/// </remarks>
///
/// <b>Example:</b>
/// <para>test</para>
/// </summary>
[NameInMap("Description")]
[Validation(Required=false)]
public string Description { get; set; }
/// <summary>
/// <para>The line type. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>BGP</b> (default): BGP (Multi-ISP) All regions support BGP (Multi-ISP) EIPs.</description></item>
/// <item><description><b>BGP_PRO</b>: BGP (Multi-ISP) Pro Only the following regions support BGP (Multi-ISP) Pro lines: China (Hong Kong), Singapore, Japan (Tokyo), Malaysia (Kuala Lumpur), Philippines (Manila), Indonesia (Jakarta), and Thailand (Bangkok).</description></item>
/// </list>
/// <para>For more information about BGP (Multi-ISP) and BGP (Multi-ISP) Pro, see the "Line types" section of <a href="https://help.aliyun.com/document_detail/32321.html">What is EIP?</a></para>
/// <list type="bullet">
/// <item><description><para>If you are allowed to use single-ISP bandwidth, you can also choose one of the following values:</para>
/// <list type="bullet">
/// <item><description><b>ChinaTelecom</b></description></item>
/// <item><description><b>ChinaUnicom</b></description></item>
/// <item><description><b>ChinaMobile</b></description></item>
/// <item><description><b>ChinaTelecom_L2</b></description></item>
/// <item><description><b>ChinaUnicom_L2</b></description></item>
/// <item><description><b>ChinaMobile_L2</b></description></item>
/// </list>
/// </description></item>
/// <item><description><para>If your services are deployed in China East 1 Finance, this parameter is required and you must set the value to <b>BGP_FinanceCloud</b>.</para>
/// </description></item>
/// </list>
///
/// <b>Example:</b>
/// <para>BGP</para>
/// </summary>
[NameInMap("ISP")]
[Validation(Required=false)]
public string ISP { get; set; }
/// <summary>
/// <para>The billing method of the EIP. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>PrePaid</b>: subscription</description></item>
/// <item><description><b>PostPaid</b> (default): pay-as-you-go</description></item>
/// </list>
/// <para>If <b>InstanceChargeType</b> is set to <b>PrePaid</b>, set <b>InternetChargeType</b> to <b>PayByBandwidth</b>. If <b>InstanceChargeType</b> is set to <b>PostPaid</b>, set <b>InternetChargeType</b> to <b>PayByBandwidth</b> or <b>PayByTraffic</b>.</para>
///
/// <b>Example:</b>
/// <para>PostPaid</para>
/// </summary>
[NameInMap("InstanceChargeType")]
[Validation(Required=false)]
public string InstanceChargeType { get; set; }
/// <summary>
/// <para>The EIP ID.</para>
/// <para>Specify <b>IpAddress</b> or <b>InstanceId</b>. If you leave both parameters empty, the system randomly allocates an EIP.</para>
///
/// <b>Example:</b>
/// <para>eip-25877c70gddh****</para>
/// </summary>
[NameInMap("InstanceId")]
[Validation(Required=false)]
public string InstanceId { get; set; }
/// <summary>
/// <para>The metering method of the EIP. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>PayByBandwidth</b> (default): pay-by-bandwidth</description></item>
/// <item><description><b>PayByTraffic</b>: pay-by-data-transfer</description></item>
/// </list>
/// <para>When <b>InstanceChargeType</b> is set to <b>PrePaid</b>, set <b>InternetChargeType</b> to <b>PayByBandwidth</b>.</para>
/// <para>When <b>InstanceChargeType</b> is set to <b>PostPaid</b>, set <b>InternetChargeType</b> to <b>PayByBandwidth</b> or <b>PayByTraffic</b>.</para>
///
/// <b>Example:</b>
/// <para>PayByTraffic</para>
/// </summary>
[NameInMap("InternetChargeType")]
[Validation(Required=false)]
public string InternetChargeType { get; set; }
/// <summary>
/// <para>The IP address of the EIP that you want to request.</para>
/// <para>Specify <b>IpAddress</b> or <b>InstanceId</b>. If you leave both parameters empty, the system randomly allocates an EIP.</para>
///
/// <b>Example:</b>
/// <para>192.0.XX.XX</para>
/// </summary>
[NameInMap("IpAddress")]
[Validation(Required=false)]
public string IpAddress { get; set; }
/// <summary>
/// <para>The EIP name.</para>
/// <para>The name must be 1 to 128 characters in length and start with a letter, and can contain letters, digits, periods (.), underscores (_), and hyphens (-).</para>
/// <remarks>
/// <para> You cannot specify this parameter if you create a subscription EIP.</para>
/// </remarks>
///
/// <b>Example:</b>
/// <para>EIP1</para>
/// </summary>
[NameInMap("Name")]
[Validation(Required=false)]
public string Name { get; set; }
/// <summary>
/// <para>The network type. Default value: <b>public</b>.</para>
///
/// <b>Example:</b>
/// <para>public</para>
/// </summary>
[NameInMap("Netmode")]
[Validation(Required=false)]
public string Netmode { 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 subscription duration of the EIP.</para>
/// <para>Valid values when <b>PricingCycle</b> is set to <b>Month</b>: <b>1</b> to <b>9</b>.****</para>
/// <para>Valid values when <b>PricingCycle</b> is set to <b>Year</b>: <b>1</b> to <b>5</b>.****</para>
/// <para>This parameter must be specified when <b>InstanceChargeType</b> is set to <b>PrePaid</b>. This parameter is optional when <b>InstanceChargeType</b> is set to <b>PostPaid</b>.</para>
///
/// <b>Example:</b>
/// <para>1</para>
/// </summary>
[NameInMap("Period")]
[Validation(Required=false)]
public int? Period { get; set; }
/// <summary>
/// <para>The billing cycle of the subscription EIP. Valid values:</para>
/// <list type="bullet">
/// <item><description><b>Month</b> (default)</description></item>
/// <item><description><b>Year</b></description></item>
/// </list>
/// <para>If <b>InstanceChargeType</b> is set to <b>PrePaid</b>, this parameter is required. If <b>InstanceChargeType</b> is set to <b>PostPaid</b>, this parameter is not required.</para>
///
/// <b>Example:</b>
/// <para>Month</para>
/// </summary>
[NameInMap("PricingCycle")]
[Validation(Required=false)]
public string PricingCycle { get; set; }
/// <summary>
/// <para>The ID of the IP address pool.</para>
/// <para>The EIP is allocated from the IP address pool.</para>
/// <para>By default, the IP address pool feature is unavailable. To use the IP address pool, apply for the privilege in the Quota Center console. For more information, see the "Request a quota increase in the Quota Center console" section in <a href="https://help.aliyun.com/document_detail/108213.html">Manage EIP quotas</a>.</para>
///
/// <b>Example:</b>
/// <para>pippool-2vc0kxcedhquybdsz****</para>
/// </summary>
[NameInMap("PublicIpAddressPoolId")]
[Validation(Required=false)]
public string PublicIpAddressPoolId { get; set; }
/// <summary>
/// <para>The ID of the region to which the EIP belongs.</para>
/// <para>You can call the <a href="https://help.aliyun.com/document_detail/36063.html">DescribeRegions</a> operation to query the region ID.</para>
/// <para>This parameter is required.</para>
///
/// <b>Example:</b>
/// <para>cn-hangzhou</para>
/// </summary>
[NameInMap("RegionId")]
[Validation(Required=false)]
public string RegionId { get; set; }
/// <summary>
/// <para>The ID of the resource group.</para>
///
/// <b>Example:</b>
/// <para>rg-acfmxazffggds****</para>
/// </summary>
[NameInMap("ResourceGroupId")]
[Validation(Required=false)]
public string ResourceGroupId { 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 editions of Anti-DDoS.</para>
/// <list type="bullet">
/// <item><description>If you do not specify this parameter, Anti-DDoS Origin Basic is used.</description></item>
/// <item><description>If you set the parameter to <b>AntiDDoS_Enhanced</b>, Anti-DDoS Pro/Premium is used.</description></item>
/// </list>
/// <para>You can specify up to 10 editions of Anti-DDoS.</para>
///
/// <b>Example:</b>
/// <para>AntiDDoS_Enhanced</para>
/// </summary>
[NameInMap("SecurityProtectionTypes")]
[Validation(Required=false)]
public List<string> SecurityProtectionTypes { get; set; }
[NameInMap("Tag")]
[Validation(Required=false)]
public List<AllocateEipAddressRequestTag> Tag { get; set; }
public class AllocateEipAddressRequestTag : TeaModel {
[NameInMap("Key")]
[Validation(Required=false)]
public string Key { get; set; }
[NameInMap("Value")]
[Validation(Required=false)]
public string Value { get; set; }
}
/// <summary>
/// <para>The zone of the EIP.</para>
/// <para>When the service type of the IP address pool specified by <b>PublicIpAddressPoolId</b> is CloudBox, the default value is the zone of the IP address pool.</para>
/// <para>For more information, see <a href="https://help.aliyun.com/document_detail/429433.html">ListPublicIpAddressPools</a>.</para>
///
/// <b>Example:</b>
/// <para>cn-hangzhou-a</para>
/// </summary>
[NameInMap("Zone")]
[Validation(Required=false)]
public string Zone { get; set; }
}
}