pulumi-tailscale 1.0.0a1770157009__tar.gz → 1.0.0a1770273225__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.
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/acl.py +6 -6
- pulumi_tailscale-1.0.0a1770273225/pulumi_tailscale/get_device.py +410 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/get_users.py +6 -6
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/logstream_configuration.py +256 -28
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/outputs.py +154 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/posture_integration.py +10 -8
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/pulumi-plugin.json +1 -1
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/webhook.py +14 -14
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale.egg-info/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pyproject.toml +1 -1
- pulumi_tailscale-1.0.0a1770157009/pulumi_tailscale/get_device.py +0 -214
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/README.md +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/__init__.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/_inputs.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/_utilities.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/aws_external_id.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/config/__init__.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/config/__init__.pyi +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/config/vars.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/contacts.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/device_authorization.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/device_key.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/device_subnet_routes.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/device_tags.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/dns_configuration.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/dns_nameservers.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/dns_preferences.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/dns_search_paths.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/dns_split_nameservers.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/federated_identity.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/get4_via6.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/get_acl.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/get_devices.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/get_user.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/oauth_client.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/provider.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/py.typed +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/tailnet_key.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/tailnet_settings.py +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale.egg-info/SOURCES.txt +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale.egg-info/dependency_links.txt +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale.egg-info/requires.txt +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale.egg-info/top_level.txt +0 -0
- {pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/setup.cfg +0 -0
{pulumi_tailscale-1.0.0a1770157009 → pulumi_tailscale-1.0.0a1770273225}/pulumi_tailscale/acl.py
RENAMED
|
@@ -163,9 +163,9 @@ class Acl(pulumi.CustomResource):
|
|
|
163
163
|
\\"grants\\": [
|
|
164
164
|
{
|
|
165
165
|
// Allow all users access to all ports.
|
|
166
|
-
\\"src\\"
|
|
167
|
-
\\"dst\\"
|
|
168
|
-
\\"ip\\"
|
|
166
|
+
\\"src\\": [\\"*\\"],
|
|
167
|
+
\\"dst\\": [\\"*\\"],
|
|
168
|
+
\\"ip\\": [\\"*\\"],
|
|
169
169
|
},
|
|
170
170
|
],
|
|
171
171
|
}
|
|
@@ -218,9 +218,9 @@ class Acl(pulumi.CustomResource):
|
|
|
218
218
|
\\"grants\\": [
|
|
219
219
|
{
|
|
220
220
|
// Allow all users access to all ports.
|
|
221
|
-
\\"src\\"
|
|
222
|
-
\\"dst\\"
|
|
223
|
-
\\"ip\\"
|
|
221
|
+
\\"src\\": [\\"*\\"],
|
|
222
|
+
\\"dst\\": [\\"*\\"],
|
|
223
|
+
\\"ip\\": [\\"*\\"],
|
|
224
224
|
},
|
|
225
225
|
],
|
|
226
226
|
}
|
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins as _builtins
|
|
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
|
+
'GetDeviceResult',
|
|
19
|
+
'AwaitableGetDeviceResult',
|
|
20
|
+
'get_device',
|
|
21
|
+
'get_device_output',
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
@pulumi.output_type
|
|
25
|
+
class GetDeviceResult:
|
|
26
|
+
"""
|
|
27
|
+
A collection of values returned by getDevice.
|
|
28
|
+
"""
|
|
29
|
+
def __init__(__self__, addresses=None, authorized=None, blocks_incoming_connections=None, client_version=None, created=None, expires=None, hostname=None, id=None, is_external=None, key_expiry_disabled=None, last_seen=None, machine_key=None, name=None, node_id=None, node_key=None, os=None, tags=None, tailnet_lock_error=None, tailnet_lock_key=None, update_available=None, user=None, wait_for=None):
|
|
30
|
+
if addresses and not isinstance(addresses, list):
|
|
31
|
+
raise TypeError("Expected argument 'addresses' to be a list")
|
|
32
|
+
pulumi.set(__self__, "addresses", addresses)
|
|
33
|
+
if authorized and not isinstance(authorized, bool):
|
|
34
|
+
raise TypeError("Expected argument 'authorized' to be a bool")
|
|
35
|
+
pulumi.set(__self__, "authorized", authorized)
|
|
36
|
+
if blocks_incoming_connections and not isinstance(blocks_incoming_connections, bool):
|
|
37
|
+
raise TypeError("Expected argument 'blocks_incoming_connections' to be a bool")
|
|
38
|
+
pulumi.set(__self__, "blocks_incoming_connections", blocks_incoming_connections)
|
|
39
|
+
if client_version and not isinstance(client_version, str):
|
|
40
|
+
raise TypeError("Expected argument 'client_version' to be a str")
|
|
41
|
+
pulumi.set(__self__, "client_version", client_version)
|
|
42
|
+
if created and not isinstance(created, str):
|
|
43
|
+
raise TypeError("Expected argument 'created' to be a str")
|
|
44
|
+
pulumi.set(__self__, "created", created)
|
|
45
|
+
if expires and not isinstance(expires, str):
|
|
46
|
+
raise TypeError("Expected argument 'expires' to be a str")
|
|
47
|
+
pulumi.set(__self__, "expires", expires)
|
|
48
|
+
if hostname and not isinstance(hostname, str):
|
|
49
|
+
raise TypeError("Expected argument 'hostname' to be a str")
|
|
50
|
+
pulumi.set(__self__, "hostname", hostname)
|
|
51
|
+
if id and not isinstance(id, str):
|
|
52
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
53
|
+
pulumi.set(__self__, "id", id)
|
|
54
|
+
if is_external and not isinstance(is_external, bool):
|
|
55
|
+
raise TypeError("Expected argument 'is_external' to be a bool")
|
|
56
|
+
pulumi.set(__self__, "is_external", is_external)
|
|
57
|
+
if key_expiry_disabled and not isinstance(key_expiry_disabled, bool):
|
|
58
|
+
raise TypeError("Expected argument 'key_expiry_disabled' to be a bool")
|
|
59
|
+
pulumi.set(__self__, "key_expiry_disabled", key_expiry_disabled)
|
|
60
|
+
if last_seen and not isinstance(last_seen, str):
|
|
61
|
+
raise TypeError("Expected argument 'last_seen' to be a str")
|
|
62
|
+
pulumi.set(__self__, "last_seen", last_seen)
|
|
63
|
+
if machine_key and not isinstance(machine_key, str):
|
|
64
|
+
raise TypeError("Expected argument 'machine_key' to be a str")
|
|
65
|
+
pulumi.set(__self__, "machine_key", machine_key)
|
|
66
|
+
if name and not isinstance(name, str):
|
|
67
|
+
raise TypeError("Expected argument 'name' to be a str")
|
|
68
|
+
pulumi.set(__self__, "name", name)
|
|
69
|
+
if node_id and not isinstance(node_id, str):
|
|
70
|
+
raise TypeError("Expected argument 'node_id' to be a str")
|
|
71
|
+
pulumi.set(__self__, "node_id", node_id)
|
|
72
|
+
if node_key and not isinstance(node_key, str):
|
|
73
|
+
raise TypeError("Expected argument 'node_key' to be a str")
|
|
74
|
+
pulumi.set(__self__, "node_key", node_key)
|
|
75
|
+
if os and not isinstance(os, str):
|
|
76
|
+
raise TypeError("Expected argument 'os' to be a str")
|
|
77
|
+
pulumi.set(__self__, "os", os)
|
|
78
|
+
if tags and not isinstance(tags, list):
|
|
79
|
+
raise TypeError("Expected argument 'tags' to be a list")
|
|
80
|
+
pulumi.set(__self__, "tags", tags)
|
|
81
|
+
if tailnet_lock_error and not isinstance(tailnet_lock_error, str):
|
|
82
|
+
raise TypeError("Expected argument 'tailnet_lock_error' to be a str")
|
|
83
|
+
pulumi.set(__self__, "tailnet_lock_error", tailnet_lock_error)
|
|
84
|
+
if tailnet_lock_key and not isinstance(tailnet_lock_key, str):
|
|
85
|
+
raise TypeError("Expected argument 'tailnet_lock_key' to be a str")
|
|
86
|
+
pulumi.set(__self__, "tailnet_lock_key", tailnet_lock_key)
|
|
87
|
+
if update_available and not isinstance(update_available, bool):
|
|
88
|
+
raise TypeError("Expected argument 'update_available' to be a bool")
|
|
89
|
+
pulumi.set(__self__, "update_available", update_available)
|
|
90
|
+
if user and not isinstance(user, str):
|
|
91
|
+
raise TypeError("Expected argument 'user' to be a str")
|
|
92
|
+
pulumi.set(__self__, "user", user)
|
|
93
|
+
if wait_for and not isinstance(wait_for, str):
|
|
94
|
+
raise TypeError("Expected argument 'wait_for' to be a str")
|
|
95
|
+
pulumi.set(__self__, "wait_for", wait_for)
|
|
96
|
+
|
|
97
|
+
@_builtins.property
|
|
98
|
+
@pulumi.getter
|
|
99
|
+
def addresses(self) -> Sequence[_builtins.str]:
|
|
100
|
+
"""
|
|
101
|
+
The list of device's IPs
|
|
102
|
+
"""
|
|
103
|
+
return pulumi.get(self, "addresses")
|
|
104
|
+
|
|
105
|
+
@_builtins.property
|
|
106
|
+
@pulumi.getter
|
|
107
|
+
def authorized(self) -> _builtins.bool:
|
|
108
|
+
"""
|
|
109
|
+
Whether the device is authorized to access the tailnet
|
|
110
|
+
"""
|
|
111
|
+
return pulumi.get(self, "authorized")
|
|
112
|
+
|
|
113
|
+
@_builtins.property
|
|
114
|
+
@pulumi.getter(name="blocksIncomingConnections")
|
|
115
|
+
def blocks_incoming_connections(self) -> _builtins.bool:
|
|
116
|
+
"""
|
|
117
|
+
Whether the device blocks incoming connections
|
|
118
|
+
"""
|
|
119
|
+
return pulumi.get(self, "blocks_incoming_connections")
|
|
120
|
+
|
|
121
|
+
@_builtins.property
|
|
122
|
+
@pulumi.getter(name="clientVersion")
|
|
123
|
+
def client_version(self) -> _builtins.str:
|
|
124
|
+
"""
|
|
125
|
+
The Tailscale client version running on the device
|
|
126
|
+
"""
|
|
127
|
+
return pulumi.get(self, "client_version")
|
|
128
|
+
|
|
129
|
+
@_builtins.property
|
|
130
|
+
@pulumi.getter
|
|
131
|
+
def created(self) -> _builtins.str:
|
|
132
|
+
"""
|
|
133
|
+
The creation time of the device
|
|
134
|
+
"""
|
|
135
|
+
return pulumi.get(self, "created")
|
|
136
|
+
|
|
137
|
+
@_builtins.property
|
|
138
|
+
@pulumi.getter
|
|
139
|
+
def expires(self) -> _builtins.str:
|
|
140
|
+
"""
|
|
141
|
+
The expiry time of the device's key
|
|
142
|
+
"""
|
|
143
|
+
return pulumi.get(self, "expires")
|
|
144
|
+
|
|
145
|
+
@_builtins.property
|
|
146
|
+
@pulumi.getter
|
|
147
|
+
def hostname(self) -> Optional[_builtins.str]:
|
|
148
|
+
"""
|
|
149
|
+
The short hostname of the device
|
|
150
|
+
"""
|
|
151
|
+
return pulumi.get(self, "hostname")
|
|
152
|
+
|
|
153
|
+
@_builtins.property
|
|
154
|
+
@pulumi.getter
|
|
155
|
+
def id(self) -> _builtins.str:
|
|
156
|
+
"""
|
|
157
|
+
The provider-assigned unique ID for this managed resource.
|
|
158
|
+
"""
|
|
159
|
+
return pulumi.get(self, "id")
|
|
160
|
+
|
|
161
|
+
@_builtins.property
|
|
162
|
+
@pulumi.getter(name="isExternal")
|
|
163
|
+
def is_external(self) -> _builtins.bool:
|
|
164
|
+
"""
|
|
165
|
+
Whether the device is marked as external
|
|
166
|
+
"""
|
|
167
|
+
return pulumi.get(self, "is_external")
|
|
168
|
+
|
|
169
|
+
@_builtins.property
|
|
170
|
+
@pulumi.getter(name="keyExpiryDisabled")
|
|
171
|
+
def key_expiry_disabled(self) -> _builtins.bool:
|
|
172
|
+
"""
|
|
173
|
+
Whether the device's key expiry is disabled
|
|
174
|
+
"""
|
|
175
|
+
return pulumi.get(self, "key_expiry_disabled")
|
|
176
|
+
|
|
177
|
+
@_builtins.property
|
|
178
|
+
@pulumi.getter(name="lastSeen")
|
|
179
|
+
def last_seen(self) -> _builtins.str:
|
|
180
|
+
"""
|
|
181
|
+
The last seen time of the device
|
|
182
|
+
"""
|
|
183
|
+
return pulumi.get(self, "last_seen")
|
|
184
|
+
|
|
185
|
+
@_builtins.property
|
|
186
|
+
@pulumi.getter(name="machineKey")
|
|
187
|
+
def machine_key(self) -> _builtins.str:
|
|
188
|
+
"""
|
|
189
|
+
The machine key of the device
|
|
190
|
+
"""
|
|
191
|
+
return pulumi.get(self, "machine_key")
|
|
192
|
+
|
|
193
|
+
@_builtins.property
|
|
194
|
+
@pulumi.getter
|
|
195
|
+
def name(self) -> Optional[_builtins.str]:
|
|
196
|
+
"""
|
|
197
|
+
The full name of the device (e.g. `hostname.domain.ts.net`)
|
|
198
|
+
"""
|
|
199
|
+
return pulumi.get(self, "name")
|
|
200
|
+
|
|
201
|
+
@_builtins.property
|
|
202
|
+
@pulumi.getter(name="nodeId")
|
|
203
|
+
def node_id(self) -> _builtins.str:
|
|
204
|
+
"""
|
|
205
|
+
The preferred indentifier for a device.
|
|
206
|
+
"""
|
|
207
|
+
return pulumi.get(self, "node_id")
|
|
208
|
+
|
|
209
|
+
@_builtins.property
|
|
210
|
+
@pulumi.getter(name="nodeKey")
|
|
211
|
+
def node_key(self) -> _builtins.str:
|
|
212
|
+
"""
|
|
213
|
+
The node key of the device
|
|
214
|
+
"""
|
|
215
|
+
return pulumi.get(self, "node_key")
|
|
216
|
+
|
|
217
|
+
@_builtins.property
|
|
218
|
+
@pulumi.getter
|
|
219
|
+
def os(self) -> _builtins.str:
|
|
220
|
+
"""
|
|
221
|
+
The operating system of the device
|
|
222
|
+
"""
|
|
223
|
+
return pulumi.get(self, "os")
|
|
224
|
+
|
|
225
|
+
@_builtins.property
|
|
226
|
+
@pulumi.getter
|
|
227
|
+
def tags(self) -> Sequence[_builtins.str]:
|
|
228
|
+
"""
|
|
229
|
+
The tags applied to the device
|
|
230
|
+
"""
|
|
231
|
+
return pulumi.get(self, "tags")
|
|
232
|
+
|
|
233
|
+
@_builtins.property
|
|
234
|
+
@pulumi.getter(name="tailnetLockError")
|
|
235
|
+
def tailnet_lock_error(self) -> _builtins.str:
|
|
236
|
+
"""
|
|
237
|
+
The tailnet lock error for the device, if any
|
|
238
|
+
"""
|
|
239
|
+
return pulumi.get(self, "tailnet_lock_error")
|
|
240
|
+
|
|
241
|
+
@_builtins.property
|
|
242
|
+
@pulumi.getter(name="tailnetLockKey")
|
|
243
|
+
def tailnet_lock_key(self) -> _builtins.str:
|
|
244
|
+
"""
|
|
245
|
+
The tailnet lock key for the device, if any
|
|
246
|
+
"""
|
|
247
|
+
return pulumi.get(self, "tailnet_lock_key")
|
|
248
|
+
|
|
249
|
+
@_builtins.property
|
|
250
|
+
@pulumi.getter(name="updateAvailable")
|
|
251
|
+
def update_available(self) -> _builtins.bool:
|
|
252
|
+
"""
|
|
253
|
+
Whether an update is available for the device
|
|
254
|
+
"""
|
|
255
|
+
return pulumi.get(self, "update_available")
|
|
256
|
+
|
|
257
|
+
@_builtins.property
|
|
258
|
+
@pulumi.getter
|
|
259
|
+
def user(self) -> _builtins.str:
|
|
260
|
+
"""
|
|
261
|
+
The user associated with the device
|
|
262
|
+
"""
|
|
263
|
+
return pulumi.get(self, "user")
|
|
264
|
+
|
|
265
|
+
@_builtins.property
|
|
266
|
+
@pulumi.getter(name="waitFor")
|
|
267
|
+
def wait_for(self) -> Optional[_builtins.str]:
|
|
268
|
+
"""
|
|
269
|
+
If specified, the provider will make multiple attempts to obtain the data source until the wait_for duration is reached. Retries are made every second so this value should be greater than 1s
|
|
270
|
+
"""
|
|
271
|
+
return pulumi.get(self, "wait_for")
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
class AwaitableGetDeviceResult(GetDeviceResult):
|
|
275
|
+
# pylint: disable=using-constant-test
|
|
276
|
+
def __await__(self):
|
|
277
|
+
if False:
|
|
278
|
+
yield self
|
|
279
|
+
return GetDeviceResult(
|
|
280
|
+
addresses=self.addresses,
|
|
281
|
+
authorized=self.authorized,
|
|
282
|
+
blocks_incoming_connections=self.blocks_incoming_connections,
|
|
283
|
+
client_version=self.client_version,
|
|
284
|
+
created=self.created,
|
|
285
|
+
expires=self.expires,
|
|
286
|
+
hostname=self.hostname,
|
|
287
|
+
id=self.id,
|
|
288
|
+
is_external=self.is_external,
|
|
289
|
+
key_expiry_disabled=self.key_expiry_disabled,
|
|
290
|
+
last_seen=self.last_seen,
|
|
291
|
+
machine_key=self.machine_key,
|
|
292
|
+
name=self.name,
|
|
293
|
+
node_id=self.node_id,
|
|
294
|
+
node_key=self.node_key,
|
|
295
|
+
os=self.os,
|
|
296
|
+
tags=self.tags,
|
|
297
|
+
tailnet_lock_error=self.tailnet_lock_error,
|
|
298
|
+
tailnet_lock_key=self.tailnet_lock_key,
|
|
299
|
+
update_available=self.update_available,
|
|
300
|
+
user=self.user,
|
|
301
|
+
wait_for=self.wait_for)
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
def get_device(hostname: Optional[_builtins.str] = None,
|
|
305
|
+
name: Optional[_builtins.str] = None,
|
|
306
|
+
wait_for: Optional[_builtins.str] = None,
|
|
307
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDeviceResult:
|
|
308
|
+
"""
|
|
309
|
+
The device data source describes a single device in a tailnet
|
|
310
|
+
|
|
311
|
+
## Example Usage
|
|
312
|
+
|
|
313
|
+
```python
|
|
314
|
+
import pulumi
|
|
315
|
+
import pulumi_tailscale as tailscale
|
|
316
|
+
|
|
317
|
+
sample_device = tailscale.get_device(name="device1.example.ts.net",
|
|
318
|
+
wait_for="60s")
|
|
319
|
+
sample_device2 = tailscale.get_device(hostname="device2",
|
|
320
|
+
wait_for="60s")
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
:param _builtins.str hostname: The short hostname of the device
|
|
325
|
+
:param _builtins.str name: The full name of the device (e.g. `hostname.domain.ts.net`)
|
|
326
|
+
:param _builtins.str wait_for: If specified, the provider will make multiple attempts to obtain the data source until the wait_for duration is reached. Retries are made every second so this value should be greater than 1s
|
|
327
|
+
"""
|
|
328
|
+
__args__ = dict()
|
|
329
|
+
__args__['hostname'] = hostname
|
|
330
|
+
__args__['name'] = name
|
|
331
|
+
__args__['waitFor'] = wait_for
|
|
332
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
333
|
+
__ret__ = pulumi.runtime.invoke('tailscale:index/getDevice:getDevice', __args__, opts=opts, typ=GetDeviceResult).value
|
|
334
|
+
|
|
335
|
+
return AwaitableGetDeviceResult(
|
|
336
|
+
addresses=pulumi.get(__ret__, 'addresses'),
|
|
337
|
+
authorized=pulumi.get(__ret__, 'authorized'),
|
|
338
|
+
blocks_incoming_connections=pulumi.get(__ret__, 'blocks_incoming_connections'),
|
|
339
|
+
client_version=pulumi.get(__ret__, 'client_version'),
|
|
340
|
+
created=pulumi.get(__ret__, 'created'),
|
|
341
|
+
expires=pulumi.get(__ret__, 'expires'),
|
|
342
|
+
hostname=pulumi.get(__ret__, 'hostname'),
|
|
343
|
+
id=pulumi.get(__ret__, 'id'),
|
|
344
|
+
is_external=pulumi.get(__ret__, 'is_external'),
|
|
345
|
+
key_expiry_disabled=pulumi.get(__ret__, 'key_expiry_disabled'),
|
|
346
|
+
last_seen=pulumi.get(__ret__, 'last_seen'),
|
|
347
|
+
machine_key=pulumi.get(__ret__, 'machine_key'),
|
|
348
|
+
name=pulumi.get(__ret__, 'name'),
|
|
349
|
+
node_id=pulumi.get(__ret__, 'node_id'),
|
|
350
|
+
node_key=pulumi.get(__ret__, 'node_key'),
|
|
351
|
+
os=pulumi.get(__ret__, 'os'),
|
|
352
|
+
tags=pulumi.get(__ret__, 'tags'),
|
|
353
|
+
tailnet_lock_error=pulumi.get(__ret__, 'tailnet_lock_error'),
|
|
354
|
+
tailnet_lock_key=pulumi.get(__ret__, 'tailnet_lock_key'),
|
|
355
|
+
update_available=pulumi.get(__ret__, 'update_available'),
|
|
356
|
+
user=pulumi.get(__ret__, 'user'),
|
|
357
|
+
wait_for=pulumi.get(__ret__, 'wait_for'))
|
|
358
|
+
def get_device_output(hostname: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
359
|
+
name: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
360
|
+
wait_for: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
|
|
361
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDeviceResult]:
|
|
362
|
+
"""
|
|
363
|
+
The device data source describes a single device in a tailnet
|
|
364
|
+
|
|
365
|
+
## Example Usage
|
|
366
|
+
|
|
367
|
+
```python
|
|
368
|
+
import pulumi
|
|
369
|
+
import pulumi_tailscale as tailscale
|
|
370
|
+
|
|
371
|
+
sample_device = tailscale.get_device(name="device1.example.ts.net",
|
|
372
|
+
wait_for="60s")
|
|
373
|
+
sample_device2 = tailscale.get_device(hostname="device2",
|
|
374
|
+
wait_for="60s")
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
|
|
378
|
+
:param _builtins.str hostname: The short hostname of the device
|
|
379
|
+
:param _builtins.str name: The full name of the device (e.g. `hostname.domain.ts.net`)
|
|
380
|
+
:param _builtins.str wait_for: If specified, the provider will make multiple attempts to obtain the data source until the wait_for duration is reached. Retries are made every second so this value should be greater than 1s
|
|
381
|
+
"""
|
|
382
|
+
__args__ = dict()
|
|
383
|
+
__args__['hostname'] = hostname
|
|
384
|
+
__args__['name'] = name
|
|
385
|
+
__args__['waitFor'] = wait_for
|
|
386
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
387
|
+
__ret__ = pulumi.runtime.invoke_output('tailscale:index/getDevice:getDevice', __args__, opts=opts, typ=GetDeviceResult)
|
|
388
|
+
return __ret__.apply(lambda __response__: GetDeviceResult(
|
|
389
|
+
addresses=pulumi.get(__response__, 'addresses'),
|
|
390
|
+
authorized=pulumi.get(__response__, 'authorized'),
|
|
391
|
+
blocks_incoming_connections=pulumi.get(__response__, 'blocks_incoming_connections'),
|
|
392
|
+
client_version=pulumi.get(__response__, 'client_version'),
|
|
393
|
+
created=pulumi.get(__response__, 'created'),
|
|
394
|
+
expires=pulumi.get(__response__, 'expires'),
|
|
395
|
+
hostname=pulumi.get(__response__, 'hostname'),
|
|
396
|
+
id=pulumi.get(__response__, 'id'),
|
|
397
|
+
is_external=pulumi.get(__response__, 'is_external'),
|
|
398
|
+
key_expiry_disabled=pulumi.get(__response__, 'key_expiry_disabled'),
|
|
399
|
+
last_seen=pulumi.get(__response__, 'last_seen'),
|
|
400
|
+
machine_key=pulumi.get(__response__, 'machine_key'),
|
|
401
|
+
name=pulumi.get(__response__, 'name'),
|
|
402
|
+
node_id=pulumi.get(__response__, 'node_id'),
|
|
403
|
+
node_key=pulumi.get(__response__, 'node_key'),
|
|
404
|
+
os=pulumi.get(__response__, 'os'),
|
|
405
|
+
tags=pulumi.get(__response__, 'tags'),
|
|
406
|
+
tailnet_lock_error=pulumi.get(__response__, 'tailnet_lock_error'),
|
|
407
|
+
tailnet_lock_key=pulumi.get(__response__, 'tailnet_lock_key'),
|
|
408
|
+
update_available=pulumi.get(__response__, 'update_available'),
|
|
409
|
+
user=pulumi.get(__response__, 'user'),
|
|
410
|
+
wait_for=pulumi.get(__response__, 'wait_for')))
|
|
@@ -53,7 +53,7 @@ class GetUsersResult:
|
|
|
53
53
|
@pulumi.getter
|
|
54
54
|
def role(self) -> Optional[_builtins.str]:
|
|
55
55
|
"""
|
|
56
|
-
|
|
56
|
+
Filter the results to only include users with a specific role. Valid values are `owner`, `member`, `admin`, `it-admin`, `network-admin`, `billing-admin`, and `auditor`.
|
|
57
57
|
"""
|
|
58
58
|
return pulumi.get(self, "role")
|
|
59
59
|
|
|
@@ -61,7 +61,7 @@ class GetUsersResult:
|
|
|
61
61
|
@pulumi.getter
|
|
62
62
|
def type(self) -> Optional[_builtins.str]:
|
|
63
63
|
"""
|
|
64
|
-
|
|
64
|
+
Filter the results to only include users of a specific type. Valid values are `member` or `shared`.
|
|
65
65
|
"""
|
|
66
66
|
return pulumi.get(self, "type")
|
|
67
67
|
|
|
@@ -102,8 +102,8 @@ def get_users(role: Optional[_builtins.str] = None,
|
|
|
102
102
|
```
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
:param _builtins.str role:
|
|
106
|
-
:param _builtins.str type:
|
|
105
|
+
:param _builtins.str role: Filter the results to only include users with a specific role. Valid values are `owner`, `member`, `admin`, `it-admin`, `network-admin`, `billing-admin`, and `auditor`.
|
|
106
|
+
:param _builtins.str type: Filter the results to only include users of a specific type. Valid values are `member` or `shared`.
|
|
107
107
|
"""
|
|
108
108
|
__args__ = dict()
|
|
109
109
|
__args__['role'] = role
|
|
@@ -132,8 +132,8 @@ def get_users_output(role: Optional[pulumi.Input[Optional[_builtins.str]]] = Non
|
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
:param _builtins.str role:
|
|
136
|
-
:param _builtins.str type:
|
|
135
|
+
:param _builtins.str role: Filter the results to only include users with a specific role. Valid values are `owner`, `member`, `admin`, `it-admin`, `network-admin`, `billing-admin`, and `auditor`.
|
|
136
|
+
:param _builtins.str type: Filter the results to only include users of a specific type. Valid values are `member` or `shared`.
|
|
137
137
|
"""
|
|
138
138
|
__args__ = dict()
|
|
139
139
|
__args__['role'] = role
|