import * as pulumi from "@pulumi/pulumi"; /** * Provides a Vultr bare metal server resource. This can be used to create, read, modify, and delete bare metal servers on your Vultr account. * * ## Example Usage * * Create a new bare metal server: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myServer = new vultr.BareMetalServer("myServer", { * osId: 1743, * plan: "vbm-4c-32gb", * region: "ewr", * }); * ``` * * Create a new bare metal server with options: * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as vultr from "@ediri/vultr"; * * const myServer = new vultr.BareMetalServer("myServer", { * activationEmail: false, * enableIpv6: true, * hostname: "my-server-hostname", * label: "my-server-label", * osId: 1743, * plan: "vbm-4c-32gb", * region: "ewr", * tags: ["my-server-tag"], * userData: "this is my user data", * }); * ``` * * ## Import * * Bare Metal Servers can be imported using the server `ID`, e.g. * * ```sh * $ pulumi import vultr:index/bareMetalServer:BareMetalServer my_server b6a859c5-b299-49dd-8888-b1abbc517d08 * ``` */ export declare class BareMetalServer extends pulumi.CustomResource { /** * Get an existing BareMetalServer 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?: BareMetalServerState, opts?: pulumi.CustomResourceOptions): BareMetalServer; /** * Returns true if the given object is an instance of BareMetalServer. 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 BareMetalServer; /** * Whether an activation email will be sent when the server is ready. */ readonly activationEmail: pulumi.Output; /** * The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) */ readonly appId: pulumi.Output; /** * A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables) */ readonly appVariables: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The number of CPUs available on the server. */ readonly cpuCount: pulumi.Output; /** * The date the server was added to your Vultr account. */ readonly dateCreated: pulumi.Output; /** * The server's default password. */ readonly defaultPassword: pulumi.Output; /** * The description of the disk(s) on the server. */ readonly disk: pulumi.Output; /** * Whether the server has IPv6 networking activated. */ readonly enableIpv6: pulumi.Output; /** * The server's IPv4 gateway. */ readonly gatewayV4: pulumi.Output; /** * The hostname to assign to the server. */ readonly hostname: pulumi.Output; /** * The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `imageId` not the id. */ readonly imageId: pulumi.Output; /** * A label for the server. */ readonly label: pulumi.Output; /** * The MAC address associated with the server. */ readonly macAddress: pulumi.Output; /** * The server's main IP address. */ readonly mainIp: pulumi.Output; readonly mdiskMode: pulumi.Output; /** * The server's IPv4 netmask. */ readonly netmaskV4: pulumi.Output; /** * The string description of the operating system installed on the server. */ readonly os: pulumi.Output; /** * The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os) */ readonly osId: pulumi.Output; readonly persistentPxe: pulumi.Output; /** * The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans) */ readonly plan: pulumi.Output; /** * The amount of memory available on the server in MB. */ readonly ram: pulumi.Output; /** * The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions) */ readonly region: pulumi.Output; /** * The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips) */ readonly reservedIpv4: pulumi.Output; /** * The ID of the startup script you want added to the server. */ readonly scriptId: pulumi.Output; /** * The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots) */ readonly snapshotId: pulumi.Output; /** * A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD). */ readonly sshKeyIds: pulumi.Output; /** * The status of the server's subscription. */ readonly status: pulumi.Output; /** * A list of tags to apply to the servier. */ readonly tags: pulumi.Output; /** * Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary. */ readonly userData: pulumi.Output; /** * The scheme used for the default user. Possible values are `root` or `limited` (linux servers only). */ readonly userScheme: pulumi.Output; /** * The main IPv6 network address. */ readonly v6MainIp: pulumi.Output; /** * The IPv6 subnet. */ readonly v6Network: pulumi.Output; /** * The IPv6 network size in bits. */ readonly v6NetworkSize: pulumi.Output; /** * A list of VPC 2.0 IDs to be attached to the server. * * @deprecated VPC2 is deprecated and will be removed in a future release. Use VPC instead */ readonly vpc2Ids: pulumi.Output; /** * The VPC ID to use when creating the server. */ readonly vpcId: pulumi.Output; /** * Create a BareMetalServer 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: BareMetalServerArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering BareMetalServer resources. */ export interface BareMetalServerState { /** * Whether an activation email will be sent when the server is ready. */ activationEmail?: pulumi.Input; /** * The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) */ appId?: pulumi.Input; /** * A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables) */ appVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The number of CPUs available on the server. */ cpuCount?: pulumi.Input; /** * The date the server was added to your Vultr account. */ dateCreated?: pulumi.Input; /** * The server's default password. */ defaultPassword?: pulumi.Input; /** * The description of the disk(s) on the server. */ disk?: pulumi.Input; /** * Whether the server has IPv6 networking activated. */ enableIpv6?: pulumi.Input; /** * The server's IPv4 gateway. */ gatewayV4?: pulumi.Input; /** * The hostname to assign to the server. */ hostname?: pulumi.Input; /** * The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `imageId` not the id. */ imageId?: pulumi.Input; /** * A label for the server. */ label?: pulumi.Input; /** * The MAC address associated with the server. */ macAddress?: pulumi.Input; /** * The server's main IP address. */ mainIp?: pulumi.Input; mdiskMode?: pulumi.Input; /** * The server's IPv4 netmask. */ netmaskV4?: pulumi.Input; /** * The string description of the operating system installed on the server. */ os?: pulumi.Input; /** * The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os) */ osId?: pulumi.Input; persistentPxe?: pulumi.Input; /** * The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans) */ plan?: pulumi.Input; /** * The amount of memory available on the server in MB. */ ram?: pulumi.Input; /** * The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions) */ region?: pulumi.Input; /** * The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips) */ reservedIpv4?: pulumi.Input; /** * The ID of the startup script you want added to the server. */ scriptId?: pulumi.Input; /** * The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots) */ snapshotId?: pulumi.Input; /** * A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD). */ sshKeyIds?: pulumi.Input[]>; /** * The status of the server's subscription. */ status?: pulumi.Input; /** * A list of tags to apply to the servier. */ tags?: pulumi.Input[]>; /** * Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary. */ userData?: pulumi.Input; /** * The scheme used for the default user. Possible values are `root` or `limited` (linux servers only). */ userScheme?: pulumi.Input; /** * The main IPv6 network address. */ v6MainIp?: pulumi.Input; /** * The IPv6 subnet. */ v6Network?: pulumi.Input; /** * The IPv6 network size in bits. */ v6NetworkSize?: pulumi.Input; /** * A list of VPC 2.0 IDs to be attached to the server. * * @deprecated VPC2 is deprecated and will be removed in a future release. Use VPC instead */ vpc2Ids?: pulumi.Input[]>; /** * The VPC ID to use when creating the server. */ vpcId?: pulumi.Input; } /** * The set of arguments for constructing a BareMetalServer resource. */ export interface BareMetalServerArgs { /** * Whether an activation email will be sent when the server is ready. */ activationEmail?: pulumi.Input; /** * The ID of the Vultr application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) */ appId?: pulumi.Input; /** * A map of user-supplied variable keys and values for Vultr Marketplace apps. [See List Marketplace App Variables](https://www.vultr.com/api/#tag/marketplace/operation/list-marketplace-app-variables) */ appVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Whether the server has IPv6 networking activated. */ enableIpv6?: pulumi.Input; /** * The hostname to assign to the server. */ hostname?: pulumi.Input; /** * The ID of the Vultr marketplace application to be installed on the server. [See List Applications](https://www.vultr.com/api/#operation/list-applications) Note marketplace applications are denoted by type: `marketplace` and you must use the `imageId` not the id. */ imageId?: pulumi.Input; /** * A label for the server. */ label?: pulumi.Input; mdiskMode?: pulumi.Input; /** * The ID of the operating system to be installed on the server. [See List OS](https://www.vultr.com/api/#operation/list-os) */ osId?: pulumi.Input; persistentPxe?: pulumi.Input; /** * The ID of the plan that you want the server to subscribe to. [See List Plans](https://www.vultr.com/api/#tag/plans) */ plan: pulumi.Input; /** * The ID of the region that the server is to be created in. [See List Regions](https://www.vultr.com/api/#operation/list-regions) */ region: pulumi.Input; /** * The ID of the floating IP to use as the main IP of this server. [See Reserved IPs](https://www.vultr.com/api/#operation/list-reserved-ips) */ reservedIpv4?: pulumi.Input; /** * The ID of the startup script you want added to the server. */ scriptId?: pulumi.Input; /** * The ID of the Vultr snapshot that the server will restore for the initial installation. [See List Snapshots](https://www.vultr.com/api/#operation/list-snapshots) */ snapshotId?: pulumi.Input; /** * A list of SSH key IDs to apply to the server on install (only valid for Linux/FreeBSD). */ sshKeyIds?: pulumi.Input[]>; /** * A list of tags to apply to the servier. */ tags?: pulumi.Input[]>; /** * Generic data store, which some provisioning tools and cloud operating systems use as a configuration file. It is generally consumed only once after an instance has been launched, but individual needs may vary. */ userData?: pulumi.Input; /** * The scheme used for the default user. Possible values are `root` or `limited` (linux servers only). */ userScheme?: pulumi.Input; /** * A list of VPC 2.0 IDs to be attached to the server. * * @deprecated VPC2 is deprecated and will be removed in a future release. Use VPC instead */ vpc2Ids?: pulumi.Input[]>; /** * The VPC ID to use when creating the server. */ vpcId?: pulumi.Input; }