UNPKG

@pulumi/hcloud

Version:

A Pulumi package for creating and managing hcloud cloud resources.

186 lines 6.03 kB
import * as pulumi from "@pulumi/pulumi"; /** * Provides Hetzner Cloud reverse DNS (rDNS) entries for Servers, Primary IPs, Floating IPs or Load Balancers. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as hcloud from "@pulumi/hcloud"; * * // For Servers * const server1 = new hcloud.Server("server1", {name: "server1"}); * const server1Rdns = new hcloud.Rdns("server1", { * serverId: server1.id.apply(x =>Number(x)), * ipAddress: server1.ipv4Address, * dnsPtr: "example.com", * }); * // For Primary IPs * const primaryIp1 = new hcloud.PrimaryIp("primary_ip1", { * name: "primary_ip1", * type: "ipv4", * }); * const primaryIp1Rdns = new hcloud.Rdns("primary_ip1", { * primaryIpId: primaryIp1.id.apply(x =>Number(x)), * ipAddress: primaryIp1.ipAddress, * dnsPtr: "example.com", * }); * // For Floating IPs * const floatingIp1 = new hcloud.FloatingIp("floating_ip1", { * name: "floating_ip1", * type: "ipv4", * }); * const floatingIp1Rdns = new hcloud.Rdns("floating_ip1", { * floatingIpId: floatingIp1.id.apply(x =>Number(x)), * ipAddress: floatingIp1.ipAddress, * dnsPtr: "example.com", * }); * // For Load Balancers * const loadBalancer1 = new hcloud.LoadBalancer("load_balancer1", {name: "load_balancer1"}); * const loadBalancer1Rdns = new hcloud.Rdns("load_balancer1", { * loadBalancerId: loadBalancer1.id.apply(x =>Number(x)), * ipAddress: loadBalancer1.ipv4, * dnsPtr: "example.com", * }); * ``` * * ## Import * * The `pulumi import` command can be used, for example: * * ```sh * $ pulumi import hcloud:index/rdns:Rdns example "$RESOURCE_PREFIX-$ID-$IP" * ``` * * A Server with id 132022102 and ip 203.0.113.10 * * ```sh * $ pulumi import hcloud:index/rdns:Rdns server1 "s-132022102-203.0.113.10" * ``` * * A Primary IP with id 582026301 and ip 2001:db8::1 * * ```sh * $ pulumi import hcloud:index/rdns:Rdns primary_ip1 "p-582026301-2001:db8::1" * ``` * * A Floating IP with id 912300308 and ip 2001:db8::1 * * ```sh * $ pulumi import hcloud:index/rdns:Rdns floating_ip1 "f-912300308-2001:db8::1" * ``` * * A Load Balancer with id 747590326 and ip 203.0.113.25 * * ```sh * $ pulumi import hcloud:index/rdns:Rdns load_balancer1 "l-747590326-203.0.113.25" * ``` */ export declare class Rdns extends pulumi.CustomResource { /** * Get an existing Rdns resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RdnsState, opts?: pulumi.CustomResourceOptions): Rdns; /** * Returns true if the given object is an instance of Rdns. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Rdns; /** * Domain name `ipAddress` should point to. */ readonly dnsPtr: pulumi.Output<string>; /** * ID of the Floating IP the `ipAddress` belongs to. */ readonly floatingIpId: pulumi.Output<number | undefined>; /** * IP address that should point to `dnsPtr`. */ readonly ipAddress: pulumi.Output<string>; /** * ID of the Load Balancer the `ipAddress` belongs to. */ readonly loadBalancerId: pulumi.Output<number | undefined>; /** * ID of the Primary IP the `ipAddress` belongs to. */ readonly primaryIpId: pulumi.Output<number | undefined>; /** * ID of the Server the `ipAddress` belongs to. */ readonly serverId: pulumi.Output<number | undefined>; /** * Create a Rdns resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RdnsArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Rdns resources. */ export interface RdnsState { /** * Domain name `ipAddress` should point to. */ dnsPtr?: pulumi.Input<string | undefined>; /** * ID of the Floating IP the `ipAddress` belongs to. */ floatingIpId?: pulumi.Input<number | undefined>; /** * IP address that should point to `dnsPtr`. */ ipAddress?: pulumi.Input<string | undefined>; /** * ID of the Load Balancer the `ipAddress` belongs to. */ loadBalancerId?: pulumi.Input<number | undefined>; /** * ID of the Primary IP the `ipAddress` belongs to. */ primaryIpId?: pulumi.Input<number | undefined>; /** * ID of the Server the `ipAddress` belongs to. */ serverId?: pulumi.Input<number | undefined>; } /** * The set of arguments for constructing a Rdns resource. */ export interface RdnsArgs { /** * Domain name `ipAddress` should point to. */ dnsPtr: pulumi.Input<string>; /** * ID of the Floating IP the `ipAddress` belongs to. */ floatingIpId?: pulumi.Input<number | undefined>; /** * IP address that should point to `dnsPtr`. */ ipAddress: pulumi.Input<string>; /** * ID of the Load Balancer the `ipAddress` belongs to. */ loadBalancerId?: pulumi.Input<number | undefined>; /** * ID of the Primary IP the `ipAddress` belongs to. */ primaryIpId?: pulumi.Input<number | undefined>; /** * ID of the Server the `ipAddress` belongs to. */ serverId?: pulumi.Input<number | undefined>; } //# sourceMappingURL=rdns.d.ts.map