import * as $dara from '@darabonba/typescript';
export declare class ModifyNetworkInterfaceAttributeRequestConnectionTrackingConfiguration extends $dara.Model {
    /**
     * @remarks
     * The timeout period for TCP connections in the TIME_WAIT or CLOSE_WAIT state. Unit: seconds. Valid values: integers from 3 to 15.
     *
     * Default value: 3.
     *
     * >  If the associated ECS instance is used together with a Network Load Balancer (NLB) or Classic Load Balancer (CLB) instance, the default timeout period for TCP connections in the `TIME_WAIT` state is 15 seconds.
     *
     * @example
     * 3
     */
    tcpClosedAndTimeWaitTimeout?: number;
    /**
     * @remarks
     * The timeout period for TCP connections in the ESTABLISHED state. Unit: seconds. Valid values: 30, 60, 80, 100, 200, 300, 500, 700, and 910.
     *
     * Default value: 910.
     *
     * @example
     * 910
     */
    tcpEstablishedTimeout?: number;
    /**
     * @remarks
     * The timeout period for UDP flows. Unit: seconds. Valid values: 10, 20, 30, 60, 80, and 100.
     *
     * Default value: 30.
     *
     * >  If the associated ECS instance is used together with an NLB or CLB instance, the default timeout period for UDP flows is 100 seconds.
     *
     * @example
     * 30
     */
    udpTimeout?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyNetworkInterfaceAttributeRequestEnhancedNetwork extends $dara.Model {
    /**
     * @remarks
     * >  This parameter is not publicly available.
     *
     * @example
     * false
     */
    enableRss?: boolean;
    /**
     * @remarks
     * This parameter is not publicly available.
     *
     * @example
     * true
     */
    enableSriov?: boolean;
    virtualFunctionQuantity?: number;
    virtualFunctionTotalQueueNumber?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyNetworkInterfaceAttributeRequestNetworkInterfaceTrafficConfig extends $dara.Model {
    /**
     * @remarks
     * The communication mode of the ENI. Valid values:
     *
     * *   Standard: uses the TCP communication mode.
     * *   HighPerformance: uses the remote direct memory access (RDMA) communication mode with Elastic RDMA Interface (ERI) enabled.
     *
     * When the ENI is in the InUse state, take note of the following items:
     *
     * *   The total number of ERIs attached to the instance cannot exceed the ERI quota for the instance type. To query the ERI quota for an instance type, call the DescribeInstanceTypes operation and check the EriQuantity value in the response.
     *
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * HighPerformance
     */
    networkInterfaceTrafficMode?: string;
    /**
     * @remarks
     * The number of queues supported by the ENI. When the ENI is in the InUse state, take note of the following items:
     *
     * *   The value of this parameter cannot exceed the maximum number of queues allowed per ENI for the instance type.
     * *   The total number of queues for all ENIs on the instance cannot exceed the queue quota for the instance type. To query the maximum number of queues per ENI and the queue quota for an instance type, call the DescribeInstanceTypes operation and check the MaximumQueueNumberPerEnig and TotalEniQueueQuantity values in the response.
     *
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 8
     */
    queueNumber?: number;
    /**
     * @remarks
     * The number of queues supported by the ERI. When the ERI is in the InUse state, take note of the following items:
     *
     * *   The value of this parameter cannot exceed the maximum number of queues allowed per ERI for the instance type. To query the maximum number of queues allowed per ERI for an instance type, call the DescribeInstanceTypes operation and check the QueuePairNumber value in the response.
     *
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 8
     */
    queuePairNumber?: number;
    /**
     * @remarks
     * The receive (Rx) queue depth of the ENI.
     *
     * Take note of the following items:
     *
     * *   The Rx queue depth of an ENI must be the same as the transmit (Tx) queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384.
     * *   A larger Rx queue depth yields higher inbound throughput but consumes more memory.
     *
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 8192
     */
    rxQueueSize?: number;
    /**
     * @remarks
     * The Tx queue depth of the ENI.
     *
     * Take note of the following items:
     *
     * *   The Tx queue depth of an ENI must be the same as the Rx queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384.
     * *   A larger Tx queue depth yields higher outbound throughput but consumes more memory.
     *
     * >  This parameter is in invitational preview and is not publicly available.
     *
     * @example
     * 8192
     */
    txQueueSize?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class ModifyNetworkInterfaceAttributeRequest extends $dara.Model {
    /**
     * @remarks
     * The connection tracking configuration of the ENI.
     */
    connectionTrackingConfiguration?: ModifyNetworkInterfaceAttributeRequestConnectionTrackingConfiguration;
    /**
     * @remarks
     * Specifies whether to release the ENI when the associated instance is released. Valid values:
     *
     * *   true
     * *   false
     *
     * @example
     * true
     */
    deleteOnRelease?: boolean;
    /**
     * @remarks
     * The description of the ENI. The description must be 2 to 255 characters in length and cannot start with [http:// or https://](http://https://。).
     *
     * This parameter is left empty by default.
     *
     * @example
     * testDescription
     */
    description?: string;
    /**
     * @remarks
     * This parameter is not publicly available.
     */
    enhancedNetwork?: ModifyNetworkInterfaceAttributeRequestEnhancedNetwork;
    /**
     * @remarks
     * The ID of the ENI.
     *
     * This parameter is required.
     *
     * @example
     * eni-bp67acfmxazb4p****
     */
    networkInterfaceId?: string;
    /**
     * @remarks
     * The name of the ENI. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-).
     *
     * This parameter is left empty by default.
     *
     * @example
     * eniTestName
     */
    networkInterfaceName?: string;
    /**
     * @remarks
     * The communication parameters of the ENI.
     */
    networkInterfaceTrafficConfig?: ModifyNetworkInterfaceAttributeRequestNetworkInterfaceTrafficConfig;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The number of queues supported by the ENI. Valid values: 1 to 2048.
     *
     * *   You can change the number of queues supported by an ENI only when the ENI is in the `Available` state or the ENI is attached (`InUse`) to an instance that is in the `Stopped` state.
     * *   The number of queues supported by the ENI cannot exceed the maximum number of queues that the instance type allows for each ENI. The total number of queues on all ENIs on an instance cannot exceed the queue quota that the instance type supports. To query the maximum number of queues per ENI and the queue quota for an instance type, you can call the [DescribeInstanceTypes](https://help.aliyun.com/document_detail/25620.html) operation and check the `MaximumQueueNumberPerEni` and `TotalEniQueueQuantity` values in the response.
     *
     * @example
     * 8
     */
    queueNumber?: number;
    /**
     * @remarks
     * The region ID of the ENI. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The receive (Rx) queue depth of the ENI.
     *
     * Take note of the following items:
     *
     * *   The Rx queue depth of an ENI must be the same as the transmit (Tx) queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384.
     * *   A larger Rx queue depth yields higher inbound throughput but consumes more memory.
     *
     * @example
     * 8192
     */
    rxQueueSize?: number;
    /**
     * @remarks
     * The IDs of the security groups to which to add the secondary ENI. The secondary ENI is added to the specified security groups and removed from the original security groups.
     *
     * *   The valid values of N vary based on the maximum number of security groups to which an ENI can be added. For more information, see the [Security group limits](~~25412#SecurityGroupQuota~~) section of the "Limits and quotas" topic.
     * *   The new security groups take effect after a short delay.
     */
    securityGroupId?: string[];
    /**
     * @remarks
     * Source and destination IP address check We recommend that you enable the feature to improve network security. Valid value:
     *
     * *   true
     * *   false
     *
     * Default value: false.
     *
     * >  This feature is available only in some regions. Before you use this method, read [Source and destination IP address check](https://help.aliyun.com/document_detail/2863210.html).
     *
     * @example
     * false
     */
    sourceDestCheck?: boolean;
    /**
     * @remarks
     * The Tx queue depth of the ENI.
     *
     * Take note of the following items:
     *
     * *   The Tx queue depth of an ENI must be the same as the Rx queue depth of the ENI. Valid values: powers of 2 in the range of 8192 to 16384.
     * *   A larger Tx queue depth yields higher outbound throughput but consumes more memory.
     *
     * @example
     * 8192
     */
    txQueueSize?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
