@pulumi/hcloud 1.33.0-alpha.1777012096 → 1.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,7 +12,7 @@ import * as pulumi from "@pulumi/pulumi";
12
12
  * name: "node1",
13
13
  * image: "debian-12",
14
14
  * serverType: "cx23",
15
- * datacenter: "fsn1-dc8",
15
+ * location: "fsn1",
16
16
  * });
17
17
  * const master = new hcloud.FloatingIp("master", {
18
18
  * type: "ipv4",
@@ -18,7 +18,7 @@ const utilities = require("./utilities");
18
18
  * name: "node1",
19
19
  * image: "debian-12",
20
20
  * serverType: "cx23",
21
- * datacenter: "fsn1-dc8",
21
+ * location: "fsn1",
22
22
  * });
23
23
  * const master = new hcloud.FloatingIp("master", {
24
24
  * type: "ipv4",
@@ -38,6 +38,8 @@ export interface GetDatacenterArgs {
38
38
  export interface GetDatacenterResult {
39
39
  /**
40
40
  * List of currently available Server Types in the Datacenter.
41
+ *
42
+ * @deprecated This attribute is deprecated and will be dropped after 2026-10-01. Use hcloud_server_types[].locations[].available instead.
41
43
  */
42
44
  readonly availableServerTypeIds: number[];
43
45
  /**
@@ -60,6 +62,8 @@ export interface GetDatacenterResult {
60
62
  readonly name?: string;
61
63
  /**
62
64
  * List of supported Server Types in the Datacenter.
65
+ *
66
+ * @deprecated This attribute is deprecated and will be dropped after 2026-10-01. Use hcloud_server_types[].locations[] instead.
63
67
  */
64
68
  readonly supportedServerTypeIds: number[];
65
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getDatacenter.js","sourceRoot":"","sources":["../getDatacenter.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE;QACrE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,sCAOC;AA6CD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,mBAAmB,CAAC,IAA8B,EAAE,IAAiC;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0CAA0C,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,kDAOC"}
1
+ {"version":3,"file":"getDatacenter.js","sourceRoot":"","sources":["../getDatacenter.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE;QACrE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,sCAOC;AAiDD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,mBAAmB,CAAC,IAA8B,EAAE,IAAiC;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0CAA0C,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,MAAM,EAAE,IAAI,CAAC,IAAI;KACpB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,kDAOC"}
package/getPrimaryIp.d.ts CHANGED
@@ -46,7 +46,7 @@ import * as pulumi from "@pulumi/pulumi";
46
46
  * name: "test-server",
47
47
  * image: "ubuntu-24.04",
48
48
  * serverType: "cx23",
49
- * datacenter: "fsn1-dc14",
49
+ * location: "fsn1",
50
50
  * labels: {
51
51
  * test: "tessst1",
52
52
  * },
@@ -61,10 +61,6 @@ export declare function getPrimaryIp(args?: GetPrimaryIpArgs, opts?: pulumi.Invo
61
61
  * A collection of arguments for invoking getPrimaryIp.
62
62
  */
63
63
  export interface GetPrimaryIpArgs {
64
- /**
65
- * (int) ID of the assigned resource.
66
- */
67
- assigneeId?: number;
68
64
  /**
69
65
  * ID of the Primary IP.
70
66
  */
@@ -111,11 +107,11 @@ export interface GetPrimaryIpResult {
111
107
  /**
112
108
  * (int) Unique ID of the Primary IP.
113
109
  */
114
- readonly id: number;
110
+ readonly id?: number;
115
111
  /**
116
112
  * (string) IP Address of the Primary IP.
117
113
  */
118
- readonly ipAddress: string;
114
+ readonly ipAddress?: string;
119
115
  /**
120
116
  * (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if `type` is `ipv6`)
121
117
  */
@@ -187,7 +183,7 @@ export interface GetPrimaryIpResult {
187
183
  * name: "test-server",
188
184
  * image: "ubuntu-24.04",
189
185
  * serverType: "cx23",
190
- * datacenter: "fsn1-dc14",
186
+ * location: "fsn1",
191
187
  * labels: {
192
188
  * test: "tessst1",
193
189
  * },
@@ -202,10 +198,6 @@ export declare function getPrimaryIpOutput(args?: GetPrimaryIpOutputArgs, opts?:
202
198
  * A collection of arguments for invoking getPrimaryIp.
203
199
  */
204
200
  export interface GetPrimaryIpOutputArgs {
205
- /**
206
- * (int) ID of the assigned resource.
207
- */
208
- assigneeId?: pulumi.Input<number>;
209
201
  /**
210
202
  * ID of the Primary IP.
211
203
  */
package/getPrimaryIp.js CHANGED
@@ -52,7 +52,7 @@ const utilities = require("./utilities");
52
52
  * name: "test-server",
53
53
  * image: "ubuntu-24.04",
54
54
  * serverType: "cx23",
55
- * datacenter: "fsn1-dc14",
55
+ * location: "fsn1",
56
56
  * labels: {
57
57
  * test: "tessst1",
58
58
  * },
@@ -66,7 +66,6 @@ function getPrimaryIp(args, opts) {
66
66
  args = args || {};
67
67
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
68
68
  return pulumi.runtime.invoke("hcloud:index/getPrimaryIp:getPrimaryIp", {
69
- "assigneeId": args.assigneeId,
70
69
  "id": args.id,
71
70
  "ipAddress": args.ipAddress,
72
71
  "name": args.name,
@@ -121,7 +120,7 @@ exports.getPrimaryIp = getPrimaryIp;
121
120
  * name: "test-server",
122
121
  * image: "ubuntu-24.04",
123
122
  * serverType: "cx23",
124
- * datacenter: "fsn1-dc14",
123
+ * location: "fsn1",
125
124
  * labels: {
126
125
  * test: "tessst1",
127
126
  * },
@@ -135,7 +134,6 @@ function getPrimaryIpOutput(args, opts) {
135
134
  args = args || {};
136
135
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
137
136
  return pulumi.runtime.invokeOutput("hcloud:index/getPrimaryIp:getPrimaryIp", {
138
- "assigneeId": args.assigneeId,
139
137
  "id": args.id,
140
138
  "ipAddress": args.ipAddress,
141
139
  "name": args.name,
@@ -1 +1 @@
1
- {"version":3,"file":"getPrimaryIp.js","sourceRoot":"","sources":["../getPrimaryIp.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,SAAgB,YAAY,CAAC,IAAuB,EAAE,IAA2B;IAC7E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wCAAwC,EAAE;QACnE,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,oCAUC;AAoFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,SAAgB,kBAAkB,CAAC,IAA6B,EAAE,IAAiC;IAC/F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,wCAAwC,EAAE;QACzE,YAAY,EAAE,IAAI,CAAC,UAAU;QAC7B,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAVD,gDAUC"}
1
+ {"version":3,"file":"getPrimaryIp.js","sourceRoot":"","sources":["../getPrimaryIp.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,SAAgB,YAAY,CAAC,IAAuB,EAAE,IAA2B;IAC7E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,wCAAwC,EAAE;QACnE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,oCASC;AAgFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AACH,SAAgB,kBAAkB,CAAC,IAA6B,EAAE,IAAiC;IAC/F,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,wCAAwC,EAAE;QACzE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,WAAW,EAAE,IAAI,CAAC,SAAS;QAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AATD,gDASC"}
@@ -19,6 +19,7 @@ export declare function getPrimaryIps(args?: GetPrimaryIpsArgs, opts?: pulumi.In
19
19
  * A collection of arguments for invoking getPrimaryIps.
20
20
  */
21
21
  export interface GetPrimaryIpsArgs {
22
+ id?: string;
22
23
  /**
23
24
  * [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector)
24
25
  */
@@ -28,9 +29,6 @@ export interface GetPrimaryIpsArgs {
28
29
  * A collection of values returned by getPrimaryIps.
29
30
  */
30
31
  export interface GetPrimaryIpsResult {
31
- /**
32
- * The provider-assigned unique ID for this managed resource.
33
- */
34
32
  readonly id: string;
35
33
  /**
36
34
  * (list) List of all matching primary ips. See `data.hcloud_primary_ip` for schema.
@@ -57,6 +55,7 @@ export declare function getPrimaryIpsOutput(args?: GetPrimaryIpsOutputArgs, opts
57
55
  * A collection of arguments for invoking getPrimaryIps.
58
56
  */
59
57
  export interface GetPrimaryIpsOutputArgs {
58
+ id?: pulumi.Input<string>;
60
59
  /**
61
60
  * [Label selector](https://docs.hetzner.cloud/reference/cloud#label-selector)
62
61
  */
package/getPrimaryIps.js CHANGED
@@ -23,6 +23,7 @@ function getPrimaryIps(args, opts) {
23
23
  args = args || {};
24
24
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
25
25
  return pulumi.runtime.invoke("hcloud:index/getPrimaryIps:getPrimaryIps", {
26
+ "id": args.id,
26
27
  "withSelector": args.withSelector,
27
28
  }, opts);
28
29
  }
@@ -45,6 +46,7 @@ function getPrimaryIpsOutput(args, opts) {
45
46
  args = args || {};
46
47
  opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {});
47
48
  return pulumi.runtime.invokeOutput("hcloud:index/getPrimaryIps:getPrimaryIps", {
49
+ "id": args.id,
48
50
  "withSelector": args.withSelector,
49
51
  }, opts);
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getPrimaryIps.js","sourceRoot":"","sources":["../getPrimaryIps.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE;QACrE,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,sCAMC;AA0BD;;;;;;;;;;;;;GAaG;AACH,SAAgB,mBAAmB,CAAC,IAA8B,EAAE,IAAiC;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0CAA0C,EAAE;QAC3E,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAND,kDAMC"}
1
+ {"version":3,"file":"getPrimaryIps.js","sourceRoot":"","sources":["../getPrimaryIps.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;GAaG;AACH,SAAgB,aAAa,CAAC,IAAwB,EAAE,IAA2B;IAC/E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,0CAA0C,EAAE;QACrE,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,sCAOC;AAwBD;;;;;;;;;;;;;GAaG;AACH,SAAgB,mBAAmB,CAAC,IAA8B,EAAE,IAAiC;IACjG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAClB,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,0CAA0C,EAAE;QAC3E,IAAI,EAAE,IAAI,CAAC,EAAE;QACb,cAAc,EAAE,IAAI,CAAC,YAAY;KACpC,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAPD,kDAOC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/hcloud",
3
- "version": "1.33.0-alpha.1777012096",
3
+ "version": "1.33.0",
4
4
  "description": "A Pulumi package for creating and managing hcloud cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -23,6 +23,6 @@
23
23
  "pulumi": {
24
24
  "resource": true,
25
25
  "name": "hcloud",
26
- "version": "1.33.0-alpha.1777012096"
26
+ "version": "1.33.0"
27
27
  }
28
28
  }
package/primaryIp.d.ts CHANGED
@@ -1,9 +1,8 @@
1
1
  import * as pulumi from "@pulumi/pulumi";
2
2
  /**
3
- * Provides a Hetzner Cloud Primary IP to represent a publicly-accessible static IP address that can be mapped to one of your servers.
3
+ * Provides a Hetzner Cloud Primary IP resource.
4
4
  *
5
- * 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.
6
- * Currently, Primary IPs can be only attached to servers.
5
+ * See the [Primary IP API documentation](https://docs.hetzner.cloud/reference/cloud#tag/primary-ips) for more details.
7
6
  *
8
7
  * ## Deprecations
9
8
  *
@@ -26,7 +25,7 @@ import * as pulumi from "@pulumi/pulumi";
26
25
  *
27
26
  * const main = new hcloud.PrimaryIp("main", {
28
27
  * name: "primary_ip_test",
29
- * datacenter: "fsn1-dc14",
28
+ * location: "fsn1",
30
29
  * type: "ipv4",
31
30
  * assigneeType: "server",
32
31
  * autoDelete: true,
@@ -39,7 +38,7 @@ import * as pulumi from "@pulumi/pulumi";
39
38
  * name: "test-server",
40
39
  * image: "ubuntu-24.04",
41
40
  * serverType: "cx23",
42
- * datacenter: "fsn1-dc14",
41
+ * location: "fsn1",
43
42
  * labels: {
44
43
  * test: "tessst1",
45
44
  * },
@@ -51,7 +50,7 @@ import * as pulumi from "@pulumi/pulumi";
51
50
  *
52
51
  * ## Import
53
52
  *
54
- * Primary IPs can be imported using its `id`:
53
+ * The `pulumi import` command can be used, for example:
55
54
  *
56
55
  * ```sh
57
56
  * $ pulumi import hcloud:index/primaryIp:PrimaryIp example "$PRIMARY_IP_ID"
@@ -74,46 +73,43 @@ export declare class PrimaryIp extends pulumi.CustomResource {
74
73
  */
75
74
  static isInstance(obj: any): obj is PrimaryIp;
76
75
  /**
77
- * ID of the assigned resource.
76
+ * ID of the resource the Primary IP should be assigned to.
78
77
  */
79
78
  readonly assigneeId: pulumi.Output<number>;
80
79
  /**
81
- * The type of the assigned resource. Currently supported: `server`
80
+ * Type of the resource the Primary IP should be assigned to.
82
81
  */
83
82
  readonly assigneeType: pulumi.Output<string>;
84
83
  /**
85
- * Whether auto delete is enabled.
86
- * `Important note:`It is recommended to set `autoDelete` to `false`, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
84
+ * Whether auto delete is enabled. Setting `autoDelete` to `false` is recommended, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the terraform state.
87
85
  */
88
86
  readonly autoDelete: pulumi.Output<boolean>;
89
87
  /**
90
- * The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
88
+ * Name of the Datacenter for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
91
89
  *
92
90
  * @deprecated The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.
93
91
  */
94
92
  readonly datacenter: pulumi.Output<string>;
95
93
  /**
96
- * Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
97
- *
98
- * Note: At least one of `location`, `datacenter` or `assigneeId` is required.
94
+ * Whether delete protection is enabled.
99
95
  */
100
- readonly deleteProtection: pulumi.Output<boolean | undefined>;
96
+ readonly deleteProtection: pulumi.Output<boolean>;
101
97
  /**
102
- * (string) IP Address of the Primary IP.
98
+ * IP address of the Primary IP.
103
99
  */
104
100
  readonly ipAddress: pulumi.Output<string>;
105
101
  /**
106
- * (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if `type` is `ipv6`)
102
+ * IP network of the Primary IP for IPv6 addresses. Only set if `type` is `ipv6`.
107
103
  */
108
104
  readonly ipNetwork: pulumi.Output<string>;
109
105
  /**
110
- * User-defined labels (key-value pairs).
106
+ * User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
111
107
  */
112
108
  readonly labels: pulumi.Output<{
113
109
  [key: string]: string;
114
- } | undefined>;
110
+ }>;
115
111
  /**
116
- * The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
112
+ * Name of the Location for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
117
113
  */
118
114
  readonly location: pulumi.Output<string>;
119
115
  /**
@@ -121,7 +117,7 @@ export declare class PrimaryIp extends pulumi.CustomResource {
121
117
  */
122
118
  readonly name: pulumi.Output<string>;
123
119
  /**
124
- * Type of the Primary IP. `ipv4` or `ipv6`
120
+ * Type of the Primary IP (`ipv4` or `ipv6`).
125
121
  */
126
122
  readonly type: pulumi.Output<string>;
127
123
  /**
@@ -138,46 +134,43 @@ export declare class PrimaryIp extends pulumi.CustomResource {
138
134
  */
139
135
  export interface PrimaryIpState {
140
136
  /**
141
- * ID of the assigned resource.
137
+ * ID of the resource the Primary IP should be assigned to.
142
138
  */
143
139
  assigneeId?: pulumi.Input<number>;
144
140
  /**
145
- * The type of the assigned resource. Currently supported: `server`
141
+ * Type of the resource the Primary IP should be assigned to.
146
142
  */
147
143
  assigneeType?: pulumi.Input<string>;
148
144
  /**
149
- * Whether auto delete is enabled.
150
- * `Important note:`It is recommended to set `autoDelete` to `false`, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
145
+ * Whether auto delete is enabled. Setting `autoDelete` to `false` is recommended, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the terraform state.
151
146
  */
152
147
  autoDelete?: pulumi.Input<boolean>;
153
148
  /**
154
- * The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
149
+ * Name of the Datacenter for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
155
150
  *
156
151
  * @deprecated The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.
157
152
  */
158
153
  datacenter?: pulumi.Input<string>;
159
154
  /**
160
- * Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
161
- *
162
- * Note: At least one of `location`, `datacenter` or `assigneeId` is required.
155
+ * Whether delete protection is enabled.
163
156
  */
164
157
  deleteProtection?: pulumi.Input<boolean>;
165
158
  /**
166
- * (string) IP Address of the Primary IP.
159
+ * IP address of the Primary IP.
167
160
  */
168
161
  ipAddress?: pulumi.Input<string>;
169
162
  /**
170
- * (string) IPv6 subnet of the Primary IP for IPv6 addresses. (Only set if `type` is `ipv6`)
163
+ * IP network of the Primary IP for IPv6 addresses. Only set if `type` is `ipv6`.
171
164
  */
172
165
  ipNetwork?: pulumi.Input<string>;
173
166
  /**
174
- * User-defined labels (key-value pairs).
167
+ * User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
175
168
  */
176
169
  labels?: pulumi.Input<{
177
170
  [key: string]: pulumi.Input<string>;
178
171
  }>;
179
172
  /**
180
- * The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
173
+ * Name of the Location for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
181
174
  */
182
175
  location?: pulumi.Input<string>;
183
176
  /**
@@ -185,7 +178,7 @@ export interface PrimaryIpState {
185
178
  */
186
179
  name?: pulumi.Input<string>;
187
180
  /**
188
- * Type of the Primary IP. `ipv4` or `ipv6`
181
+ * Type of the Primary IP (`ipv4` or `ipv6`).
189
182
  */
190
183
  type?: pulumi.Input<string>;
191
184
  }
@@ -194,38 +187,35 @@ export interface PrimaryIpState {
194
187
  */
195
188
  export interface PrimaryIpArgs {
196
189
  /**
197
- * ID of the assigned resource.
190
+ * ID of the resource the Primary IP should be assigned to.
198
191
  */
199
192
  assigneeId?: pulumi.Input<number>;
200
193
  /**
201
- * The type of the assigned resource. Currently supported: `server`
194
+ * Type of the resource the Primary IP should be assigned to.
202
195
  */
203
196
  assigneeType: pulumi.Input<string>;
204
197
  /**
205
- * Whether auto delete is enabled.
206
- * `Important note:`It is recommended to set `autoDelete` to `false`, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the TF state.
198
+ * Whether auto delete is enabled. Setting `autoDelete` to `false` is recommended, because if a server assigned to the managed ip is getting deleted, it will also delete the primary IP which will break the terraform state.
207
199
  */
208
200
  autoDelete: pulumi.Input<boolean>;
209
201
  /**
210
- * The datacenter name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
202
+ * Name of the Datacenter for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
211
203
  *
212
204
  * @deprecated The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.
213
205
  */
214
206
  datacenter?: pulumi.Input<string>;
215
207
  /**
216
- * Whether delete protection is enabled. See "Delete Protection" in the Provider Docs for details.
217
- *
218
- * Note: At least one of `location`, `datacenter` or `assigneeId` is required.
208
+ * Whether delete protection is enabled.
219
209
  */
220
210
  deleteProtection?: pulumi.Input<boolean>;
221
211
  /**
222
- * User-defined labels (key-value pairs).
212
+ * User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
223
213
  */
224
214
  labels?: pulumi.Input<{
225
215
  [key: string]: pulumi.Input<string>;
226
216
  }>;
227
217
  /**
228
- * The location name to create the resource in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
218
+ * Name of the Location for the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
229
219
  */
230
220
  location?: pulumi.Input<string>;
231
221
  /**
@@ -233,7 +223,7 @@ export interface PrimaryIpArgs {
233
223
  */
234
224
  name?: pulumi.Input<string>;
235
225
  /**
236
- * Type of the Primary IP. `ipv4` or `ipv6`
226
+ * Type of the Primary IP (`ipv4` or `ipv6`).
237
227
  */
238
228
  type: pulumi.Input<string>;
239
229
  }
package/primaryIp.js CHANGED
@@ -6,10 +6,9 @@ exports.PrimaryIp = void 0;
6
6
  const pulumi = require("@pulumi/pulumi");
7
7
  const utilities = require("./utilities");
8
8
  /**
9
- * Provides a Hetzner Cloud Primary IP to represent a publicly-accessible static IP address that can be mapped to one of your servers.
9
+ * Provides a Hetzner Cloud Primary IP resource.
10
10
  *
11
- * 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.
12
- * Currently, Primary IPs can be only attached to servers.
11
+ * See the [Primary IP API documentation](https://docs.hetzner.cloud/reference/cloud#tag/primary-ips) for more details.
13
12
  *
14
13
  * ## Deprecations
15
14
  *
@@ -32,7 +31,7 @@ const utilities = require("./utilities");
32
31
  *
33
32
  * const main = new hcloud.PrimaryIp("main", {
34
33
  * name: "primary_ip_test",
35
- * datacenter: "fsn1-dc14",
34
+ * location: "fsn1",
36
35
  * type: "ipv4",
37
36
  * assigneeType: "server",
38
37
  * autoDelete: true,
@@ -45,7 +44,7 @@ const utilities = require("./utilities");
45
44
  * name: "test-server",
46
45
  * image: "ubuntu-24.04",
47
46
  * serverType: "cx23",
48
- * datacenter: "fsn1-dc14",
47
+ * location: "fsn1",
49
48
  * labels: {
50
49
  * test: "tessst1",
51
50
  * },
@@ -57,7 +56,7 @@ const utilities = require("./utilities");
57
56
  *
58
57
  * ## Import
59
58
  *
60
- * Primary IPs can be imported using its `id`:
59
+ * The `pulumi import` command can be used, for example:
61
60
  *
62
61
  * ```sh
63
62
  * $ pulumi import hcloud:index/primaryIp:PrimaryIp example "$PRIMARY_IP_ID"
package/primaryIp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"primaryIp.js","sourceRoot":"","sources":["../primaryIp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primaryIp.js","sourceRoot":"","sources":["../primaryIp.ts"],"names":[],"mappings":"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"}
package/rdns.d.ts CHANGED
@@ -29,7 +29,7 @@ import * as pulumi from "@pulumi/pulumi";
29
29
  * import * as hcloud from "@pulumi/hcloud";
30
30
  *
31
31
  * const primary1 = new hcloud.PrimaryIp("primary1", {
32
- * datacenter: "nbg1-dc3",
32
+ * location: "nbg1",
33
33
  * type: "ipv4",
34
34
  * });
35
35
  * const primary1Rdns = new hcloud.Rdns("primary1", {
package/rdns.js CHANGED
@@ -35,7 +35,7 @@ const utilities = require("./utilities");
35
35
  * import * as hcloud from "@pulumi/hcloud";
36
36
  *
37
37
  * const primary1 = new hcloud.PrimaryIp("primary1", {
38
- * datacenter: "nbg1-dc3",
38
+ * location: "nbg1",
39
39
  * type: "ipv4",
40
40
  * });
41
41
  * const primary1Rdns = new hcloud.Rdns("primary1", {
package/types/output.d.ts CHANGED
@@ -57,6 +57,8 @@ export interface GetCertificatesCertificate {
57
57
  export interface GetDatacentersDatacenter {
58
58
  /**
59
59
  * List of currently available Server Types in the Datacenter.
60
+ *
61
+ * @deprecated This attribute is deprecated and will be dropped after 2026-10-01. Use hcloud_server_types[].locations[].available instead.
60
62
  */
61
63
  availableServerTypeIds: number[];
62
64
  /**
@@ -79,6 +81,8 @@ export interface GetDatacentersDatacenter {
79
81
  name: string;
80
82
  /**
81
83
  * List of supported Server Types in the Datacenter.
84
+ *
85
+ * @deprecated This attribute is deprecated and will be dropped after 2026-10-01. Use hcloud_server_types[].locations[] instead.
82
86
  */
83
87
  supportedServerTypeIds: number[];
84
88
  }
@@ -432,22 +436,57 @@ export interface GetPlacementGroupsPlacementGroup {
432
436
  type: string;
433
437
  }
434
438
  export interface GetPrimaryIpsPrimaryIp {
439
+ /**
440
+ * ID of the resource the Primary IP is assigned to.
441
+ */
435
442
  assigneeId: number;
443
+ /**
444
+ * Type of the resource the Primary IP is assigned to.
445
+ */
436
446
  assigneeType: string;
447
+ /**
448
+ * Whether auto delete is enabled.
449
+ */
437
450
  autoDelete: boolean;
438
451
  /**
452
+ * Name of the Datacenter of the Primary IP.
453
+ *
439
454
  * @deprecated The datacenter attribute is deprecated and will be removed after 1 July 2026. Please use the location attribute instead. See https://docs.hetzner.cloud/changelog#2025-12-16-phasing-out-datacenters.
440
455
  */
441
456
  datacenter: string;
457
+ /**
458
+ * Whether delete protection is enabled.
459
+ */
442
460
  deleteProtection: boolean;
461
+ /**
462
+ * ID of the Primary IP.
463
+ */
443
464
  id: number;
465
+ /**
466
+ * IP address of the Primary IP.
467
+ */
444
468
  ipAddress: string;
469
+ /**
470
+ * IP network of the Primary IP for IPv6 addresses. Only set if `type` is `ipv6`.
471
+ */
445
472
  ipNetwork: string;
473
+ /**
474
+ * User-defined [labels](https://docs.hetzner.cloud/reference/cloud#labels) (key-value pairs) for the resource.
475
+ */
446
476
  labels: {
447
477
  [key: string]: string;
448
478
  };
479
+ /**
480
+ * Name of the Location of the Primary IP.
481
+ */
449
482
  location: string;
450
- name?: string;
483
+ /**
484
+ * Name of the Primary IP.
485
+ */
486
+ name: string;
487
+ /**
488
+ * Type of the Primary IP (`ipv4` or `ipv6`).
489
+ */
451
490
  type: string;
452
491
  }
453
492
  export interface GetServerNetwork {
@@ -469,6 +508,10 @@ export interface GetServerNetwork {
469
508
  networkId: number;
470
509
  }
471
510
  export interface GetServerTypeLocation {
511
+ /**
512
+ * Whether the Server Type is temporarily unavailable in this Location.
513
+ */
514
+ available: boolean;
472
515
  /**
473
516
  * Date of the Server Type deprecation announcement.
474
517
  */
@@ -485,6 +528,10 @@ export interface GetServerTypeLocation {
485
528
  * Name of the Location.
486
529
  */
487
530
  name: string;
531
+ /**
532
+ * Whether the Server Type is recommended in this Location.
533
+ */
534
+ recommended: boolean;
488
535
  /**
489
536
  * Date of the Server Type removal. After this date, the Server Type cannot be used anymore.
490
537
  */
@@ -559,6 +606,10 @@ export interface GetServerTypesServerType {
559
606
  unavailableAfter: string;
560
607
  }
561
608
  export interface GetServerTypesServerTypeLocation {
609
+ /**
610
+ * Whether the Server Type is temporarily unavailable in this Location.
611
+ */
612
+ available: boolean;
562
613
  /**
563
614
  * Date of the Server Type deprecation announcement.
564
615
  */
@@ -575,6 +626,10 @@ export interface GetServerTypesServerTypeLocation {
575
626
  * Name of the Location.
576
627
  */
577
628
  name: string;
629
+ /**
630
+ * Whether the Server Type is recommended in this Location.
631
+ */
632
+ recommended: boolean;
578
633
  /**
579
634
  * Date of the Server Type removal. After this date, the Server Type cannot be used anymore.
580
635
  */
@@ -12,7 +12,7 @@ import * as pulumi from "@pulumi/pulumi";
12
12
  * name: "node1",
13
13
  * image: "debian-12",
14
14
  * serverType: "cx23",
15
- * datacenter: "nbg1-dc3",
15
+ * location: "nbg1",
16
16
  * });
17
17
  * const master = new hcloud.Volume("master", {
18
18
  * location: "nbg1",
@@ -18,7 +18,7 @@ const utilities = require("./utilities");
18
18
  * name: "node1",
19
19
  * image: "debian-12",
20
20
  * serverType: "cx23",
21
- * datacenter: "nbg1-dc3",
21
+ * location: "nbg1",
22
22
  * });
23
23
  * const master = new hcloud.Volume("master", {
24
24
  * location: "nbg1",