import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr reserved IP resource. This can be used to create, read, modify, and delete reserved IP addresses on your Vultr account. * * ## Example Usage * * Create a new reserved IP: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myReservedIp = new vultr.ReservedIp("myReservedIp", { * ipType: "v4", * label: "my-reserved-ip", * region: "sea", * }); * ``` * * Attach a reserved IP to a instance: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myReservedIp = new vultr.ReservedIp("myReservedIp", { * instanceId: "b9cc6fad-70b1-40ee-ab6a-4d622858962f", * ipType: "v4", * label: "my-reserved-ip", * region: "sea", * }); * ``` * * ## Import * * Reserved IPs can be imported using the reserved IP `ID`, e.g. * * ```sh * $ pulumi import vultr:index/reservedIp:ReservedIp my_reserved_ip b9cc6fad-70b1-40ee-ab6a-4d622858962f * ``` */ export declare class ReservedIp extends pulumi.CustomResource { /** * Get an existing ReservedIp 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, state?: ReservedIpState, opts?: pulumi.CustomResourceOptions): ReservedIp; /** * Returns true if the given object is an instance of ReservedIp. 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 ReservedIp; /** * The VPS ID you want this reserved IP to be attached to. */ readonly instanceId: pulumi.Output; /** * The type of reserved IP that you want. Either "v4" or "v6". */ readonly ipType: pulumi.Output; /** * The label you want to give your reserved IP. */ readonly label: pulumi.Output; /** * The region ID that you want the reserved IP to be created in. */ readonly region: pulumi.Output; /** * The reserved IP's subnet. */ readonly subnet: pulumi.Output; /** * The reserved IP's subnet size. */ readonly subnetSize: pulumi.Output; /** * Create a ReservedIp 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: ReservedIpArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ReservedIp resources. */ export interface ReservedIpState { /** * The VPS ID you want this reserved IP to be attached to. */ instanceId?: pulumi.Input; /** * The type of reserved IP that you want. Either "v4" or "v6". */ ipType?: pulumi.Input; /** * The label you want to give your reserved IP. */ label?: pulumi.Input; /** * The region ID that you want the reserved IP to be created in. */ region?: pulumi.Input; /** * The reserved IP's subnet. */ subnet?: pulumi.Input; /** * The reserved IP's subnet size. */ subnetSize?: pulumi.Input; } /** * The set of arguments for constructing a ReservedIp resource. */ export interface ReservedIpArgs { /** * The VPS ID you want this reserved IP to be attached to. */ instanceId?: pulumi.Input; /** * The type of reserved IP that you want. Either "v4" or "v6". */ ipType: pulumi.Input; /** * The label you want to give your reserved IP. */ label?: pulumi.Input; /** * The region ID that you want the reserved IP to be created in. */ region: pulumi.Input; }