pulumi-hcloud 1.21.0a1731091030__tar.gz → 1.21.0a1731114008__tar.gz

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.
Files changed (72) hide show
  1. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/PKG-INFO +1 -1
  2. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/__init__.py +2 -0
  3. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/firewall_attachment.py +2 -2
  4. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_datacenter.py +1 -1
  5. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_firewall.py +3 -3
  6. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_floating_ip.py +4 -0
  7. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_load_balancer.py +1 -1
  8. pulumi_hcloud-1.21.0a1731114008/pulumi_hcloud/get_load_balancer_type.py +200 -0
  9. pulumi_hcloud-1.21.0a1731114008/pulumi_hcloud/get_load_balancer_types.py +100 -0
  10. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_placement_group.py +3 -3
  11. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_primary_ip.py +2 -2
  12. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_server.py +2 -2
  13. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_server_type.py +9 -9
  14. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_server_types.py +17 -8
  15. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_volume.py +3 -3
  16. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_volumes.py +2 -2
  17. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/load_balancer.py +7 -7
  18. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/load_balancer_network.py +7 -7
  19. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/outputs.py +63 -8
  20. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/primary_ip.py +35 -21
  21. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/pulumi-plugin.json +1 -1
  22. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/server.py +20 -14
  23. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/server_network.py +7 -7
  24. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/volume.py +14 -14
  25. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud.egg-info/PKG-INFO +1 -1
  26. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud.egg-info/SOURCES.txt +2 -0
  27. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pyproject.toml +1 -1
  28. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/README.md +0 -0
  29. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/_inputs.py +0 -0
  30. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/_utilities.py +0 -0
  31. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/certificate.py +0 -0
  32. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/config/__init__.py +0 -0
  33. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/config/__init__.pyi +0 -0
  34. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/config/vars.py +0 -0
  35. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/firewall.py +0 -0
  36. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/floating_ip.py +0 -0
  37. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/floating_ip_assignment.py +0 -0
  38. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_certificate.py +0 -0
  39. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_certificates.py +0 -0
  40. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_datacenters.py +0 -0
  41. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_firewalls.py +0 -0
  42. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_floating_ips.py +0 -0
  43. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_image.py +0 -0
  44. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_images.py +0 -0
  45. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_load_balancers.py +0 -0
  46. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_location.py +0 -0
  47. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_locations.py +0 -0
  48. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_network.py +0 -0
  49. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_networks.py +0 -0
  50. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_placement_groups.py +0 -0
  51. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_primary_ips.py +0 -0
  52. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_servers.py +0 -0
  53. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_ssh_key.py +0 -0
  54. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/get_ssh_keys.py +0 -0
  55. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/load_balancer_service.py +0 -0
  56. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/load_balancer_target.py +0 -0
  57. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/managed_certificate.py +0 -0
  58. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/network.py +0 -0
  59. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/network_route.py +0 -0
  60. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/network_subnet.py +0 -0
  61. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/placement_group.py +0 -0
  62. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/provider.py +0 -0
  63. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/py.typed +0 -0
  64. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/rdns.py +0 -0
  65. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/snapshot.py +0 -0
  66. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/ssh_key.py +0 -0
  67. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/uploaded_certificate.py +0 -0
  68. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud/volume_attachment.py +0 -0
  69. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud.egg-info/dependency_links.txt +0 -0
  70. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud.egg-info/requires.txt +0 -0
  71. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/pulumi_hcloud.egg-info/top_level.txt +0 -0
  72. {pulumi_hcloud-1.21.0a1731091030 → pulumi_hcloud-1.21.0a1731114008}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_hcloud
3
- Version: 1.21.0a1731091030
3
+ Version: 1.21.0a1731114008
4
4
  Summary: A Pulumi package for creating and managing hcloud cloud resources.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
@@ -21,6 +21,8 @@ from .get_floating_ips import *
21
21
  from .get_image import *
22
22
  from .get_images import *
23
23
  from .get_load_balancer import *
24
+ from .get_load_balancer_type import *
25
+ from .get_load_balancer_types import *
24
26
  from .get_load_balancers import *
25
27
  from .get_location import *
26
28
  from .get_locations import *
@@ -151,7 +151,7 @@ class FirewallAttachment(pulumi.CustomResource):
151
151
  """
152
152
  Attaches resource to a Hetzner Cloud Firewall.
153
153
 
154
- *Note*: only one `FirewallAttachment` per Firewall is allowed.
154
+ _Note_: only one `FirewallAttachment` per Firewall is allowed.
155
155
  Any resources that should be attached to that Firewall need to be
156
156
  specified in that `FirewallAttachment`.
157
157
 
@@ -210,7 +210,7 @@ class FirewallAttachment(pulumi.CustomResource):
210
210
  """
211
211
  Attaches resource to a Hetzner Cloud Firewall.
212
212
 
213
- *Note*: only one `FirewallAttachment` per Firewall is allowed.
213
+ _Note_: only one `FirewallAttachment` per Firewall is allowed.
214
214
  Any resources that should be attached to that Firewall need to be
215
215
  specified in that `FirewallAttachment`.
216
216
 
@@ -74,7 +74,7 @@ class GetDatacenterResult:
74
74
  @pulumi.getter
75
75
  def location(self) -> Mapping[str, str]:
76
76
  """
77
- (map) Physical datacenter location.
77
+ (map) Location details of the datacenter. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
78
78
  """
79
79
  return pulumi.get(self, "location")
80
80
 
@@ -92,7 +92,7 @@ class GetFirewallResult:
92
92
  @pulumi.getter
93
93
  def rules(self) -> Optional[Sequence['outputs.GetFirewallRuleResult']]:
94
94
  """
95
- (string) Configuration of a Rule from this Firewall.
95
+ (string) Configuration of a Rule from this Firewall.
96
96
  """
97
97
  return pulumi.get(self, "rules")
98
98
 
@@ -142,7 +142,7 @@ def get_firewall(apply_tos: Optional[Sequence[Union['GetFirewallApplyToArgs', 'G
142
142
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
143
143
  :param bool most_recent: Return most recent firewall if multiple are found.
144
144
  :param str name: Name of the firewall.
145
- :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
145
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
146
146
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
147
147
  """
148
148
  __args__ = dict()
@@ -189,7 +189,7 @@ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[Union
189
189
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
190
190
  :param bool most_recent: Return most recent firewall if multiple are found.
191
191
  :param str name: Name of the firewall.
192
- :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
192
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
193
193
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
194
194
  """
195
195
  __args__ = dict()
@@ -190,10 +190,12 @@ def get_floating_ip(id: Optional[int] = None,
190
190
  ## Example Usage
191
191
 
192
192
  # Data Source: FloatingIp
193
+
193
194
  Provides details about a Hetzner Cloud Floating IP.
194
195
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
195
196
 
196
197
  ### Additional Examples
198
+
197
199
  ```python
198
200
  import pulumi
199
201
  import pulumi_hcloud as hcloud
@@ -249,10 +251,12 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
249
251
  ## Example Usage
250
252
 
251
253
  # Data Source: FloatingIp
254
+
252
255
  Provides details about a Hetzner Cloud Floating IP.
253
256
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
254
257
 
255
258
  ### Additional Examples
259
+
256
260
  ```python
257
261
  import pulumi
258
262
  import pulumi_hcloud as hcloud
@@ -134,7 +134,7 @@ class GetLoadBalancerResult:
134
134
  @pulumi.getter
135
135
  def location(self) -> str:
136
136
  """
137
- (string) Name of the location the Load Balancer is in.
137
+ (string) Name of the location the Load Balancer is in. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
138
138
  """
139
139
  return pulumi.get(self, "location")
140
140
 
@@ -0,0 +1,200 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+
17
+ __all__ = [
18
+ 'GetLoadBalancerTypeResult',
19
+ 'AwaitableGetLoadBalancerTypeResult',
20
+ 'get_load_balancer_type',
21
+ 'get_load_balancer_type_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetLoadBalancerTypeResult:
26
+ """
27
+ A collection of values returned by getLoadBalancerType.
28
+ """
29
+ def __init__(__self__, description=None, id=None, max_assigned_certificates=None, max_connections=None, max_services=None, max_targets=None, name=None):
30
+ if description and not isinstance(description, str):
31
+ raise TypeError("Expected argument 'description' to be a str")
32
+ pulumi.set(__self__, "description", description)
33
+ if id and not isinstance(id, int):
34
+ raise TypeError("Expected argument 'id' to be a int")
35
+ pulumi.set(__self__, "id", id)
36
+ if max_assigned_certificates and not isinstance(max_assigned_certificates, int):
37
+ raise TypeError("Expected argument 'max_assigned_certificates' to be a int")
38
+ pulumi.set(__self__, "max_assigned_certificates", max_assigned_certificates)
39
+ if max_connections and not isinstance(max_connections, int):
40
+ raise TypeError("Expected argument 'max_connections' to be a int")
41
+ pulumi.set(__self__, "max_connections", max_connections)
42
+ if max_services and not isinstance(max_services, int):
43
+ raise TypeError("Expected argument 'max_services' to be a int")
44
+ pulumi.set(__self__, "max_services", max_services)
45
+ if max_targets and not isinstance(max_targets, int):
46
+ raise TypeError("Expected argument 'max_targets' to be a int")
47
+ pulumi.set(__self__, "max_targets", max_targets)
48
+ if name and not isinstance(name, str):
49
+ raise TypeError("Expected argument 'name' to be a str")
50
+ pulumi.set(__self__, "name", name)
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def description(self) -> str:
55
+ """
56
+ (string) Description of the load_balancer_type.
57
+ """
58
+ return pulumi.get(self, "description")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def id(self) -> int:
63
+ """
64
+ (int) Unique ID of the load_balancer_type.
65
+ """
66
+ return pulumi.get(self, "id")
67
+
68
+ @property
69
+ @pulumi.getter(name="maxAssignedCertificates")
70
+ def max_assigned_certificates(self) -> int:
71
+ """
72
+ (int) Maximum number of SSL Certificates that can be assigned to the Load Balancer of this type.
73
+ """
74
+ return pulumi.get(self, "max_assigned_certificates")
75
+
76
+ @property
77
+ @pulumi.getter(name="maxConnections")
78
+ def max_connections(self) -> int:
79
+ """
80
+ (int) Maximum number of simultaneous open connections for the Load Balancer of this type.
81
+ """
82
+ return pulumi.get(self, "max_connections")
83
+
84
+ @property
85
+ @pulumi.getter(name="maxServices")
86
+ def max_services(self) -> int:
87
+ """
88
+ (int) Maximum number of services for the Load Balancer of this type.
89
+ """
90
+ return pulumi.get(self, "max_services")
91
+
92
+ @property
93
+ @pulumi.getter(name="maxTargets")
94
+ def max_targets(self) -> int:
95
+ """
96
+ (int) Maximum number of targets for the Load Balancer of this type.
97
+ """
98
+ return pulumi.get(self, "max_targets")
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def name(self) -> str:
103
+ """
104
+ (string) Name of the load_balancer_type.
105
+ """
106
+ return pulumi.get(self, "name")
107
+
108
+
109
+ class AwaitableGetLoadBalancerTypeResult(GetLoadBalancerTypeResult):
110
+ # pylint: disable=using-constant-test
111
+ def __await__(self):
112
+ if False:
113
+ yield self
114
+ return GetLoadBalancerTypeResult(
115
+ description=self.description,
116
+ id=self.id,
117
+ max_assigned_certificates=self.max_assigned_certificates,
118
+ max_connections=self.max_connections,
119
+ max_services=self.max_services,
120
+ max_targets=self.max_targets,
121
+ name=self.name)
122
+
123
+
124
+ def get_load_balancer_type(id: Optional[int] = None,
125
+ name: Optional[str] = None,
126
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypeResult:
127
+ """
128
+ Provides details about a specific Hetzner Cloud Load Balancer Type.
129
+ Use this resource to get detailed information about specific Load Balancer Type.
130
+
131
+ ## Example Usage
132
+
133
+ ```python
134
+ import pulumi
135
+ import pulumi_hcloud as hcloud
136
+
137
+ by_name = hcloud.get_load_balancer_type(name="cx22")
138
+ by_id = hcloud.get_load_balancer_type(id=1)
139
+ load_balancer = hcloud.LoadBalancer("load_balancer",
140
+ name="my-load-balancer",
141
+ load_balancer_type=name,
142
+ location="nbg1")
143
+ ```
144
+
145
+
146
+ :param int id: ID of the load_balancer_type.
147
+ :param str name: Name of the load_balancer_type.
148
+ """
149
+ __args__ = dict()
150
+ __args__['id'] = id
151
+ __args__['name'] = name
152
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
153
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult).value
154
+
155
+ return AwaitableGetLoadBalancerTypeResult(
156
+ description=pulumi.get(__ret__, 'description'),
157
+ id=pulumi.get(__ret__, 'id'),
158
+ max_assigned_certificates=pulumi.get(__ret__, 'max_assigned_certificates'),
159
+ max_connections=pulumi.get(__ret__, 'max_connections'),
160
+ max_services=pulumi.get(__ret__, 'max_services'),
161
+ max_targets=pulumi.get(__ret__, 'max_targets'),
162
+ name=pulumi.get(__ret__, 'name'))
163
+ def get_load_balancer_type_output(id: Optional[pulumi.Input[Optional[int]]] = None,
164
+ name: Optional[pulumi.Input[Optional[str]]] = None,
165
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerTypeResult]:
166
+ """
167
+ Provides details about a specific Hetzner Cloud Load Balancer Type.
168
+ Use this resource to get detailed information about specific Load Balancer Type.
169
+
170
+ ## Example Usage
171
+
172
+ ```python
173
+ import pulumi
174
+ import pulumi_hcloud as hcloud
175
+
176
+ by_name = hcloud.get_load_balancer_type(name="cx22")
177
+ by_id = hcloud.get_load_balancer_type(id=1)
178
+ load_balancer = hcloud.LoadBalancer("load_balancer",
179
+ name="my-load-balancer",
180
+ load_balancer_type=name,
181
+ location="nbg1")
182
+ ```
183
+
184
+
185
+ :param int id: ID of the load_balancer_type.
186
+ :param str name: Name of the load_balancer_type.
187
+ """
188
+ __args__ = dict()
189
+ __args__['id'] = id
190
+ __args__['name'] = name
191
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
192
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerType:getLoadBalancerType', __args__, opts=opts, typ=GetLoadBalancerTypeResult)
193
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypeResult(
194
+ description=pulumi.get(__response__, 'description'),
195
+ id=pulumi.get(__response__, 'id'),
196
+ max_assigned_certificates=pulumi.get(__response__, 'max_assigned_certificates'),
197
+ max_connections=pulumi.get(__response__, 'max_connections'),
198
+ max_services=pulumi.get(__response__, 'max_services'),
199
+ max_targets=pulumi.get(__response__, 'max_targets'),
200
+ name=pulumi.get(__response__, 'name')))
@@ -0,0 +1,100 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetLoadBalancerTypesResult',
20
+ 'AwaitableGetLoadBalancerTypesResult',
21
+ 'get_load_balancer_types',
22
+ 'get_load_balancer_types_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetLoadBalancerTypesResult:
27
+ """
28
+ A collection of values returned by getLoadBalancerTypes.
29
+ """
30
+ def __init__(__self__, id=None, load_balancer_types=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if load_balancer_types and not isinstance(load_balancer_types, list):
35
+ raise TypeError("Expected argument 'load_balancer_types' to be a list")
36
+ pulumi.set(__self__, "load_balancer_types", load_balancer_types)
37
+
38
+ @property
39
+ @pulumi.getter
40
+ def id(self) -> str:
41
+ return pulumi.get(self, "id")
42
+
43
+ @property
44
+ @pulumi.getter(name="loadBalancerTypes")
45
+ def load_balancer_types(self) -> Sequence['outputs.GetLoadBalancerTypesLoadBalancerTypeResult']:
46
+ """
47
+ (list) List of all load balancer types. See `data.hcloud_load_balancer_type` for the schema.
48
+ """
49
+ return pulumi.get(self, "load_balancer_types")
50
+
51
+
52
+ class AwaitableGetLoadBalancerTypesResult(GetLoadBalancerTypesResult):
53
+ # pylint: disable=using-constant-test
54
+ def __await__(self):
55
+ if False:
56
+ yield self
57
+ return GetLoadBalancerTypesResult(
58
+ id=self.id,
59
+ load_balancer_types=self.load_balancer_types)
60
+
61
+
62
+ def get_load_balancer_types(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLoadBalancerTypesResult:
63
+ """
64
+ Provides a list of available Hetzner Cloud Load Balancer Types.
65
+
66
+ ## Example Usage
67
+
68
+ ```python
69
+ import pulumi
70
+ import pulumi_hcloud as hcloud
71
+
72
+ all = hcloud.get_load_balancer_types()
73
+ ```
74
+ """
75
+ __args__ = dict()
76
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
77
+ __ret__ = pulumi.runtime.invoke('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult).value
78
+
79
+ return AwaitableGetLoadBalancerTypesResult(
80
+ id=pulumi.get(__ret__, 'id'),
81
+ load_balancer_types=pulumi.get(__ret__, 'load_balancer_types'))
82
+ def get_load_balancer_types_output(opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetLoadBalancerTypesResult]:
83
+ """
84
+ Provides a list of available Hetzner Cloud Load Balancer Types.
85
+
86
+ ## Example Usage
87
+
88
+ ```python
89
+ import pulumi
90
+ import pulumi_hcloud as hcloud
91
+
92
+ all = hcloud.get_load_balancer_types()
93
+ ```
94
+ """
95
+ __args__ = dict()
96
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
97
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getLoadBalancerTypes:getLoadBalancerTypes', __args__, opts=opts, typ=GetLoadBalancerTypesResult)
98
+ return __ret__.apply(lambda __response__: GetLoadBalancerTypesResult(
99
+ id=pulumi.get(__response__, 'id'),
100
+ load_balancer_types=pulumi.get(__response__, 'load_balancer_types')))
@@ -87,7 +87,7 @@ class GetPlacementGroupResult:
87
87
  @pulumi.getter
88
88
  def type(self) -> str:
89
89
  """
90
- (string) Type of the Placement Group.
90
+ (string) Type of the Placement Group.
91
91
  """
92
92
  return pulumi.get(self, "type")
93
93
 
@@ -135,7 +135,7 @@ def get_placement_group(id: Optional[int] = None,
135
135
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
136
136
  :param bool most_recent: Return most recent placement group if multiple are found.
137
137
  :param str name: Name of the placement group.
138
- :param str type: (string) Type of the Placement Group.
138
+ :param str type: (string) Type of the Placement Group.
139
139
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
140
140
  """
141
141
  __args__ = dict()
@@ -179,7 +179,7 @@ def get_placement_group_output(id: Optional[pulumi.Input[Optional[int]]] = None,
179
179
  :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
180
180
  :param bool most_recent: Return most recent placement group if multiple are found.
181
181
  :param str name: Name of the placement group.
182
- :param str type: (string) Type of the Placement Group.
182
+ :param str type: (string) Type of the Placement Group.
183
183
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
184
184
  """
185
185
  __args__ = dict()
@@ -92,7 +92,7 @@ class GetPrimaryIpResult:
92
92
  @pulumi.getter
93
93
  def datacenter(self) -> str:
94
94
  """
95
- (string) The datacenter name of the Primary IP.
95
+ (string) The datacenter name of the Primary IP. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
96
96
  """
97
97
  return pulumi.get(self, "datacenter")
98
98
 
@@ -132,7 +132,7 @@ class GetPrimaryIpResult:
132
132
  @pulumi.getter
133
133
  def labels(self) -> Mapping[str, str]:
134
134
  """
135
- (string) Description of the Primary IP.
135
+ (map) User-defined labels (key-value pairs).
136
136
  """
137
137
  return pulumi.get(self, "labels")
138
138
 
@@ -117,7 +117,7 @@ class GetServerResult:
117
117
  @pulumi.getter
118
118
  def datacenter(self) -> str:
119
119
  """
120
- (string) The datacenter name.
120
+ (string) The datacenter name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-datacenters-are-there) for more details about datacenters.
121
121
  """
122
122
  return pulumi.get(self, "datacenter")
123
123
 
@@ -197,7 +197,7 @@ class GetServerResult:
197
197
  @pulumi.getter
198
198
  def location(self) -> str:
199
199
  """
200
- (string) The location name.
200
+ (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
201
201
  """
202
202
  return pulumi.get(self, "location")
203
203
 
@@ -30,8 +30,8 @@ class GetServerTypeResult:
30
30
  if architecture and not isinstance(architecture, str):
31
31
  raise TypeError("Expected argument 'architecture' to be a str")
32
32
  pulumi.set(__self__, "architecture", architecture)
33
- if cores and not isinstance(cores, int):
34
- raise TypeError("Expected argument 'cores' to be a int")
33
+ if cores and not isinstance(cores, float):
34
+ raise TypeError("Expected argument 'cores' to be a float")
35
35
  pulumi.set(__self__, "cores", cores)
36
36
  if cpu_type and not isinstance(cpu_type, str):
37
37
  raise TypeError("Expected argument 'cpu_type' to be a str")
@@ -42,8 +42,8 @@ class GetServerTypeResult:
42
42
  if description and not isinstance(description, str):
43
43
  raise TypeError("Expected argument 'description' to be a str")
44
44
  pulumi.set(__self__, "description", description)
45
- if disk and not isinstance(disk, int):
46
- raise TypeError("Expected argument 'disk' to be a int")
45
+ if disk and not isinstance(disk, float):
46
+ raise TypeError("Expected argument 'disk' to be a float")
47
47
  pulumi.set(__self__, "disk", disk)
48
48
  if id and not isinstance(id, int):
49
49
  raise TypeError("Expected argument 'id' to be a int")
@@ -54,8 +54,8 @@ class GetServerTypeResult:
54
54
  if is_deprecated and not isinstance(is_deprecated, bool):
55
55
  raise TypeError("Expected argument 'is_deprecated' to be a bool")
56
56
  pulumi.set(__self__, "is_deprecated", is_deprecated)
57
- if memory and not isinstance(memory, int):
58
- raise TypeError("Expected argument 'memory' to be a int")
57
+ if memory and not isinstance(memory, float):
58
+ raise TypeError("Expected argument 'memory' to be a float")
59
59
  pulumi.set(__self__, "memory", memory)
60
60
  if name and not isinstance(name, str):
61
61
  raise TypeError("Expected argument 'name' to be a str")
@@ -77,7 +77,7 @@ class GetServerTypeResult:
77
77
 
78
78
  @property
79
79
  @pulumi.getter
80
- def cores(self) -> int:
80
+ def cores(self) -> float:
81
81
  """
82
82
  (int) Number of cpu cores a Server of this type will have.
83
83
  """
@@ -106,7 +106,7 @@ class GetServerTypeResult:
106
106
 
107
107
  @property
108
108
  @pulumi.getter
109
- def disk(self) -> int:
109
+ def disk(self) -> float:
110
110
  """
111
111
  (int) Disk size a Server of this type will have in GB.
112
112
  """
@@ -139,7 +139,7 @@ class GetServerTypeResult:
139
139
 
140
140
  @property
141
141
  @pulumi.getter
142
- def memory(self) -> int:
142
+ def memory(self) -> float:
143
143
  """
144
144
  (int) Memory a Server of this type will have in GB.
145
145
  """
@@ -47,21 +47,18 @@ class GetServerTypesResult:
47
47
  @property
48
48
  @pulumi.getter
49
49
  @_utilities.deprecated("""Use server_types list instead""")
50
- def descriptions(self) -> Sequence[str]:
50
+ def descriptions(self) -> Optional[Sequence[str]]:
51
51
  return pulumi.get(self, "descriptions")
52
52
 
53
53
  @property
54
54
  @pulumi.getter
55
- def id(self) -> str:
56
- """
57
- The provider-assigned unique ID for this managed resource.
58
- """
55
+ def id(self) -> Optional[str]:
59
56
  return pulumi.get(self, "id")
60
57
 
61
58
  @property
62
59
  @pulumi.getter
63
60
  @_utilities.deprecated("""Use server_types list instead""")
64
- def names(self) -> Sequence[str]:
61
+ def names(self) -> Optional[Sequence[str]]:
65
62
  return pulumi.get(self, "names")
66
63
 
67
64
  @property
@@ -92,12 +89,18 @@ class AwaitableGetServerTypesResult(GetServerTypesResult):
92
89
  server_types=self.server_types)
93
90
 
94
91
 
95
- def get_server_types(server_type_ids: Optional[Sequence[str]] = None,
92
+ def get_server_types(descriptions: Optional[Sequence[str]] = None,
93
+ id: Optional[str] = None,
94
+ names: Optional[Sequence[str]] = None,
95
+ server_type_ids: Optional[Sequence[str]] = None,
96
96
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServerTypesResult:
97
97
  """
98
98
  Provides a list of available Hetzner Cloud Server Types.
99
99
  """
100
100
  __args__ = dict()
101
+ __args__['descriptions'] = descriptions
102
+ __args__['id'] = id
103
+ __args__['names'] = names
101
104
  __args__['serverTypeIds'] = server_type_ids
102
105
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
103
106
  __ret__ = pulumi.runtime.invoke('hcloud:index/getServerTypes:getServerTypes', __args__, opts=opts, typ=GetServerTypesResult).value
@@ -108,12 +111,18 @@ def get_server_types(server_type_ids: Optional[Sequence[str]] = None,
108
111
  names=pulumi.get(__ret__, 'names'),
109
112
  server_type_ids=pulumi.get(__ret__, 'server_type_ids'),
110
113
  server_types=pulumi.get(__ret__, 'server_types'))
111
- def get_server_types_output(server_type_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
114
+ def get_server_types_output(descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
115
+ id: Optional[pulumi.Input[Optional[str]]] = None,
116
+ names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
117
+ server_type_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
112
118
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetServerTypesResult]:
113
119
  """
114
120
  Provides a list of available Hetzner Cloud Server Types.
115
121
  """
116
122
  __args__ = dict()
123
+ __args__['descriptions'] = descriptions
124
+ __args__['id'] = id
125
+ __args__['names'] = names
117
126
  __args__['serverTypeIds'] = server_type_ids
118
127
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
119
128
  __ret__ = pulumi.runtime.invoke_output('hcloud:index/getServerTypes:getServerTypes', __args__, opts=opts, typ=GetServerTypesResult)
@@ -97,7 +97,7 @@ class GetVolumeResult:
97
97
  @pulumi.getter
98
98
  def location(self) -> Optional[str]:
99
99
  """
100
- (string) The location name.
100
+ (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
101
101
  """
102
102
  return pulumi.get(self, "location")
103
103
 
@@ -183,7 +183,7 @@ def get_volume(id: Optional[int] = None,
183
183
 
184
184
 
185
185
  :param int id: ID of the volume.
186
- :param str location: (string) The location name.
186
+ :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
187
187
  :param str name: Name of the volume.
188
188
  :param int server_id: (Optional, int) Server ID the volume is attached to
189
189
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
@@ -234,7 +234,7 @@ def get_volume_output(id: Optional[pulumi.Input[Optional[int]]] = None,
234
234
 
235
235
 
236
236
  :param int id: ID of the volume.
237
- :param str location: (string) The location name.
237
+ :param str location: (string) The location name. See the [Hetzner Docs](https://docs.hetzner.com/cloud/general/locations/#what-locations-are-there) for more details about locations.
238
238
  :param str name: Name of the volume.
239
239
  :param int server_id: (Optional, int) Server ID the volume is attached to
240
240
  :param str with_selector: Label Selector. For more information about possible values, visit the [Hetzner Cloud Documentation](https://docs.hetzner.cloud/#overview-label-selector).
@@ -84,7 +84,7 @@ def get_volumes(with_selector: Optional[str] = None,
84
84
  with_statuses: Optional[Sequence[str]] = None,
85
85
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumesResult:
86
86
  """
87
- Provides details about multiple Hetzner Cloud volumes.
87
+ Provides details about multiple Hetzner Cloud Volumes.
88
88
 
89
89
  ## Example Usage
90
90
 
@@ -115,7 +115,7 @@ def get_volumes_output(with_selector: Optional[pulumi.Input[Optional[str]]] = No
115
115
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
116
116
  opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetVolumesResult]:
117
117
  """
118
- Provides details about multiple Hetzner Cloud volumes.
118
+ Provides details about multiple Hetzner Cloud Volumes.
119
119
 
120
120
  ## Example Usage
121
121