pulumi-hcloud 1.18.0a1710156455__py3-none-any.whl → 1.22.0a1736849475__py3-none-any.whl

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 (66) hide show
  1. pulumi_hcloud/__init__.py +2 -0
  2. pulumi_hcloud/_inputs.py +247 -15
  3. pulumi_hcloud/_utilities.py +41 -5
  4. pulumi_hcloud/certificate.py +15 -10
  5. pulumi_hcloud/config/__init__.pyi +5 -0
  6. pulumi_hcloud/config/vars.py +5 -0
  7. pulumi_hcloud/firewall.py +77 -70
  8. pulumi_hcloud/firewall_attachment.py +27 -26
  9. pulumi_hcloud/floating_ip.py +39 -36
  10. pulumi_hcloud/floating_ip_assignment.py +11 -8
  11. pulumi_hcloud/get_certificate.py +25 -10
  12. pulumi_hcloud/get_certificates.py +14 -9
  13. pulumi_hcloud/get_datacenter.py +38 -27
  14. pulumi_hcloud/get_datacenters.py +28 -53
  15. pulumi_hcloud/get_firewall.py +38 -23
  16. pulumi_hcloud/get_firewalls.py +16 -9
  17. pulumi_hcloud/get_floating_ip.py +37 -17
  18. pulumi_hcloud/get_floating_ips.py +14 -9
  19. pulumi_hcloud/get_image.py +37 -13
  20. pulumi_hcloud/get_images.py +22 -9
  21. pulumi_hcloud/get_load_balancer.py +30 -11
  22. pulumi_hcloud/get_load_balancer_type.py +202 -0
  23. pulumi_hcloud/get_load_balancer_types.py +100 -0
  24. pulumi_hcloud/get_load_balancers.py +14 -9
  25. pulumi_hcloud/get_location.py +42 -29
  26. pulumi_hcloud/get_locations.py +28 -53
  27. pulumi_hcloud/get_network.py +28 -15
  28. pulumi_hcloud/get_networks.py +14 -9
  29. pulumi_hcloud/get_placement_group.py +31 -17
  30. pulumi_hcloud/get_placement_groups.py +16 -9
  31. pulumi_hcloud/get_primary_ip.py +42 -22
  32. pulumi_hcloud/get_primary_ips.py +14 -9
  33. pulumi_hcloud/get_server.py +43 -15
  34. pulumi_hcloud/get_server_type.py +75 -53
  35. pulumi_hcloud/get_server_types.py +39 -23
  36. pulumi_hcloud/get_servers.py +16 -9
  37. pulumi_hcloud/get_ssh_key.py +58 -36
  38. pulumi_hcloud/get_ssh_keys.py +35 -24
  39. pulumi_hcloud/get_volume.py +33 -16
  40. pulumi_hcloud/get_volumes.py +18 -11
  41. pulumi_hcloud/load_balancer.py +63 -64
  42. pulumi_hcloud/load_balancer_network.py +26 -17
  43. pulumi_hcloud/load_balancer_service.py +57 -54
  44. pulumi_hcloud/load_balancer_target.py +23 -18
  45. pulumi_hcloud/managed_certificate.py +57 -20
  46. pulumi_hcloud/network.py +27 -22
  47. pulumi_hcloud/network_route.py +13 -8
  48. pulumi_hcloud/network_subnet.py +13 -8
  49. pulumi_hcloud/outputs.py +265 -46
  50. pulumi_hcloud/placement_group.py +27 -22
  51. pulumi_hcloud/primary_ip.py +66 -47
  52. pulumi_hcloud/provider.py +5 -0
  53. pulumi_hcloud/pulumi-plugin.json +2 -1
  54. pulumi_hcloud/rdns.py +41 -40
  55. pulumi_hcloud/server.py +123 -176
  56. pulumi_hcloud/server_network.py +24 -17
  57. pulumi_hcloud/snapshot.py +25 -22
  58. pulumi_hcloud/ssh_key.py +52 -51
  59. pulumi_hcloud/uploaded_certificate.py +73 -20
  60. pulumi_hcloud/volume.py +37 -32
  61. pulumi_hcloud/volume_attachment.py +11 -8
  62. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/METADATA +7 -6
  63. pulumi_hcloud-1.22.0a1736849475.dist-info/RECORD +67 -0
  64. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/WHEEL +1 -1
  65. pulumi_hcloud-1.18.0a1710156455.dist-info/RECORD +0 -65
  66. {pulumi_hcloud-1.18.0a1710156455.dist-info → pulumi_hcloud-1.22.0a1736849475.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -41,48 +46,33 @@ class GetDatacentersResult:
41
46
 
42
47
  @property
43
48
  @pulumi.getter(name="datacenterIds")
44
- def datacenter_ids(self) -> Optional[Sequence[str]]:
45
- """
46
- (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
47
- """
48
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
49
- pulumi.log.warn("""datacenter_ids is deprecated: Use datacenters list instead""")
50
-
49
+ @_utilities.deprecated("""Use datacenters list instead""")
50
+ def datacenter_ids(self) -> Sequence[str]:
51
51
  return pulumi.get(self, "datacenter_ids")
52
52
 
53
53
  @property
54
54
  @pulumi.getter
55
55
  def datacenters(self) -> Sequence['outputs.GetDatacentersDatacenterResult']:
56
- """
57
- (list) List of all datacenters. See `data.hcloud_datacenter` for schema.
58
- """
59
56
  return pulumi.get(self, "datacenters")
60
57
 
61
58
  @property
62
59
  @pulumi.getter
63
- def descriptions(self) -> Optional[Sequence[str]]:
64
- """
65
- (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
66
- """
67
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
68
- pulumi.log.warn("""descriptions is deprecated: Use datacenters list instead""")
69
-
60
+ @_utilities.deprecated("""Use datacenters list instead""")
61
+ def descriptions(self) -> Sequence[str]:
70
62
  return pulumi.get(self, "descriptions")
71
63
 
72
64
  @property
73
65
  @pulumi.getter
74
- def id(self) -> Optional[str]:
66
+ def id(self) -> str:
67
+ """
68
+ The ID of this resource.
69
+ """
75
70
  return pulumi.get(self, "id")
76
71
 
77
72
  @property
78
73
  @pulumi.getter
79
- def names(self) -> Optional[Sequence[str]]:
80
- """
81
- (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
82
- """
83
- warnings.warn("""Use datacenters list instead""", DeprecationWarning)
84
- pulumi.log.warn("""names is deprecated: Use datacenters list instead""")
85
-
74
+ @_utilities.deprecated("""Use datacenters list instead""")
75
+ def names(self) -> Sequence[str]:
86
76
  return pulumi.get(self, "names")
87
77
 
88
78
 
@@ -99,25 +89,13 @@ class AwaitableGetDatacentersResult(GetDatacentersResult):
99
89
  names=self.names)
100
90
 
101
91
 
102
- def get_datacenters(datacenter_ids: Optional[Sequence[str]] = None,
103
- descriptions: Optional[Sequence[str]] = None,
104
- id: Optional[str] = None,
105
- names: Optional[Sequence[str]] = None,
106
- opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatacentersResult:
92
+ def get_datacenters(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDatacentersResult:
107
93
  """
108
94
  Provides a list of available Hetzner Cloud Datacenters.
109
- This resource may be useful to create highly available infrastructure, distributed across several datacenters.
110
-
111
95
 
112
- :param Sequence[str] datacenter_ids: (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
113
- :param Sequence[str] descriptions: (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
114
- :param Sequence[str] names: (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
96
+ This resource may be useful to create highly available infrastructure, distributed across several Datacenters.
115
97
  """
116
98
  __args__ = dict()
117
- __args__['datacenterIds'] = datacenter_ids
118
- __args__['descriptions'] = descriptions
119
- __args__['id'] = id
120
- __args__['names'] = names
121
99
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
122
100
  __ret__ = pulumi.runtime.invoke('hcloud:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult).value
123
101
 
@@ -127,21 +105,18 @@ def get_datacenters(datacenter_ids: Optional[Sequence[str]] = None,
127
105
  descriptions=pulumi.get(__ret__, 'descriptions'),
128
106
  id=pulumi.get(__ret__, 'id'),
129
107
  names=pulumi.get(__ret__, 'names'))
130
-
131
-
132
- @_utilities.lift_output_func(get_datacenters)
133
- def get_datacenters_output(datacenter_ids: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
134
- descriptions: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
135
- id: Optional[pulumi.Input[Optional[str]]] = None,
136
- names: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
137
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDatacentersResult]:
108
+ def get_datacenters_output(opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDatacentersResult]:
138
109
  """
139
110
  Provides a list of available Hetzner Cloud Datacenters.
140
- This resource may be useful to create highly available infrastructure, distributed across several datacenters.
141
111
 
142
-
143
- :param Sequence[str] datacenter_ids: (list) List of unique datacenter identifiers. **Deprecated**: Use `datacenters` attribute instead.
144
- :param Sequence[str] descriptions: (list) List of all datacenter descriptions. **Deprecated**: Use `datacenters` attribute instead.
145
- :param Sequence[str] names: (list) List of datacenter names. **Deprecated**: Use `datacenters` attribute instead.
112
+ This resource may be useful to create highly available infrastructure, distributed across several Datacenters.
146
113
  """
147
- ...
114
+ __args__ = dict()
115
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
116
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getDatacenters:getDatacenters', __args__, opts=opts, typ=GetDatacentersResult)
117
+ return __ret__.apply(lambda __response__: GetDatacentersResult(
118
+ datacenter_ids=pulumi.get(__response__, 'datacenter_ids'),
119
+ datacenters=pulumi.get(__response__, 'datacenters'),
120
+ descriptions=pulumi.get(__response__, 'descriptions'),
121
+ id=pulumi.get(__response__, 'id'),
122
+ names=pulumi.get(__response__, 'names')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -64,7 +69,7 @@ class GetFirewallResult:
64
69
 
65
70
  @property
66
71
  @pulumi.getter
67
- def labels(self) -> Optional[Mapping[str, Any]]:
72
+ def labels(self) -> Optional[Mapping[str, str]]:
68
73
  """
69
74
  (map) User-defined labels (key-value pairs)
70
75
  """
@@ -87,7 +92,7 @@ class GetFirewallResult:
87
92
  @pulumi.getter
88
93
  def rules(self) -> Optional[Sequence['outputs.GetFirewallRuleResult']]:
89
94
  """
90
- (string) Configuration of a Rule from this Firewall.
95
+ (string) Configuration of a Rule from this Firewall.
91
96
  """
92
97
  return pulumi.get(self, "rules")
93
98
 
@@ -112,18 +117,17 @@ class AwaitableGetFirewallResult(GetFirewallResult):
112
117
  with_selector=self.with_selector)
113
118
 
114
119
 
115
- def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApplyToArgs']]] = None,
120
+ def get_firewall(apply_tos: Optional[Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']]] = None,
116
121
  id: Optional[int] = None,
117
- labels: Optional[Mapping[str, Any]] = None,
122
+ labels: Optional[Mapping[str, str]] = None,
118
123
  most_recent: Optional[bool] = None,
119
124
  name: Optional[str] = None,
120
- rules: Optional[Sequence[pulumi.InputType['GetFirewallRuleArgs']]] = None,
125
+ rules: Optional[Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']]] = None,
121
126
  with_selector: Optional[str] = None,
122
127
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFirewallResult:
123
128
  """
124
129
  Provides details about a specific Hetzner Cloud Firewall.
125
130
 
126
- <!--Start PulumiCodeChooser -->
127
131
  ```python
128
132
  import pulumi
129
133
  import pulumi_hcloud as hcloud
@@ -131,15 +135,14 @@ def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApply
131
135
  sample_firewall1 = hcloud.get_firewall(name="sample-firewall-1")
132
136
  sample_firewall2 = hcloud.get_firewall(id=4711)
133
137
  ```
134
- <!--End PulumiCodeChooser -->
135
138
 
136
139
 
137
- :param Sequence[pulumi.InputType['GetFirewallApplyToArgs']] apply_tos: Configuration of the Applied Resources
140
+ :param Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']] apply_tos: Configuration of the Applied Resources
138
141
  :param int id: ID of the firewall.
139
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
142
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
140
143
  :param bool most_recent: Return most recent firewall if multiple are found.
141
144
  :param str name: Name of the firewall.
142
- :param Sequence[pulumi.InputType['GetFirewallRuleArgs']] rules: (string) Configuration of a Rule from this Firewall.
145
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
143
146
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
144
147
  """
145
148
  __args__ = dict()
@@ -161,21 +164,17 @@ def get_firewall(apply_tos: Optional[Sequence[pulumi.InputType['GetFirewallApply
161
164
  name=pulumi.get(__ret__, 'name'),
162
165
  rules=pulumi.get(__ret__, 'rules'),
163
166
  with_selector=pulumi.get(__ret__, 'with_selector'))
164
-
165
-
166
- @_utilities.lift_output_func(get_firewall)
167
- def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetFirewallApplyToArgs']]]]] = None,
167
+ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']]]]] = None,
168
168
  id: Optional[pulumi.Input[Optional[int]]] = None,
169
- labels: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None,
169
+ labels: Optional[pulumi.Input[Optional[Mapping[str, str]]]] = None,
170
170
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
171
171
  name: Optional[pulumi.Input[Optional[str]]] = None,
172
- rules: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetFirewallRuleArgs']]]]] = None,
172
+ rules: Optional[pulumi.Input[Optional[Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']]]]] = None,
173
173
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
174
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallResult]:
174
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallResult]:
175
175
  """
176
176
  Provides details about a specific Hetzner Cloud Firewall.
177
177
 
178
- <!--Start PulumiCodeChooser -->
179
178
  ```python
180
179
  import pulumi
181
180
  import pulumi_hcloud as hcloud
@@ -183,15 +182,31 @@ def get_firewall_output(apply_tos: Optional[pulumi.Input[Optional[Sequence[pulum
183
182
  sample_firewall1 = hcloud.get_firewall(name="sample-firewall-1")
184
183
  sample_firewall2 = hcloud.get_firewall(id=4711)
185
184
  ```
186
- <!--End PulumiCodeChooser -->
187
185
 
188
186
 
189
- :param Sequence[pulumi.InputType['GetFirewallApplyToArgs']] apply_tos: Configuration of the Applied Resources
187
+ :param Sequence[Union['GetFirewallApplyToArgs', 'GetFirewallApplyToArgsDict']] apply_tos: Configuration of the Applied Resources
190
188
  :param int id: ID of the firewall.
191
- :param Mapping[str, Any] labels: (map) User-defined labels (key-value pairs)
189
+ :param Mapping[str, str] labels: (map) User-defined labels (key-value pairs)
192
190
  :param bool most_recent: Return most recent firewall if multiple are found.
193
191
  :param str name: Name of the firewall.
194
- :param Sequence[pulumi.InputType['GetFirewallRuleArgs']] rules: (string) Configuration of a Rule from this Firewall.
192
+ :param Sequence[Union['GetFirewallRuleArgs', 'GetFirewallRuleArgsDict']] rules: (string) Configuration of a Rule from this Firewall.
195
193
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
196
194
  """
197
- ...
195
+ __args__ = dict()
196
+ __args__['applyTos'] = apply_tos
197
+ __args__['id'] = id
198
+ __args__['labels'] = labels
199
+ __args__['mostRecent'] = most_recent
200
+ __args__['name'] = name
201
+ __args__['rules'] = rules
202
+ __args__['withSelector'] = with_selector
203
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
204
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewall:getFirewall', __args__, opts=opts, typ=GetFirewallResult)
205
+ return __ret__.apply(lambda __response__: GetFirewallResult(
206
+ apply_tos=pulumi.get(__response__, 'apply_tos'),
207
+ id=pulumi.get(__response__, 'id'),
208
+ labels=pulumi.get(__response__, 'labels'),
209
+ most_recent=pulumi.get(__response__, 'most_recent'),
210
+ name=pulumi.get(__response__, 'name'),
211
+ rules=pulumi.get(__response__, 'rules'),
212
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -83,14 +88,12 @@ def get_firewalls(most_recent: Optional[bool] = None,
83
88
 
84
89
  ## Example Usage
85
90
 
86
- <!--Start PulumiCodeChooser -->
87
91
  ```python
88
92
  import pulumi
89
93
  import pulumi_hcloud as hcloud
90
94
 
91
95
  sample_firewall1 = hcloud.get_firewalls(with_selector="key=value")
92
96
  ```
93
- <!--End PulumiCodeChooser -->
94
97
 
95
98
 
96
99
  :param bool most_recent: Sorts list by date.
@@ -107,28 +110,32 @@ def get_firewalls(most_recent: Optional[bool] = None,
107
110
  id=pulumi.get(__ret__, 'id'),
108
111
  most_recent=pulumi.get(__ret__, 'most_recent'),
109
112
  with_selector=pulumi.get(__ret__, 'with_selector'))
110
-
111
-
112
- @_utilities.lift_output_func(get_firewalls)
113
113
  def get_firewalls_output(most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
114
114
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
115
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFirewallsResult]:
115
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFirewallsResult]:
116
116
  """
117
117
  Provides details about multiple Hetzner Cloud Firewall.
118
118
 
119
119
  ## Example Usage
120
120
 
121
- <!--Start PulumiCodeChooser -->
122
121
  ```python
123
122
  import pulumi
124
123
  import pulumi_hcloud as hcloud
125
124
 
126
125
  sample_firewall1 = hcloud.get_firewalls(with_selector="key=value")
127
126
  ```
128
- <!--End PulumiCodeChooser -->
129
127
 
130
128
 
131
129
  :param bool most_recent: Sorts list by date.
132
130
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
133
131
  """
134
- ...
132
+ __args__ = dict()
133
+ __args__['mostRecent'] = most_recent
134
+ __args__['withSelector'] = with_selector
135
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
136
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFirewalls:getFirewalls', __args__, opts=opts, typ=GetFirewallsResult)
137
+ return __ret__.apply(lambda __response__: GetFirewallsResult(
138
+ firewalls=pulumi.get(__response__, 'firewalls'),
139
+ id=pulumi.get(__response__, 'id'),
140
+ most_recent=pulumi.get(__response__, 'most_recent'),
141
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -109,7 +114,7 @@ class GetFloatingIpResult:
109
114
 
110
115
  @property
111
116
  @pulumi.getter
112
- def labels(self) -> Mapping[str, Any]:
117
+ def labels(self) -> Mapping[str, str]:
113
118
  """
114
119
  (map) User-defined labels (key-value pairs).
115
120
  """
@@ -125,10 +130,8 @@ class GetFloatingIpResult:
125
130
 
126
131
  @property
127
132
  @pulumi.getter
133
+ @_utilities.deprecated("""Please use the with_selector property instead.""")
128
134
  def selector(self) -> Optional[str]:
129
- warnings.warn("""Please use the with_selector property instead.""", DeprecationWarning)
130
- pulumi.log.warn("""selector is deprecated: Please use the with_selector property instead.""")
131
-
132
135
  return pulumi.get(self, "selector")
133
136
 
134
137
  @property
@@ -187,11 +190,12 @@ def get_floating_ip(id: Optional[int] = None,
187
190
  ## Example Usage
188
191
 
189
192
  # Data Source: FloatingIp
193
+
190
194
  Provides details about a Hetzner Cloud Floating IP.
191
195
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
192
196
 
193
197
  ### Additional Examples
194
- <!--Start PulumiCodeChooser -->
198
+
195
199
  ```python
196
200
  import pulumi
197
201
  import pulumi_hcloud as hcloud
@@ -199,12 +203,11 @@ def get_floating_ip(id: Optional[int] = None,
199
203
  ip1 = hcloud.get_floating_ip(ip_address="1.2.3.4")
200
204
  ip2 = hcloud.get_floating_ip(with_selector="key=value")
201
205
  main = []
202
- for range in [{"value": i} for i in range(0, var.counter)]:
206
+ for range in [{"value": i} for i in range(0, counter)]:
203
207
  main.append(hcloud.FloatingIpAssignment(f"main-{range['value']}",
204
208
  floating_ip_id=ip1.id,
205
- server_id=hcloud_server["main"]["id"]))
209
+ server_id=main_hcloud_server["id"]))
206
210
  ```
207
- <!--End PulumiCodeChooser -->
208
211
 
209
212
 
210
213
  :param int id: ID of the Floating IP.
@@ -234,15 +237,12 @@ def get_floating_ip(id: Optional[int] = None,
234
237
  server_id=pulumi.get(__ret__, 'server_id'),
235
238
  type=pulumi.get(__ret__, 'type'),
236
239
  with_selector=pulumi.get(__ret__, 'with_selector'))
237
-
238
-
239
- @_utilities.lift_output_func(get_floating_ip)
240
240
  def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
241
241
  ip_address: Optional[pulumi.Input[Optional[str]]] = None,
242
242
  name: Optional[pulumi.Input[Optional[str]]] = None,
243
243
  selector: Optional[pulumi.Input[Optional[str]]] = None,
244
244
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
245
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFloatingIpResult]:
245
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFloatingIpResult]:
246
246
  """
247
247
  Provides details about a Hetzner Cloud Floating IP.
248
248
 
@@ -251,11 +251,12 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
251
251
  ## Example Usage
252
252
 
253
253
  # Data Source: FloatingIp
254
+
254
255
  Provides details about a Hetzner Cloud Floating IP.
255
256
  This resource can be useful when you need to determine a Floating IP ID based on the IP address.
256
257
 
257
258
  ### Additional Examples
258
- <!--Start PulumiCodeChooser -->
259
+
259
260
  ```python
260
261
  import pulumi
261
262
  import pulumi_hcloud as hcloud
@@ -263,12 +264,11 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
263
264
  ip1 = hcloud.get_floating_ip(ip_address="1.2.3.4")
264
265
  ip2 = hcloud.get_floating_ip(with_selector="key=value")
265
266
  main = []
266
- for range in [{"value": i} for i in range(0, var.counter)]:
267
+ for range in [{"value": i} for i in range(0, counter)]:
267
268
  main.append(hcloud.FloatingIpAssignment(f"main-{range['value']}",
268
269
  floating_ip_id=ip1.id,
269
- server_id=hcloud_server["main"]["id"]))
270
+ server_id=main_hcloud_server["id"]))
270
271
  ```
271
- <!--End PulumiCodeChooser -->
272
272
 
273
273
 
274
274
  :param int id: ID of the Floating IP.
@@ -276,4 +276,24 @@ def get_floating_ip_output(id: Optional[pulumi.Input[Optional[int]]] = None,
276
276
  :param str name: Name of the Floating IP.
277
277
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
278
278
  """
279
- ...
279
+ __args__ = dict()
280
+ __args__['id'] = id
281
+ __args__['ipAddress'] = ip_address
282
+ __args__['name'] = name
283
+ __args__['selector'] = selector
284
+ __args__['withSelector'] = with_selector
285
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
286
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFloatingIp:getFloatingIp', __args__, opts=opts, typ=GetFloatingIpResult)
287
+ return __ret__.apply(lambda __response__: GetFloatingIpResult(
288
+ delete_protection=pulumi.get(__response__, 'delete_protection'),
289
+ description=pulumi.get(__response__, 'description'),
290
+ home_location=pulumi.get(__response__, 'home_location'),
291
+ id=pulumi.get(__response__, 'id'),
292
+ ip_address=pulumi.get(__response__, 'ip_address'),
293
+ ip_network=pulumi.get(__response__, 'ip_network'),
294
+ labels=pulumi.get(__response__, 'labels'),
295
+ name=pulumi.get(__response__, 'name'),
296
+ selector=pulumi.get(__response__, 'selector'),
297
+ server_id=pulumi.get(__response__, 'server_id'),
298
+ type=pulumi.get(__response__, 'type'),
299
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
  from . import outputs
12
17
 
@@ -73,14 +78,12 @@ def get_floating_ips(with_selector: Optional[str] = None,
73
78
 
74
79
  ## Example Usage
75
80
 
76
- <!--Start PulumiCodeChooser -->
77
81
  ```python
78
82
  import pulumi
79
83
  import pulumi_hcloud as hcloud
80
84
 
81
85
  ip2 = hcloud.get_floating_ips(with_selector="key=value")
82
86
  ```
83
- <!--End PulumiCodeChooser -->
84
87
 
85
88
 
86
89
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
@@ -94,26 +97,28 @@ def get_floating_ips(with_selector: Optional[str] = None,
94
97
  floating_ips=pulumi.get(__ret__, 'floating_ips'),
95
98
  id=pulumi.get(__ret__, 'id'),
96
99
  with_selector=pulumi.get(__ret__, 'with_selector'))
97
-
98
-
99
- @_utilities.lift_output_func(get_floating_ips)
100
100
  def get_floating_ips_output(with_selector: Optional[pulumi.Input[Optional[str]]] = None,
101
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFloatingIpsResult]:
101
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetFloatingIpsResult]:
102
102
  """
103
103
  Provides details about multiple Hetzner Cloud Floating IPs.
104
104
 
105
105
  ## Example Usage
106
106
 
107
- <!--Start PulumiCodeChooser -->
108
107
  ```python
109
108
  import pulumi
110
109
  import pulumi_hcloud as hcloud
111
110
 
112
111
  ip2 = hcloud.get_floating_ips(with_selector="key=value")
113
112
  ```
114
- <!--End PulumiCodeChooser -->
115
113
 
116
114
 
117
115
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
118
116
  """
119
- ...
117
+ __args__ = dict()
118
+ __args__['withSelector'] = with_selector
119
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
120
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getFloatingIps:getFloatingIps', __args__, opts=opts, typ=GetFloatingIpsResult)
121
+ return __ret__.apply(lambda __response__: GetFloatingIpsResult(
122
+ floating_ips=pulumi.get(__response__, 'floating_ips'),
123
+ id=pulumi.get(__response__, 'id'),
124
+ with_selector=pulumi.get(__response__, 'with_selector')))
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -121,7 +126,7 @@ class GetImageResult:
121
126
 
122
127
  @property
123
128
  @pulumi.getter
124
- def labels(self) -> Mapping[str, Any]:
129
+ def labels(self) -> Mapping[str, str]:
125
130
  return pulumi.get(self, "labels")
126
131
 
127
132
  @property
@@ -163,10 +168,8 @@ class GetImageResult:
163
168
 
164
169
  @property
165
170
  @pulumi.getter
171
+ @_utilities.deprecated("""Please use the with_selector property instead.""")
166
172
  def selector(self) -> Optional[str]:
167
- warnings.warn("""Please use the with_selector property instead.""", DeprecationWarning)
168
- pulumi.log.warn("""selector is deprecated: Please use the with_selector property instead.""")
169
-
170
173
  return pulumi.get(self, "selector")
171
174
 
172
175
  @property
@@ -230,7 +233,6 @@ def get_image(id: Optional[int] = None,
230
233
  """
231
234
  ## Example Usage
232
235
 
233
- <!--Start PulumiCodeChooser -->
234
236
  ```python
235
237
  import pulumi
236
238
  import pulumi_hcloud as hcloud
@@ -241,7 +243,6 @@ def get_image(id: Optional[int] = None,
241
243
  image3 = hcloud.get_image(with_selector="key=value")
242
244
  main = hcloud.Server("main", image=image1.id)
243
245
  ```
244
- <!--End PulumiCodeChooser -->
245
246
 
246
247
 
247
248
  :param int id: ID of the Image.
@@ -282,9 +283,6 @@ def get_image(id: Optional[int] = None,
282
283
  with_architecture=pulumi.get(__ret__, 'with_architecture'),
283
284
  with_selector=pulumi.get(__ret__, 'with_selector'),
284
285
  with_statuses=pulumi.get(__ret__, 'with_statuses'))
285
-
286
-
287
- @_utilities.lift_output_func(get_image)
288
286
  def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
289
287
  include_deprecated: Optional[pulumi.Input[Optional[bool]]] = None,
290
288
  most_recent: Optional[pulumi.Input[Optional[bool]]] = None,
@@ -293,11 +291,10 @@ def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
293
291
  with_architecture: Optional[pulumi.Input[Optional[str]]] = None,
294
292
  with_selector: Optional[pulumi.Input[Optional[str]]] = None,
295
293
  with_statuses: Optional[pulumi.Input[Optional[Sequence[str]]]] = None,
296
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetImageResult]:
294
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageResult]:
297
295
  """
298
296
  ## Example Usage
299
297
 
300
- <!--Start PulumiCodeChooser -->
301
298
  ```python
302
299
  import pulumi
303
300
  import pulumi_hcloud as hcloud
@@ -308,7 +305,6 @@ def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
308
305
  image3 = hcloud.get_image(with_selector="key=value")
309
306
  main = hcloud.Server("main", image=image1.id)
310
307
  ```
311
- <!--End PulumiCodeChooser -->
312
308
 
313
309
 
314
310
  :param int id: ID of the Image.
@@ -319,4 +315,32 @@ def get_image_output(id: Optional[pulumi.Input[Optional[int]]] = None,
319
315
  :param str with_selector: [Label selector](https://docs.hetzner.cloud/#overview-label-selector)
320
316
  :param Sequence[str] with_statuses: Select only images with the specified status, could contain `creating` or `available`.
321
317
  """
322
- ...
318
+ __args__ = dict()
319
+ __args__['id'] = id
320
+ __args__['includeDeprecated'] = include_deprecated
321
+ __args__['mostRecent'] = most_recent
322
+ __args__['name'] = name
323
+ __args__['selector'] = selector
324
+ __args__['withArchitecture'] = with_architecture
325
+ __args__['withSelector'] = with_selector
326
+ __args__['withStatuses'] = with_statuses
327
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
328
+ __ret__ = pulumi.runtime.invoke_output('hcloud:index/getImage:getImage', __args__, opts=opts, typ=GetImageResult)
329
+ return __ret__.apply(lambda __response__: GetImageResult(
330
+ architecture=pulumi.get(__response__, 'architecture'),
331
+ created=pulumi.get(__response__, 'created'),
332
+ deprecated=pulumi.get(__response__, 'deprecated'),
333
+ description=pulumi.get(__response__, 'description'),
334
+ id=pulumi.get(__response__, 'id'),
335
+ include_deprecated=pulumi.get(__response__, 'include_deprecated'),
336
+ labels=pulumi.get(__response__, 'labels'),
337
+ most_recent=pulumi.get(__response__, 'most_recent'),
338
+ name=pulumi.get(__response__, 'name'),
339
+ os_flavor=pulumi.get(__response__, 'os_flavor'),
340
+ os_version=pulumi.get(__response__, 'os_version'),
341
+ rapid_deploy=pulumi.get(__response__, 'rapid_deploy'),
342
+ selector=pulumi.get(__response__, 'selector'),
343
+ type=pulumi.get(__response__, 'type'),
344
+ with_architecture=pulumi.get(__response__, 'with_architecture'),
345
+ with_selector=pulumi.get(__response__, 'with_selector'),
346
+ with_statuses=pulumi.get(__response__, 'with_statuses')))