@pulumi/hcloud
Version:
A Pulumi package for creating and managing hcloud cloud resources.
172 lines • 4.82 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Provides details about a Hetzner Cloud Floating IP.
*
* This resource can be useful when you need to determine a Floating IP ID based on the IP address.
*
* ## Example Usage
*
* # Data Source: hcloud.FloatingIp
*
* Provides details about a Hetzner Cloud Floating IP.
* This resource can be useful when you need to determine a Floating IP ID based on the IP address.
*
* ### Additional Examples
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as hcloud from "@pulumi/hcloud";
*
* const ip1 = hcloud.getFloatingIp({
* ipAddress: "1.2.3.4",
* });
* const ip2 = hcloud.getFloatingIp({
* withSelector: "key=value",
* });
* const main: hcloud.FloatingIpAssignment[] = [];
* for (const range = {value: 0}; range.value < counter; range.value++) {
* main.push(new hcloud.FloatingIpAssignment(`main-${range.value}`, {
* floatingIpId: ip1.then(ip1 => ip1.id),
* serverId: Number(mainHcloudServer.id),
* }));
* }
* ```
*/
export declare function getFloatingIp(args?: GetFloatingIpArgs, opts?: pulumi.InvokeOptions): Promise<GetFloatingIpResult>;
/**
* A collection of arguments for invoking getFloatingIp.
*/
export interface GetFloatingIpArgs {
/**
* ID of the Floating IP.
*/
id?: number;
/**
* IP address of the Floating IP.
*/
ipAddress?: string;
/**
* Name of the Floating IP.
*/
name?: string;
/**
* @deprecated Please use the withSelector property instead.
*/
selector?: string;
/**
* [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector)
*/
withSelector?: string;
}
/**
* A collection of values returned by getFloatingIp.
*/
export interface GetFloatingIpResult {
/**
* (bool) Whether delete protection is enabled.
*/
readonly deleteProtection: boolean;
/**
* (string) Description of the Floating IP.
*/
readonly description: string;
/**
* (string) Home location.
*/
readonly homeLocation: string;
/**
* (int) Unique ID of the Floating IP.
*/
readonly id: number;
/**
* (string) IP Address of the Floating IP.
*/
readonly ipAddress: string;
/**
* (string) IPv6 subnet. (Only set if `type` is `ipv6`)
*/
readonly ipNetwork: string;
/**
* (map) User-defined labels (key-value pairs).
*/
readonly labels: {
[key: string]: string;
};
/**
* (string) Name of the Floating IP.
*/
readonly name?: string;
/**
* @deprecated Please use the withSelector property instead.
*/
readonly selector?: string;
/**
* (int) Server to assign the Floating IP is assigned to.
*/
readonly serverId: number;
/**
* (string) Type of the Floating IP.
*/
readonly type: string;
readonly withSelector?: string;
}
/**
* Provides details about a Hetzner Cloud Floating IP.
*
* This resource can be useful when you need to determine a Floating IP ID based on the IP address.
*
* ## Example Usage
*
* # Data Source: hcloud.FloatingIp
*
* Provides details about a Hetzner Cloud Floating IP.
* This resource can be useful when you need to determine a Floating IP ID based on the IP address.
*
* ### Additional Examples
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as hcloud from "@pulumi/hcloud";
*
* const ip1 = hcloud.getFloatingIp({
* ipAddress: "1.2.3.4",
* });
* const ip2 = hcloud.getFloatingIp({
* withSelector: "key=value",
* });
* const main: hcloud.FloatingIpAssignment[] = [];
* for (const range = {value: 0}; range.value < counter; range.value++) {
* main.push(new hcloud.FloatingIpAssignment(`main-${range.value}`, {
* floatingIpId: ip1.then(ip1 => ip1.id),
* serverId: Number(mainHcloudServer.id),
* }));
* }
* ```
*/
export declare function getFloatingIpOutput(args?: GetFloatingIpOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetFloatingIpResult>;
/**
* A collection of arguments for invoking getFloatingIp.
*/
export interface GetFloatingIpOutputArgs {
/**
* ID of the Floating IP.
*/
id?: pulumi.Input<number | undefined>;
/**
* IP address of the Floating IP.
*/
ipAddress?: pulumi.Input<string | undefined>;
/**
* Name of the Floating IP.
*/
name?: pulumi.Input<string | undefined>;
/**
* @deprecated Please use the withSelector property instead.
*/
selector?: pulumi.Input<string | undefined>;
/**
* [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector)
*/
withSelector?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=getFloatingIp.d.ts.map