@pulumi/hcloud
Version:
A Pulumi package for creating and managing hcloud cloud resources.
167 lines • 5.86 kB
JavaScript
;
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPrimaryIpOutput = exports.getPrimaryIp = void 0;
const pulumi = __importStar(require("@pulumi/pulumi"));
const utilities = __importStar(require("./utilities"));
/**
* Provides details about a Hetzner Cloud Primary IP.
*
* This resource can be useful when you need to determine a Primary IP ID based on the IP address.
*
* Side note:
*
* If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
* Currently, Primary IPs can be only attached to servers.
*
* ## Deprecations
*
* ### `datacenter` attribute
*
* The `datacenter` attribute is deprecated, use the `location` attribute instead.
*
* See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
*
* > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer returns the `datacenter` attribute.
*
* ## Example Usage
*
* # Data Source: hcloud.PrimaryIp
*
* Provides details about a Hetzner Cloud Primary IP.
* This resource can be useful when you need to determine a Primary 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.getPrimaryIp({
* ipAddress: "1.2.3.4",
* });
* const ip2 = hcloud.getPrimaryIp({
* name: "primary_ip_1",
* });
* const ip3 = hcloud.getPrimaryIp({
* withSelector: "key=value",
* });
* // Link a server to an existing primary IP
* const serverTest = new hcloud.Server("server_test", {
* name: "test-server",
* image: "ubuntu-24.04",
* serverType: "cx23",
* location: "fsn1",
* labels: {
* test: "tessst1",
* },
* publicNets: [{
* ipv4: Number(ip1HcloudPrimaryIp.id),
* }],
* });
* ```
*/
function getPrimaryIp(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invoke("hcloud:index/getPrimaryIp:getPrimaryIp", {
"id": args.id,
"ipAddress": args.ipAddress,
"name": args.name,
"withSelector": args.withSelector,
}, opts);
}
exports.getPrimaryIp = getPrimaryIp;
/**
* Provides details about a Hetzner Cloud Primary IP.
*
* This resource can be useful when you need to determine a Primary IP ID based on the IP address.
*
* Side note:
*
* If a server is getting created, it has to have a primary ip. If a server is getting created without defining primary ips, two of them (one ipv4 and one ipv6) getting created & attached.
* Currently, Primary IPs can be only attached to servers.
*
* ## Deprecations
*
* ### `datacenter` attribute
*
* The `datacenter` attribute is deprecated, use the `location` attribute instead.
*
* See our the [API changelog](https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters) for more details.
*
* > Please upgrade to `v1.58.0+` of the provider to avoid issues once the Hetzner Cloud API no longer returns the `datacenter` attribute.
*
* ## Example Usage
*
* # Data Source: hcloud.PrimaryIp
*
* Provides details about a Hetzner Cloud Primary IP.
* This resource can be useful when you need to determine a Primary 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.getPrimaryIp({
* ipAddress: "1.2.3.4",
* });
* const ip2 = hcloud.getPrimaryIp({
* name: "primary_ip_1",
* });
* const ip3 = hcloud.getPrimaryIp({
* withSelector: "key=value",
* });
* // Link a server to an existing primary IP
* const serverTest = new hcloud.Server("server_test", {
* name: "test-server",
* image: "ubuntu-24.04",
* serverType: "cx23",
* location: "fsn1",
* labels: {
* test: "tessst1",
* },
* publicNets: [{
* ipv4: Number(ip1HcloudPrimaryIp.id),
* }],
* });
* ```
*/
function getPrimaryIpOutput(args, opts) {
args = args || {};
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
return pulumi.runtime.invokeOutput("hcloud:index/getPrimaryIp:getPrimaryIp", {
"id": args.id,
"ipAddress": args.ipAddress,
"name": args.name,
"withSelector": args.withSelector,
}, opts);
}
exports.getPrimaryIpOutput = getPrimaryIpOutput;
//# sourceMappingURL=getPrimaryIp.js.map