import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
 * Use this data source to get the list of propagations.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as huaweicloud from "@pulumi/huaweicloud";
 *
 * const config = new pulumi.Config();
 * const instanceId = config.requireObject("instanceId");
 * const routeTableId = config.requireObject("routeTableId");
 * const attachmentId = config.requireObject("attachmentId");
 * const test = huaweicloud.Er.getPropagations({
 *     instanceId: instanceId,
 *     routeTableId: routeTableId,
 *     attachmentId: attachmentId,
 * });
 * ```
 */
export declare function getPropagations(args: GetPropagationsArgs, opts?: pulumi.InvokeOptions): Promise<GetPropagationsResult>;
/**
 * A collection of arguments for invoking getPropagations.
 */
export interface GetPropagationsArgs {
    /**
     * Specifies the attachment ID to which the propagation belongs.
     */
    attachmentId?: string;
    /**
     * Specifies the attachment type of corresponding to the propagation.
     * The valid values are as follows:
     * + **vpc**: Virtual private cloud.
     * + **vpn**: VPN gateway.
     * + **vgw**: Virtual gateway of cloud private line.
     * + **peering**: Peering connection, through the cloud connection (CC) to load ERs in different regions to create a
     * peering connection.
     * + **enc**: Enterprise connect network in EC.
     * + **cfw**: VPC border firewall.
     */
    attachmentType?: string;
    /**
     * Specifies the ER instance ID to which the propagation belongs.
     */
    instanceId: string;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: string;
    /**
     * Specifies the route table ID to which the propagation belongs.
     */
    routeTableId: string;
    /**
     * Specifies the status of the propagation. Default value is `available`.
     * The valid values are as follows:
     * + **available**
     * + **failed**
     */
    status?: string;
}
/**
 * A collection of values returned by getPropagations.
 */
export interface GetPropagationsResult {
    /**
     * The attachment ID corresponding to the propagation.
     */
    readonly attachmentId?: string;
    /**
     * The attachment type corresponding to the propagation.
     */
    readonly attachmentType?: string;
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id: string;
    /**
     * The ER instance ID to which the propagation belongs.
     */
    readonly instanceId: string;
    /**
     * All propagations that match the filter parameters.
     * The propagations structure is documented below.
     */
    readonly propagations: outputs.Er.GetPropagationsPropagation[];
    readonly region?: string;
    /**
     * The route table ID of corresponding to the propagation.
     */
    readonly routeTableId: string;
    /**
     * The current status of the propagation.
     */
    readonly status?: string;
}
export declare function getPropagationsOutput(args: GetPropagationsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetPropagationsResult>;
/**
 * A collection of arguments for invoking getPropagations.
 */
export interface GetPropagationsOutputArgs {
    /**
     * Specifies the attachment ID to which the propagation belongs.
     */
    attachmentId?: pulumi.Input<string>;
    /**
     * Specifies the attachment type of corresponding to the propagation.
     * The valid values are as follows:
     * + **vpc**: Virtual private cloud.
     * + **vpn**: VPN gateway.
     * + **vgw**: Virtual gateway of cloud private line.
     * + **peering**: Peering connection, through the cloud connection (CC) to load ERs in different regions to create a
     * peering connection.
     * + **enc**: Enterprise connect network in EC.
     * + **cfw**: VPC border firewall.
     */
    attachmentType?: pulumi.Input<string>;
    /**
     * Specifies the ER instance ID to which the propagation belongs.
     */
    instanceId: pulumi.Input<string>;
    /**
     * Specifies the region in which to query the data source.
     * If omitted, the provider-level region will be used.
     */
    region?: pulumi.Input<string>;
    /**
     * Specifies the route table ID to which the propagation belongs.
     */
    routeTableId: pulumi.Input<string>;
    /**
     * Specifies the status of the propagation. Default value is `available`.
     * The valid values are as follows:
     * + **available**
     * + **failed**
     */
    status?: pulumi.Input<string>;
}
