@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
143 lines (142 loc) • 4.15 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import { output as outputs } from "../types";
/**
* Use this data source to get a list of EIPs.
*
* ## Example Usage
*
* An example filter by name and tag
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as huaweicloud from "@pulumi/huaweicloud";
*
* const config = new pulumi.Config();
* const publicIp = config.requireObject("publicIp");
* const eip = huaweicloud.Eip.getEips({
* publicIps: [publicIp],
* tags: {
* foo: "bar",
* },
* });
* export const eipIds = [eip.then(eip => eip.eips)].map(__item => __item?.id);
* ```
*/
export declare function getEips(args?: GetEipsArgs, opts?: pulumi.InvokeOptions): Promise<GetEipsResult>;
/**
* A collection of arguments for invoking getEips.
*/
export interface GetEipsArgs {
/**
* Specifies the enterprise project ID which the desired EIP belongs to.
*/
enterpriseProjectId?: string;
/**
* Specifies an array of one or more IDs of the desired EIP.
*/
ids?: string[];
/**
* Specifies ip version of the desired EIP. The options are:
* + `4`: IPv4.
* + `6`: IPv6.
*/
ipVersion?: number;
/**
* Specifies an array of one or more port ids which bound to the desired EIP.
*/
portIds?: string[];
/**
* Specifies an array of one or more private ip addresses of the desired EIP.
*/
privateIps?: string[];
/**
* Specifies an array of one or more public ip addresses of the desired EIP.
*/
publicIps?: string[];
/**
* Specifies the region in which to obtain the EIP. If omitted, the provider-level region
* will be used.
*/
region?: string;
/**
* Specifies the included key/value pairs which associated with the desired EIP.
*/
tags?: {
[key: string]: string;
};
}
/**
* A collection of values returned by getEips.
*/
export interface GetEipsResult {
/**
* Indicates a list of all EIPs found. Structure is documented below.
*/
readonly eips: outputs.Eip.GetEipsEip[];
/**
* The the enterprise project ID of the EIP.
*/
readonly enterpriseProjectId?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly ids?: string[];
/**
* The ip version of the EIP.
*/
readonly ipVersion?: number;
readonly portIds?: string[];
readonly privateIps?: string[];
readonly publicIps?: string[];
readonly region: string;
/**
* The key/value pairs which associated with the EIP.
*/
readonly tags?: {
[key: string]: string;
};
}
export declare function getEipsOutput(args?: GetEipsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetEipsResult>;
/**
* A collection of arguments for invoking getEips.
*/
export interface GetEipsOutputArgs {
/**
* Specifies the enterprise project ID which the desired EIP belongs to.
*/
enterpriseProjectId?: pulumi.Input<string>;
/**
* Specifies an array of one or more IDs of the desired EIP.
*/
ids?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies ip version of the desired EIP. The options are:
* + `4`: IPv4.
* + `6`: IPv6.
*/
ipVersion?: pulumi.Input<number>;
/**
* Specifies an array of one or more port ids which bound to the desired EIP.
*/
portIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies an array of one or more private ip addresses of the desired EIP.
*/
privateIps?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies an array of one or more public ip addresses of the desired EIP.
*/
publicIps?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Specifies the region in which to obtain the EIP. If omitted, the provider-level region
* will be used.
*/
region?: pulumi.Input<string>;
/**
* Specifies the included key/value pairs which associated with the desired EIP.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}