import * as $dara from '@darabonba/typescript';
export declare class CreateNatIpRequest 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
     * 5A2CFF0E-5718-45B5-9D4D-70B3FF3898
     */
    clientToken?: string;
    /**
     * @remarks
     * Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     *
     * *   **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
     * *   **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * The created IP prefix address segment must be within the reserved network segment of the switch where the NAT is located, and the reserved network segment cannot be occupied. The IP prefix mask must be /28.
     *
     * @example
     * null
     */
    ipv4Prefix?: string;
    /**
     * @remarks
     * The number of automatically assigned IP prefixes. These are randomly allocated from the unassigned reserved segments of the switch where the NAT is located. Value range: 1 to 10.
     *
     * @example
     * 1
     */
    ipv4PrefixCount?: number;
    /**
     * @remarks
     * The ID of the Virtual Private Cloud (VPC) NAT gateway for which you want to create the NAT IP address.
     *
     * This parameter is required.
     *
     * @example
     * ngw-gw8v16wgvtq26vh59****
     */
    natGatewayId?: string;
    /**
     * @remarks
     * The NAT IP address that you want to create.
     *
     * If you do not specify an IP address, the system randomly allocates an IP address from the specified CIDR block.
     *
     * @example
     * 192.168.0.34
     */
    natIp?: string;
    /**
     * @remarks
     * The CIDR block to which the NAT IP address belongs.
     *
     * This parameter is required.
     *
     * @example
     * 192.168.0.0/24
     */
    natIpCidr?: string;
    /**
     * @remarks
     * The description of the NAT IP address.
     *
     * The description must be 2 to 256 characters in length and start with a letter. The description cannot start with `http://` or `https://`.
     *
     * @example
     * test
     */
    natIpDescription?: string;
    /**
     * @remarks
     * The name of the NAT IP address.
     *
     * The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (_), and hyphens (-). It must start with a letter. The name must start with a letter and cannot start with `http://` or `https://`.
     *
     * @example
     * newnatip
     */
    natIpName?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The region ID of the NAT gateway to which the NAT IP address that you want to create belongs.
     *
     * You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent list of regions.
     *
     * This parameter is required.
     *
     * @example
     * eu-central-1
     */
    regionId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
