pulumi-tailscale 1.0.0a1754635854__tar.gz → 1.0.0a1764138241__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.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/__init__.py +9 -0
- pulumi_tailscale-1.0.0a1764138241/pulumi_tailscale/_inputs.py +278 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/acl.py +12 -8
- pulumi_tailscale-1.0.0a1764138241/pulumi_tailscale/config/__init__.pyi +56 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/config/vars.py +13 -13
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/contacts.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/device_authorization.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/device_key.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/device_subnet_routes.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/device_tags.py +4 -0
- pulumi_tailscale-1.0.0a1764138241/pulumi_tailscale/dns_configuration.py +443 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/dns_nameservers.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/dns_preferences.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/dns_search_paths.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/dns_split_nameservers.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/logstream_configuration.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/oauth_client.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/outputs.py +127 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/posture_integration.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/provider.py +52 -50
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/pulumi-plugin.json +1 -1
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/tailnet_settings.py +62 -9
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/webhook.py +4 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale.egg-info/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale.egg-info/SOURCES.txt +1 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pyproject.toml +1 -1
- pulumi_tailscale-1.0.0a1754635854/pulumi_tailscale/_inputs.py +0 -120
- pulumi_tailscale-1.0.0a1754635854/pulumi_tailscale/config/__init__.pyi +0 -58
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/README.md +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/_utilities.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/aws_external_id.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/config/__init__.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get4_via6.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get_acl.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get_device.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get_devices.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get_user.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/get_users.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/py.typed +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/tailnet_key.py +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale.egg-info/dependency_links.txt +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale.egg-info/requires.txt +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale.egg-info/top_level.txt +0 -0
- {pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/setup.cfg +0 -0
{pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/__init__.py
RENAMED
|
@@ -13,6 +13,7 @@ from .device_authorization import *
|
|
|
13
13
|
from .device_key import *
|
|
14
14
|
from .device_subnet_routes import *
|
|
15
15
|
from .device_tags import *
|
|
16
|
+
from .dns_configuration import *
|
|
16
17
|
from .dns_nameservers import *
|
|
17
18
|
from .dns_preferences import *
|
|
18
19
|
from .dns_search_paths import *
|
|
@@ -99,6 +100,14 @@ _utilities.register(
|
|
|
99
100
|
"tailscale:index/deviceTags:DeviceTags": "DeviceTags"
|
|
100
101
|
}
|
|
101
102
|
},
|
|
103
|
+
{
|
|
104
|
+
"pkg": "tailscale",
|
|
105
|
+
"mod": "index/dnsConfiguration",
|
|
106
|
+
"fqn": "pulumi_tailscale",
|
|
107
|
+
"classes": {
|
|
108
|
+
"tailscale:index/dnsConfiguration:DnsConfiguration": "DnsConfiguration"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
102
111
|
{
|
|
103
112
|
"pkg": "tailscale",
|
|
104
113
|
"mod": "index/dnsNameservers",
|
|
@@ -0,0 +1,278 @@
|
|
|
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
|
+
'ContactsAccountArgs',
|
|
19
|
+
'ContactsAccountArgsDict',
|
|
20
|
+
'ContactsSecurityArgs',
|
|
21
|
+
'ContactsSecurityArgsDict',
|
|
22
|
+
'ContactsSupportArgs',
|
|
23
|
+
'ContactsSupportArgsDict',
|
|
24
|
+
'DnsConfigurationNameserverArgs',
|
|
25
|
+
'DnsConfigurationNameserverArgsDict',
|
|
26
|
+
'DnsConfigurationSplitDnArgs',
|
|
27
|
+
'DnsConfigurationSplitDnArgsDict',
|
|
28
|
+
'DnsConfigurationSplitDnNameserverArgs',
|
|
29
|
+
'DnsConfigurationSplitDnNameserverArgsDict',
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
MYPY = False
|
|
33
|
+
|
|
34
|
+
if not MYPY:
|
|
35
|
+
class ContactsAccountArgsDict(TypedDict):
|
|
36
|
+
email: pulumi.Input[_builtins.str]
|
|
37
|
+
"""
|
|
38
|
+
Email address to send communications to
|
|
39
|
+
"""
|
|
40
|
+
elif False:
|
|
41
|
+
ContactsAccountArgsDict: TypeAlias = Mapping[str, Any]
|
|
42
|
+
|
|
43
|
+
@pulumi.input_type
|
|
44
|
+
class ContactsAccountArgs:
|
|
45
|
+
def __init__(__self__, *,
|
|
46
|
+
email: pulumi.Input[_builtins.str]):
|
|
47
|
+
"""
|
|
48
|
+
:param pulumi.Input[_builtins.str] email: Email address to send communications to
|
|
49
|
+
"""
|
|
50
|
+
pulumi.set(__self__, "email", email)
|
|
51
|
+
|
|
52
|
+
@_builtins.property
|
|
53
|
+
@pulumi.getter
|
|
54
|
+
def email(self) -> pulumi.Input[_builtins.str]:
|
|
55
|
+
"""
|
|
56
|
+
Email address to send communications to
|
|
57
|
+
"""
|
|
58
|
+
return pulumi.get(self, "email")
|
|
59
|
+
|
|
60
|
+
@email.setter
|
|
61
|
+
def email(self, value: pulumi.Input[_builtins.str]):
|
|
62
|
+
pulumi.set(self, "email", value)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
if not MYPY:
|
|
66
|
+
class ContactsSecurityArgsDict(TypedDict):
|
|
67
|
+
email: pulumi.Input[_builtins.str]
|
|
68
|
+
"""
|
|
69
|
+
Email address to send communications to
|
|
70
|
+
"""
|
|
71
|
+
elif False:
|
|
72
|
+
ContactsSecurityArgsDict: TypeAlias = Mapping[str, Any]
|
|
73
|
+
|
|
74
|
+
@pulumi.input_type
|
|
75
|
+
class ContactsSecurityArgs:
|
|
76
|
+
def __init__(__self__, *,
|
|
77
|
+
email: pulumi.Input[_builtins.str]):
|
|
78
|
+
"""
|
|
79
|
+
:param pulumi.Input[_builtins.str] email: Email address to send communications to
|
|
80
|
+
"""
|
|
81
|
+
pulumi.set(__self__, "email", email)
|
|
82
|
+
|
|
83
|
+
@_builtins.property
|
|
84
|
+
@pulumi.getter
|
|
85
|
+
def email(self) -> pulumi.Input[_builtins.str]:
|
|
86
|
+
"""
|
|
87
|
+
Email address to send communications to
|
|
88
|
+
"""
|
|
89
|
+
return pulumi.get(self, "email")
|
|
90
|
+
|
|
91
|
+
@email.setter
|
|
92
|
+
def email(self, value: pulumi.Input[_builtins.str]):
|
|
93
|
+
pulumi.set(self, "email", value)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
if not MYPY:
|
|
97
|
+
class ContactsSupportArgsDict(TypedDict):
|
|
98
|
+
email: pulumi.Input[_builtins.str]
|
|
99
|
+
"""
|
|
100
|
+
Email address to send communications to
|
|
101
|
+
"""
|
|
102
|
+
elif False:
|
|
103
|
+
ContactsSupportArgsDict: TypeAlias = Mapping[str, Any]
|
|
104
|
+
|
|
105
|
+
@pulumi.input_type
|
|
106
|
+
class ContactsSupportArgs:
|
|
107
|
+
def __init__(__self__, *,
|
|
108
|
+
email: pulumi.Input[_builtins.str]):
|
|
109
|
+
"""
|
|
110
|
+
:param pulumi.Input[_builtins.str] email: Email address to send communications to
|
|
111
|
+
"""
|
|
112
|
+
pulumi.set(__self__, "email", email)
|
|
113
|
+
|
|
114
|
+
@_builtins.property
|
|
115
|
+
@pulumi.getter
|
|
116
|
+
def email(self) -> pulumi.Input[_builtins.str]:
|
|
117
|
+
"""
|
|
118
|
+
Email address to send communications to
|
|
119
|
+
"""
|
|
120
|
+
return pulumi.get(self, "email")
|
|
121
|
+
|
|
122
|
+
@email.setter
|
|
123
|
+
def email(self, value: pulumi.Input[_builtins.str]):
|
|
124
|
+
pulumi.set(self, "email", value)
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
if not MYPY:
|
|
128
|
+
class DnsConfigurationNameserverArgsDict(TypedDict):
|
|
129
|
+
address: pulumi.Input[_builtins.str]
|
|
130
|
+
"""
|
|
131
|
+
The nameserver's IPv4 or IPv6 address
|
|
132
|
+
"""
|
|
133
|
+
use_with_exit_node: NotRequired[pulumi.Input[_builtins.bool]]
|
|
134
|
+
"""
|
|
135
|
+
This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
136
|
+
"""
|
|
137
|
+
elif False:
|
|
138
|
+
DnsConfigurationNameserverArgsDict: TypeAlias = Mapping[str, Any]
|
|
139
|
+
|
|
140
|
+
@pulumi.input_type
|
|
141
|
+
class DnsConfigurationNameserverArgs:
|
|
142
|
+
def __init__(__self__, *,
|
|
143
|
+
address: pulumi.Input[_builtins.str],
|
|
144
|
+
use_with_exit_node: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
145
|
+
"""
|
|
146
|
+
:param pulumi.Input[_builtins.str] address: The nameserver's IPv4 or IPv6 address
|
|
147
|
+
:param pulumi.Input[_builtins.bool] use_with_exit_node: This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
148
|
+
"""
|
|
149
|
+
pulumi.set(__self__, "address", address)
|
|
150
|
+
if use_with_exit_node is not None:
|
|
151
|
+
pulumi.set(__self__, "use_with_exit_node", use_with_exit_node)
|
|
152
|
+
|
|
153
|
+
@_builtins.property
|
|
154
|
+
@pulumi.getter
|
|
155
|
+
def address(self) -> pulumi.Input[_builtins.str]:
|
|
156
|
+
"""
|
|
157
|
+
The nameserver's IPv4 or IPv6 address
|
|
158
|
+
"""
|
|
159
|
+
return pulumi.get(self, "address")
|
|
160
|
+
|
|
161
|
+
@address.setter
|
|
162
|
+
def address(self, value: pulumi.Input[_builtins.str]):
|
|
163
|
+
pulumi.set(self, "address", value)
|
|
164
|
+
|
|
165
|
+
@_builtins.property
|
|
166
|
+
@pulumi.getter(name="useWithExitNode")
|
|
167
|
+
def use_with_exit_node(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
168
|
+
"""
|
|
169
|
+
This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
170
|
+
"""
|
|
171
|
+
return pulumi.get(self, "use_with_exit_node")
|
|
172
|
+
|
|
173
|
+
@use_with_exit_node.setter
|
|
174
|
+
def use_with_exit_node(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
175
|
+
pulumi.set(self, "use_with_exit_node", value)
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
if not MYPY:
|
|
179
|
+
class DnsConfigurationSplitDnArgsDict(TypedDict):
|
|
180
|
+
domain: pulumi.Input[_builtins.str]
|
|
181
|
+
"""
|
|
182
|
+
The nameservers will be used only for this domain.
|
|
183
|
+
"""
|
|
184
|
+
nameservers: pulumi.Input[Sequence[pulumi.Input['DnsConfigurationSplitDnNameserverArgsDict']]]
|
|
185
|
+
"""
|
|
186
|
+
Set the nameservers used by devices on your network to resolve DNS queries.
|
|
187
|
+
"""
|
|
188
|
+
elif False:
|
|
189
|
+
DnsConfigurationSplitDnArgsDict: TypeAlias = Mapping[str, Any]
|
|
190
|
+
|
|
191
|
+
@pulumi.input_type
|
|
192
|
+
class DnsConfigurationSplitDnArgs:
|
|
193
|
+
def __init__(__self__, *,
|
|
194
|
+
domain: pulumi.Input[_builtins.str],
|
|
195
|
+
nameservers: pulumi.Input[Sequence[pulumi.Input['DnsConfigurationSplitDnNameserverArgs']]]):
|
|
196
|
+
"""
|
|
197
|
+
:param pulumi.Input[_builtins.str] domain: The nameservers will be used only for this domain.
|
|
198
|
+
:param pulumi.Input[Sequence[pulumi.Input['DnsConfigurationSplitDnNameserverArgs']]] nameservers: Set the nameservers used by devices on your network to resolve DNS queries.
|
|
199
|
+
"""
|
|
200
|
+
pulumi.set(__self__, "domain", domain)
|
|
201
|
+
pulumi.set(__self__, "nameservers", nameservers)
|
|
202
|
+
|
|
203
|
+
@_builtins.property
|
|
204
|
+
@pulumi.getter
|
|
205
|
+
def domain(self) -> pulumi.Input[_builtins.str]:
|
|
206
|
+
"""
|
|
207
|
+
The nameservers will be used only for this domain.
|
|
208
|
+
"""
|
|
209
|
+
return pulumi.get(self, "domain")
|
|
210
|
+
|
|
211
|
+
@domain.setter
|
|
212
|
+
def domain(self, value: pulumi.Input[_builtins.str]):
|
|
213
|
+
pulumi.set(self, "domain", value)
|
|
214
|
+
|
|
215
|
+
@_builtins.property
|
|
216
|
+
@pulumi.getter
|
|
217
|
+
def nameservers(self) -> pulumi.Input[Sequence[pulumi.Input['DnsConfigurationSplitDnNameserverArgs']]]:
|
|
218
|
+
"""
|
|
219
|
+
Set the nameservers used by devices on your network to resolve DNS queries.
|
|
220
|
+
"""
|
|
221
|
+
return pulumi.get(self, "nameservers")
|
|
222
|
+
|
|
223
|
+
@nameservers.setter
|
|
224
|
+
def nameservers(self, value: pulumi.Input[Sequence[pulumi.Input['DnsConfigurationSplitDnNameserverArgs']]]):
|
|
225
|
+
pulumi.set(self, "nameservers", value)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
if not MYPY:
|
|
229
|
+
class DnsConfigurationSplitDnNameserverArgsDict(TypedDict):
|
|
230
|
+
address: pulumi.Input[_builtins.str]
|
|
231
|
+
"""
|
|
232
|
+
The nameserver's IPv4 or IPv6 address.
|
|
233
|
+
"""
|
|
234
|
+
use_with_exit_node: NotRequired[pulumi.Input[_builtins.bool]]
|
|
235
|
+
"""
|
|
236
|
+
This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
237
|
+
"""
|
|
238
|
+
elif False:
|
|
239
|
+
DnsConfigurationSplitDnNameserverArgsDict: TypeAlias = Mapping[str, Any]
|
|
240
|
+
|
|
241
|
+
@pulumi.input_type
|
|
242
|
+
class DnsConfigurationSplitDnNameserverArgs:
|
|
243
|
+
def __init__(__self__, *,
|
|
244
|
+
address: pulumi.Input[_builtins.str],
|
|
245
|
+
use_with_exit_node: Optional[pulumi.Input[_builtins.bool]] = None):
|
|
246
|
+
"""
|
|
247
|
+
:param pulumi.Input[_builtins.str] address: The nameserver's IPv4 or IPv6 address.
|
|
248
|
+
:param pulumi.Input[_builtins.bool] use_with_exit_node: This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
249
|
+
"""
|
|
250
|
+
pulumi.set(__self__, "address", address)
|
|
251
|
+
if use_with_exit_node is not None:
|
|
252
|
+
pulumi.set(__self__, "use_with_exit_node", use_with_exit_node)
|
|
253
|
+
|
|
254
|
+
@_builtins.property
|
|
255
|
+
@pulumi.getter
|
|
256
|
+
def address(self) -> pulumi.Input[_builtins.str]:
|
|
257
|
+
"""
|
|
258
|
+
The nameserver's IPv4 or IPv6 address.
|
|
259
|
+
"""
|
|
260
|
+
return pulumi.get(self, "address")
|
|
261
|
+
|
|
262
|
+
@address.setter
|
|
263
|
+
def address(self, value: pulumi.Input[_builtins.str]):
|
|
264
|
+
pulumi.set(self, "address", value)
|
|
265
|
+
|
|
266
|
+
@_builtins.property
|
|
267
|
+
@pulumi.getter(name="useWithExitNode")
|
|
268
|
+
def use_with_exit_node(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
269
|
+
"""
|
|
270
|
+
This nameserver will continue to be used when an exit node is selected (requires Tailscale v1.88.1 or later). Defaults to false.
|
|
271
|
+
"""
|
|
272
|
+
return pulumi.get(self, "use_with_exit_node")
|
|
273
|
+
|
|
274
|
+
@use_with_exit_node.setter
|
|
275
|
+
def use_with_exit_node(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
276
|
+
pulumi.set(self, "use_with_exit_node", value)
|
|
277
|
+
|
|
278
|
+
|
{pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/acl.py
RENAMED
|
@@ -158,12 +158,12 @@ class Acl(pulumi.CustomResource):
|
|
|
158
158
|
}))
|
|
159
159
|
as_hujson = tailscale.Acl("as_hujson", acl=\"\"\" {
|
|
160
160
|
// Comments in HuJSON policy are preserved when the policy is applied.
|
|
161
|
-
"acls": [
|
|
161
|
+
\\"acls\\": [
|
|
162
162
|
{
|
|
163
163
|
// Allow all users access to all ports.
|
|
164
|
-
action = "accept",
|
|
165
|
-
users = ["
|
|
166
|
-
ports = ["
|
|
164
|
+
action = \\"accept\\",
|
|
165
|
+
users = [\\"*\\"],
|
|
166
|
+
ports = [\\"*:*\\"],
|
|
167
167
|
},
|
|
168
168
|
],
|
|
169
169
|
}
|
|
@@ -172,6 +172,8 @@ class Acl(pulumi.CustomResource):
|
|
|
172
172
|
|
|
173
173
|
## Import
|
|
174
174
|
|
|
175
|
+
The `pulumi import` command can be used, for example:
|
|
176
|
+
|
|
175
177
|
ID doesn't matter.
|
|
176
178
|
|
|
177
179
|
```sh
|
|
@@ -211,12 +213,12 @@ class Acl(pulumi.CustomResource):
|
|
|
211
213
|
}))
|
|
212
214
|
as_hujson = tailscale.Acl("as_hujson", acl=\"\"\" {
|
|
213
215
|
// Comments in HuJSON policy are preserved when the policy is applied.
|
|
214
|
-
"acls": [
|
|
216
|
+
\\"acls\\": [
|
|
215
217
|
{
|
|
216
218
|
// Allow all users access to all ports.
|
|
217
|
-
action = "accept",
|
|
218
|
-
users = ["
|
|
219
|
-
ports = ["
|
|
219
|
+
action = \\"accept\\",
|
|
220
|
+
users = [\\"*\\"],
|
|
221
|
+
ports = [\\"*:*\\"],
|
|
220
222
|
},
|
|
221
223
|
],
|
|
222
224
|
}
|
|
@@ -225,6 +227,8 @@ class Acl(pulumi.CustomResource):
|
|
|
225
227
|
|
|
226
228
|
## Import
|
|
227
229
|
|
|
230
|
+
The `pulumi import` command can be used, for example:
|
|
231
|
+
|
|
228
232
|
ID doesn't matter.
|
|
229
233
|
|
|
230
234
|
```sh
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
apiKey: Optional[str]
|
|
18
|
+
"""
|
|
19
|
+
The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable. Conflicts with 'oauth_client_id' and 'oauth_client_secret'.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
baseUrl: Optional[str]
|
|
23
|
+
"""
|
|
24
|
+
The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL environment variable.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
identityToken: Optional[str]
|
|
28
|
+
"""
|
|
29
|
+
The jwt identity token to exchange for a Tailscale API token when using a federated identity client. Can be set via the TAILSCALE_IDENTITY_TOKEN environment variable. Conflicts with 'api_key' and 'oauth_client_secret'.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
oauthClientId: Optional[str]
|
|
33
|
+
"""
|
|
34
|
+
The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment variable. Either 'oauth_client_secret' or 'identity_token' must be set alongside 'oauth_client_id'. Conflicts with 'api_key'.
|
|
35
|
+
"""
|
|
36
|
+
|
|
37
|
+
oauthClientSecret: Optional[str]
|
|
38
|
+
"""
|
|
39
|
+
The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET environment variable. Conflicts with 'api_key' and 'identity_token'.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
scopes: Optional[str]
|
|
43
|
+
"""
|
|
44
|
+
The OAuth 2.0 scopes to request when generating the access token using the supplied OAuth client credentials. See https://tailscale.com/kb/1215/oauth-clients/#scopes for available scopes. Only valid when both 'oauth_client_id' and 'oauth_client_secret' are set.
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
tailnet: Optional[str]
|
|
48
|
+
"""
|
|
49
|
+
The tailnet ID. Tailnets created before Oct 2025 can still use the legacy ID, but the Tailnet ID is the preferred identifier. Can be set via the TAILSCALE_TAILNET environment variable. Default is the tailnet that owns API credentials passed to the provider.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
userAgent: Optional[str]
|
|
53
|
+
"""
|
|
54
|
+
User-Agent header for API requests.
|
|
55
|
+
"""
|
|
56
|
+
|
|
@@ -23,49 +23,49 @@ class _ExportableConfig(types.ModuleType):
|
|
|
23
23
|
@_builtins.property
|
|
24
24
|
def api_key(self) -> Optional[str]:
|
|
25
25
|
"""
|
|
26
|
-
The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable.
|
|
27
|
-
Conflicts with 'oauth_client_id' and 'oauth_client_secret'.
|
|
26
|
+
The API key to use for authenticating requests to the API. Can be set via the TAILSCALE_API_KEY environment variable. Conflicts with 'oauth_client_id' and 'oauth_client_secret'.
|
|
28
27
|
"""
|
|
29
28
|
return __config__.get('apiKey')
|
|
30
29
|
|
|
31
30
|
@_builtins.property
|
|
32
31
|
def base_url(self) -> Optional[str]:
|
|
33
32
|
"""
|
|
34
|
-
The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL
|
|
35
|
-
environment variable.
|
|
33
|
+
The base URL of the Tailscale API. Defaults to https://api.tailscale.com. Can be set via the TAILSCALE_BASE_URL environment variable.
|
|
36
34
|
"""
|
|
37
35
|
return __config__.get('baseUrl')
|
|
38
36
|
|
|
37
|
+
@_builtins.property
|
|
38
|
+
def identity_token(self) -> Optional[str]:
|
|
39
|
+
"""
|
|
40
|
+
The jwt identity token to exchange for a Tailscale API token when using a federated identity client. Can be set via the TAILSCALE_IDENTITY_TOKEN environment variable. Conflicts with 'api_key' and 'oauth_client_secret'.
|
|
41
|
+
"""
|
|
42
|
+
return __config__.get('identityToken')
|
|
43
|
+
|
|
39
44
|
@_builtins.property
|
|
40
45
|
def oauth_client_id(self) -> Optional[str]:
|
|
41
46
|
"""
|
|
42
|
-
The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment
|
|
43
|
-
variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
|
|
47
|
+
The OAuth application's ID when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_ID environment variable. Either 'oauth_client_secret' or 'identity_token' must be set alongside 'oauth_client_id'. Conflicts with 'api_key'.
|
|
44
48
|
"""
|
|
45
49
|
return __config__.get('oauthClientId')
|
|
46
50
|
|
|
47
51
|
@_builtins.property
|
|
48
52
|
def oauth_client_secret(self) -> Optional[str]:
|
|
49
53
|
"""
|
|
50
|
-
The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET
|
|
51
|
-
environment variable. Both 'oauth_client_id' and 'oauth_client_secret' must be set. Conflicts with 'api_key'.
|
|
54
|
+
The OAuth application's secret when using OAuth client credentials. Can be set via the TAILSCALE_OAUTH_CLIENT_SECRET environment variable. Conflicts with 'api_key' and 'identity_token'.
|
|
52
55
|
"""
|
|
53
56
|
return __config__.get('oauthClientSecret')
|
|
54
57
|
|
|
55
58
|
@_builtins.property
|
|
56
59
|
def scopes(self) -> Optional[str]:
|
|
57
60
|
"""
|
|
58
|
-
The OAuth 2.0 scopes to request when
|
|
59
|
-
https://tailscale.com/kb/1215/oauth-clients/#scopes for available scopes. Only valid when both 'oauth_client_id' and
|
|
60
|
-
'oauth_client_secret' are set.
|
|
61
|
+
The OAuth 2.0 scopes to request when generating the access token using the supplied OAuth client credentials. See https://tailscale.com/kb/1215/oauth-clients/#scopes for available scopes. Only valid when both 'oauth_client_id' and 'oauth_client_secret' are set.
|
|
61
62
|
"""
|
|
62
63
|
return __config__.get('scopes')
|
|
63
64
|
|
|
64
65
|
@_builtins.property
|
|
65
66
|
def tailnet(self) -> Optional[str]:
|
|
66
67
|
"""
|
|
67
|
-
The
|
|
68
|
-
variable. Default is the tailnet that owns API credentials passed to the provider.
|
|
68
|
+
The tailnet ID. Tailnets created before Oct 2025 can still use the legacy ID, but the Tailnet ID is the preferred identifier. Can be set via the TAILSCALE_TAILNET environment variable. Default is the tailnet that owns API credentials passed to the provider.
|
|
69
69
|
"""
|
|
70
70
|
return __config__.get('tailnet')
|
|
71
71
|
|
{pulumi_tailscale-1.0.0a1754635854 → pulumi_tailscale-1.0.0a1764138241}/pulumi_tailscale/contacts.py
RENAMED
|
@@ -158,6 +158,8 @@ class Contacts(pulumi.CustomResource):
|
|
|
158
158
|
|
|
159
159
|
## Import
|
|
160
160
|
|
|
161
|
+
The `pulumi import` command can be used, for example:
|
|
162
|
+
|
|
161
163
|
ID doesn't matter.
|
|
162
164
|
|
|
163
165
|
```sh
|
|
@@ -197,6 +199,8 @@ class Contacts(pulumi.CustomResource):
|
|
|
197
199
|
|
|
198
200
|
## Import
|
|
199
201
|
|
|
202
|
+
The `pulumi import` command can be used, for example:
|
|
203
|
+
|
|
200
204
|
ID doesn't matter.
|
|
201
205
|
|
|
202
206
|
```sh
|
|
@@ -120,6 +120,8 @@ class DeviceAuthorization(pulumi.CustomResource):
|
|
|
120
120
|
|
|
121
121
|
## Import
|
|
122
122
|
|
|
123
|
+
The `pulumi import` command can be used, for example:
|
|
124
|
+
|
|
123
125
|
Device authorization can be imported using the node ID (preferred), e.g.,
|
|
124
126
|
|
|
125
127
|
```sh
|
|
@@ -160,6 +162,8 @@ class DeviceAuthorization(pulumi.CustomResource):
|
|
|
160
162
|
|
|
161
163
|
## Import
|
|
162
164
|
|
|
165
|
+
The `pulumi import` command can be used, for example:
|
|
166
|
+
|
|
163
167
|
Device authorization can be imported using the node ID (preferred), e.g.,
|
|
164
168
|
|
|
165
169
|
```sh
|
|
@@ -121,6 +121,8 @@ class DeviceKey(pulumi.CustomResource):
|
|
|
121
121
|
|
|
122
122
|
## Import
|
|
123
123
|
|
|
124
|
+
The `pulumi import` command can be used, for example:
|
|
125
|
+
|
|
124
126
|
Device key can be imported using the node ID (preferred), e.g.,
|
|
125
127
|
|
|
126
128
|
```sh
|
|
@@ -161,6 +163,8 @@ class DeviceKey(pulumi.CustomResource):
|
|
|
161
163
|
|
|
162
164
|
## Import
|
|
163
165
|
|
|
166
|
+
The `pulumi import` command can be used, for example:
|
|
167
|
+
|
|
164
168
|
Device key can be imported using the node ID (preferred), e.g.,
|
|
165
169
|
|
|
166
170
|
```sh
|
|
@@ -128,6 +128,8 @@ class DeviceSubnetRoutes(pulumi.CustomResource):
|
|
|
128
128
|
|
|
129
129
|
## Import
|
|
130
130
|
|
|
131
|
+
The `pulumi import` command can be used, for example:
|
|
132
|
+
|
|
131
133
|
Device subnet rules can be imported using the node ID (preferred), e.g.,
|
|
132
134
|
|
|
133
135
|
```sh
|
|
@@ -176,6 +178,8 @@ class DeviceSubnetRoutes(pulumi.CustomResource):
|
|
|
176
178
|
|
|
177
179
|
## Import
|
|
178
180
|
|
|
181
|
+
The `pulumi import` command can be used, for example:
|
|
182
|
+
|
|
179
183
|
Device subnet rules can be imported using the node ID (preferred), e.g.,
|
|
180
184
|
|
|
181
185
|
```sh
|
|
@@ -120,6 +120,8 @@ class DeviceTags(pulumi.CustomResource):
|
|
|
120
120
|
|
|
121
121
|
## Import
|
|
122
122
|
|
|
123
|
+
The `pulumi import` command can be used, for example:
|
|
124
|
+
|
|
123
125
|
Device tags can be imported using the node ID (preferred), e.g.,
|
|
124
126
|
|
|
125
127
|
```sh
|
|
@@ -160,6 +162,8 @@ class DeviceTags(pulumi.CustomResource):
|
|
|
160
162
|
|
|
161
163
|
## Import
|
|
162
164
|
|
|
165
|
+
The `pulumi import` command can be used, for example:
|
|
166
|
+
|
|
163
167
|
Device tags can be imported using the node ID (preferred), e.g.,
|
|
164
168
|
|
|
165
169
|
```sh
|