pulumi-tailscale 1.0.0a1769802536__tar.gz → 1.0.0a1770157009__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.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/aws_external_id.py +88 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/pulumi-plugin.json +1 -1
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale.egg-info/PKG-INFO +1 -1
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pyproject.toml +1 -1
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/README.md +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/__init__.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/_inputs.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/_utilities.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/acl.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/config/__init__.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/config/__init__.pyi +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/config/vars.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/contacts.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/device_authorization.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/device_key.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/device_subnet_routes.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/device_tags.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/dns_configuration.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/dns_nameservers.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/dns_preferences.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/dns_search_paths.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/dns_split_nameservers.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/federated_identity.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get4_via6.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_acl.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_device.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_devices.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_user.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_users.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/logstream_configuration.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/oauth_client.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/outputs.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/posture_integration.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/provider.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/py.typed +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/tailnet_key.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/tailnet_settings.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/webhook.py +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale.egg-info/SOURCES.txt +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale.egg-info/dependency_links.txt +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale.egg-info/requires.txt +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale.egg-info/top_level.txt +0 -0
- {pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/setup.cfg +0 -0
|
@@ -75,6 +75,50 @@ class AwsExternalId(pulumi.CustomResource):
|
|
|
75
75
|
"""
|
|
76
76
|
The aws_external_id resource allows you to mint an AWS External ID that Tailscale can use to assume an AWS IAM role that you create for the purposes of allowing Tailscale to stream logs to your S3 bucket. See the logstream_configuration resource for more details.
|
|
77
77
|
|
|
78
|
+
## Example Usage
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
import pulumi
|
|
82
|
+
import pulumi_aws as aws
|
|
83
|
+
import pulumi_tailscale as tailscale
|
|
84
|
+
|
|
85
|
+
prod = tailscale.AwsExternalId("prod")
|
|
86
|
+
tailscale_assume_role = aws.index.iam_policy_document(statement=[{
|
|
87
|
+
"actions": ["sts:AssumeRole"],
|
|
88
|
+
"principals": [{
|
|
89
|
+
"type": "AWS",
|
|
90
|
+
"identifiers": [prod.tailscale_aws_account_id],
|
|
91
|
+
}],
|
|
92
|
+
"condition": [{
|
|
93
|
+
"test": "StringEquals",
|
|
94
|
+
"variable": "sts:ExternalId",
|
|
95
|
+
"values": [prod.external_id],
|
|
96
|
+
}],
|
|
97
|
+
}])
|
|
98
|
+
logs_writer_iam_role = aws.index.IamRole("logs_writer",
|
|
99
|
+
name=logs-writer,
|
|
100
|
+
assume_role_policy=tailscale_assume_role.json)
|
|
101
|
+
configuration_logs = tailscale.LogstreamConfiguration("configuration_logs",
|
|
102
|
+
log_type="configuration",
|
|
103
|
+
destination_type="s3",
|
|
104
|
+
s3_bucket=tailscale_logs["id"],
|
|
105
|
+
s3_region="us-west-2",
|
|
106
|
+
s3_authentication_type="rolearn",
|
|
107
|
+
s3_role_arn=logs_writer_iam_role["arn"],
|
|
108
|
+
s3_external_id=prod.external_id)
|
|
109
|
+
logs_writer = aws.index.iam_policy_document(statement=[{
|
|
110
|
+
"effect": "Allow",
|
|
111
|
+
"actions": ["s3:*"],
|
|
112
|
+
"resources": [
|
|
113
|
+
"arn:aws:s3:::example-bucket",
|
|
114
|
+
"arn:aws:s3:::example-bucket/*",
|
|
115
|
+
],
|
|
116
|
+
}])
|
|
117
|
+
logs_writer_iam_role_policy = aws.index.IamRolePolicy("logs_writer",
|
|
118
|
+
role=logs_writer_iam_role.id,
|
|
119
|
+
policy=logs_writer.json)
|
|
120
|
+
```
|
|
121
|
+
|
|
78
122
|
:param str resource_name: The name of the resource.
|
|
79
123
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
80
124
|
"""
|
|
@@ -87,6 +131,50 @@ class AwsExternalId(pulumi.CustomResource):
|
|
|
87
131
|
"""
|
|
88
132
|
The aws_external_id resource allows you to mint an AWS External ID that Tailscale can use to assume an AWS IAM role that you create for the purposes of allowing Tailscale to stream logs to your S3 bucket. See the logstream_configuration resource for more details.
|
|
89
133
|
|
|
134
|
+
## Example Usage
|
|
135
|
+
|
|
136
|
+
```python
|
|
137
|
+
import pulumi
|
|
138
|
+
import pulumi_aws as aws
|
|
139
|
+
import pulumi_tailscale as tailscale
|
|
140
|
+
|
|
141
|
+
prod = tailscale.AwsExternalId("prod")
|
|
142
|
+
tailscale_assume_role = aws.index.iam_policy_document(statement=[{
|
|
143
|
+
"actions": ["sts:AssumeRole"],
|
|
144
|
+
"principals": [{
|
|
145
|
+
"type": "AWS",
|
|
146
|
+
"identifiers": [prod.tailscale_aws_account_id],
|
|
147
|
+
}],
|
|
148
|
+
"condition": [{
|
|
149
|
+
"test": "StringEquals",
|
|
150
|
+
"variable": "sts:ExternalId",
|
|
151
|
+
"values": [prod.external_id],
|
|
152
|
+
}],
|
|
153
|
+
}])
|
|
154
|
+
logs_writer_iam_role = aws.index.IamRole("logs_writer",
|
|
155
|
+
name=logs-writer,
|
|
156
|
+
assume_role_policy=tailscale_assume_role.json)
|
|
157
|
+
configuration_logs = tailscale.LogstreamConfiguration("configuration_logs",
|
|
158
|
+
log_type="configuration",
|
|
159
|
+
destination_type="s3",
|
|
160
|
+
s3_bucket=tailscale_logs["id"],
|
|
161
|
+
s3_region="us-west-2",
|
|
162
|
+
s3_authentication_type="rolearn",
|
|
163
|
+
s3_role_arn=logs_writer_iam_role["arn"],
|
|
164
|
+
s3_external_id=prod.external_id)
|
|
165
|
+
logs_writer = aws.index.iam_policy_document(statement=[{
|
|
166
|
+
"effect": "Allow",
|
|
167
|
+
"actions": ["s3:*"],
|
|
168
|
+
"resources": [
|
|
169
|
+
"arn:aws:s3:::example-bucket",
|
|
170
|
+
"arn:aws:s3:::example-bucket/*",
|
|
171
|
+
],
|
|
172
|
+
}])
|
|
173
|
+
logs_writer_iam_role_policy = aws.index.IamRolePolicy("logs_writer",
|
|
174
|
+
role=logs_writer_iam_role.id,
|
|
175
|
+
policy=logs_writer.json)
|
|
176
|
+
```
|
|
177
|
+
|
|
90
178
|
:param str resource_name: The name of the resource.
|
|
91
179
|
:param AwsExternalIdArgs args: The arguments to use to populate this resource's properties.
|
|
92
180
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/__init__.py
RENAMED
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/_inputs.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/acl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/contacts.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_acl.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/get_user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/outputs.py
RENAMED
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/provider.py
RENAMED
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pulumi_tailscale-1.0.0a1769802536 → pulumi_tailscale-1.0.0a1770157009}/pulumi_tailscale/webhook.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|