import * as $dara from '@darabonba/typescript';
export declare class ModifySnatEntryRequest extends $dara.Model {
    /**
     * @remarks
     * The client token that is used to ensure the idempotence of the request.
     *
     * You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters.
     *
     * >  If you do not specify this parameter, the system automatically uses the **request ID** as the **client token**. The **request ID** may be different for each request.
     *
     * @example
     * 02fb3da4-130e-11e9-8e44-001****
     */
    clientToken?: string;
    /**
     * @remarks
     * Whether to perform a dry run of this request, with values:
     * - **true**: Sends a check request without modifying the SNAT entry. The checks include whether the required parameters are filled in, the request format, and business restrictions. If the check fails, the corresponding error is returned. If the check passes, an error code `DryRunOperation` is returned.
     * - **false** (default): Sends a normal request. After passing the check, it returns a 2xx HTTP status code and modifies the SNAT entry.
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * Whether to enable IP affinity. Values:
     * - **0**: Disable IP affinity.
     *  - **1**: Enable IP affinity.
     * > After enabling the IP affinity switch, if an SNAT entry is bound to multiple EIPs or NAT IPs, the same client will use the same EIP or NAT IP for access; otherwise, the client will randomly select from the bound EIPs or NAT IPs for access.
     *
     * @example
     * 1
     */
    eipAffinity?: number;
    /**
     * @remarks
     * Elastic Network Interface ID. The IPv4 address set of the elastic network interface will be used as the SNAT address.
     *
     * @example
     * eni-gw8g131ef2dnbu3k****
     */
    networkInterfaceId?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The region ID of the NAT gateway.
     *
     * You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to obtain the region ID.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The ID of the SNAT entry that you want to modify.
     *
     * This parameter is required.
     *
     * @example
     * snat-bp1vcgcf8tm0plqcg****
     */
    snatEntryId?: string;
    /**
     * @remarks
     * The name of the SNAT entry.
     *
     * The name must be 2 to 128 characters in length. It must start with a letter but cannot start with `http://` or `https://`.
     *
     * @example
     * SnatEntry-1
     */
    snatEntryName?: string;
    /**
     * @remarks
     * *   The elastic IP addresses (EIPs) specified in the SNAT entry when you modify an SNAT entry of an Internet NAT gateway. Separate EIPs with commas (,).
     *
     *     If you select multiple EIPs to create an SNAT address pool, connections are hashed to these EIPs. Network traffic may not be evenly distributed to the EIPs because the amount of traffic passes through each connection varies. We recommend that you associate these EIPs with the same EIP bandwidth plan to prevent service interruptions due to the bandwidth limit of an individual EIP.
     *
     * *   When you modify an SNAT entry of a VPC NAT gateway, this parameter specifies the NAT IP address in the SNAT entry.
     *
     * @example
     * 47.98.XX.XX
     */
    snatIp?: string;
    /**
     * @remarks
     * The ID of the SNAT table to which the SNAT entry belongs.
     *
     * This parameter is required.
     *
     * @example
     * stb-8vbczigrhop8x5u3t****
     */
    snatTableId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
