import * as pulumi from "@pulumi/pulumi";
/**
 * Use this data source to get the ID of an available HuaweiCloud port.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const port1 = huaweicloud.Vpc.getPort({
 *     networkId: _var.network_id,
 *     fixedIp: "192.168.0.100",
 * });
 * ```
 */
export declare function getPort(args?: GetPortArgs, opts?: pulumi.InvokeOptions): Promise<GetPortResult>;
/**
 * A collection of arguments for invoking getPort.
 */
export interface GetPortArgs {
    /**
     * @deprecated this field is deprecated
     */
    adminStateUp?: boolean;
    /**
     * The ID of the device the port belongs to.
     */
    deviceId?: string;
    /**
     * The device owner of the port.
     */
    deviceOwner?: string;
    /**
     * Specifies the port IP address filter.
     */
    fixedIp?: string;
    /**
     * Specifies the MAC address of the port.
     */
    macAddress?: string;
    /**
     * The name of the port.
     */
    name?: string;
    /**
     * Specifies the ID of the network the port belongs to.
     */
    networkId?: string;
    /**
     * Specifies the ID of the port.
     */
    portId?: string;
    /**
     * @deprecated this field is deprecated
     */
    projectId?: string;
    /**
     * Specifies the region in which to obtain the port. If omitted, the provider-level region
     * will be used.
     */
    region?: string;
    /**
     * The list of port security group IDs to filter.
     */
    securityGroupIds?: string[];
    /**
     * Specifies the status of the port.
     */
    status?: string;
    /**
     * @deprecated this field is deprecated
     */
    tenantId?: string;
}
/**
 * A collection of values returned by getPort.
 */
export interface GetPortResult {
    /**
     * @deprecated this field is deprecated
     */
    readonly adminStateUp: boolean;
    /**
     * The collection of allowed IP addresses on the port.
     */
    readonly allAllowedIps: string[];
    /**
     * The collection of Fixed IP addresses on the port.
     */
    readonly allFixedIps: string[];
    /**
     * The collection of security group IDs applied on the port.
     */
    readonly allSecurityGroupIds: string[];
    /**
     * The ID of the device the port belongs to.
     */
    readonly deviceId: string;
    /**
     * The device owner of the port.
     */
    readonly deviceOwner: string;
    readonly fixedIp?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    readonly macAddress: string;
    /**
     * The name of the port.
     */
    readonly name: string;
    readonly networkId: string;
    readonly portId: string;
    /**
     * @deprecated this field is deprecated
     */
    readonly projectId?: string;
    readonly region: string;
    readonly securityGroupIds?: string[];
    readonly status: string;
    /**
     * @deprecated this field is deprecated
     */
    readonly tenantId?: string;
}
export declare function getPortOutput(args?: GetPortOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetPortResult>;
/**
 * A collection of arguments for invoking getPort.
 */
export interface GetPortOutputArgs {
    /**
     * @deprecated this field is deprecated
     */
    adminStateUp?: pulumi.Input<boolean>;
    /**
     * The ID of the device the port belongs to.
     */
    deviceId?: pulumi.Input<string>;
    /**
     * The device owner of the port.
     */
    deviceOwner?: pulumi.Input<string>;
    /**
     * Specifies the port IP address filter.
     */
    fixedIp?: pulumi.Input<string>;
    /**
     * Specifies the MAC address of the port.
     */
    macAddress?: pulumi.Input<string>;
    /**
     * The name of the port.
     */
    name?: pulumi.Input<string>;
    /**
     * Specifies the ID of the network the port belongs to.
     */
    networkId?: pulumi.Input<string>;
    /**
     * Specifies the ID of the port.
     */
    portId?: pulumi.Input<string>;
    /**
     * @deprecated this field is deprecated
     */
    projectId?: pulumi.Input<string>;
    /**
     * Specifies the region in which to obtain the port. If omitted, the provider-level region
     * will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * The list of port security group IDs to filter.
     */
    securityGroupIds?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Specifies the status of the port.
     */
    status?: pulumi.Input<string>;
    /**
     * @deprecated this field is deprecated
     */
    tenantId?: pulumi.Input<string>;
}
