pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.0__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.
- pulumi_gcp/__init__.py +102 -0
- pulumi_gcp/accesscontextmanager/__init__.py +1 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
- pulumi_gcp/accesscontextmanager/outputs.py +74 -58
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
- pulumi_gcp/apphub/__init__.py +15 -0
- pulumi_gcp/apphub/_inputs.py +1016 -0
- pulumi_gcp/apphub/application.py +775 -0
- pulumi_gcp/apphub/get_discovered_service.py +180 -0
- pulumi_gcp/apphub/get_discovered_workload.py +180 -0
- pulumi_gcp/apphub/outputs.py +1206 -0
- pulumi_gcp/apphub/service.py +1121 -0
- pulumi_gcp/apphub/service_project_attachment.py +516 -0
- pulumi_gcp/apphub/workload.py +1197 -0
- pulumi_gcp/cloudquota/__init__.py +10 -0
- pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
- pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
- pulumi_gcp/cloudquota/outputs.py +375 -0
- pulumi_gcp/cloudrunv2/_inputs.py +85 -4
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/outputs.py +165 -6
- pulumi_gcp/cloudrunv2/service.py +60 -6
- pulumi_gcp/composer/_inputs.py +16 -0
- pulumi_gcp/composer/outputs.py +23 -0
- pulumi_gcp/compute/_inputs.py +109 -11
- pulumi_gcp/compute/outputs.py +144 -13
- pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
- pulumi_gcp/compute/region_url_map.py +152 -0
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/dataform/repository.py +4 -74
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/android_app.py +41 -40
- pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
- pulumi_gcp/firestore/_inputs.py +69 -0
- pulumi_gcp/firestore/database.py +206 -0
- pulumi_gcp/firestore/index.py +34 -48
- pulumi_gcp/firestore/outputs.py +80 -0
- pulumi_gcp/gkeonprem/_inputs.py +1 -3
- pulumi_gcp/gkeonprem/outputs.py +1 -3
- pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
- pulumi_gcp/iap/__init__.py +5 -0
- pulumi_gcp/iap/_inputs.py +100 -0
- pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/iap/tunnel_dest_group.py +524 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +246 -0
- pulumi_gcp/kms/ekm_connection.py +610 -0
- pulumi_gcp/kms/outputs.py +242 -0
- pulumi_gcp/monitoring/_inputs.py +2 -0
- pulumi_gcp/monitoring/outputs.py +2 -0
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
- pulumi_gcp/notebooks/instance.py +8 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +108 -0
- pulumi_gcp/pubsub/get_topic.py +11 -1
- pulumi_gcp/pubsub/outputs.py +213 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pubsub/topic.py +92 -0
- pulumi_gcp/securityposture/posture.py +2 -2
- pulumi_gcp/securityposture/posture_deployment.py +2 -2
- pulumi_gcp/storage/_inputs.py +72 -15
- pulumi_gcp/storage/bucket.py +54 -0
- pulumi_gcp/storage/get_bucket.py +11 -1
- pulumi_gcp/storage/outputs.py +110 -14
- pulumi_gcp/workstations/_inputs.py +247 -4
- pulumi_gcp/workstations/outputs.py +261 -5
- pulumi_gcp/workstations/workstation_config.py +160 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,572 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
|
12
|
+
__all__ = ['AppCheckDeviceCheckConfigArgs', 'AppCheckDeviceCheckConfig']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class AppCheckDeviceCheckConfigArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
app_id: pulumi.Input[str],
|
18
|
+
key_id: pulumi.Input[str],
|
19
|
+
private_key: pulumi.Input[str],
|
20
|
+
project: Optional[pulumi.Input[str]] = None,
|
21
|
+
token_ttl: Optional[pulumi.Input[str]] = None):
|
22
|
+
"""
|
23
|
+
The set of arguments for constructing a AppCheckDeviceCheckConfig resource.
|
24
|
+
:param pulumi.Input[str] app_id: The ID of an
|
25
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
26
|
+
|
27
|
+
|
28
|
+
- - -
|
29
|
+
:param pulumi.Input[str] key_id: The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
30
|
+
:param pulumi.Input[str] private_key: The contents of the private key (.p8) file associated with the key specified by keyId.
|
31
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
32
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
33
|
+
If it is not provided, the provider project is used.
|
34
|
+
:param pulumi.Input[str] token_ttl: Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
35
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
36
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
37
|
+
"""
|
38
|
+
pulumi.set(__self__, "app_id", app_id)
|
39
|
+
pulumi.set(__self__, "key_id", key_id)
|
40
|
+
pulumi.set(__self__, "private_key", private_key)
|
41
|
+
if project is not None:
|
42
|
+
pulumi.set(__self__, "project", project)
|
43
|
+
if token_ttl is not None:
|
44
|
+
pulumi.set(__self__, "token_ttl", token_ttl)
|
45
|
+
|
46
|
+
@property
|
47
|
+
@pulumi.getter(name="appId")
|
48
|
+
def app_id(self) -> pulumi.Input[str]:
|
49
|
+
"""
|
50
|
+
The ID of an
|
51
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
52
|
+
|
53
|
+
|
54
|
+
- - -
|
55
|
+
"""
|
56
|
+
return pulumi.get(self, "app_id")
|
57
|
+
|
58
|
+
@app_id.setter
|
59
|
+
def app_id(self, value: pulumi.Input[str]):
|
60
|
+
pulumi.set(self, "app_id", value)
|
61
|
+
|
62
|
+
@property
|
63
|
+
@pulumi.getter(name="keyId")
|
64
|
+
def key_id(self) -> pulumi.Input[str]:
|
65
|
+
"""
|
66
|
+
The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
67
|
+
"""
|
68
|
+
return pulumi.get(self, "key_id")
|
69
|
+
|
70
|
+
@key_id.setter
|
71
|
+
def key_id(self, value: pulumi.Input[str]):
|
72
|
+
pulumi.set(self, "key_id", value)
|
73
|
+
|
74
|
+
@property
|
75
|
+
@pulumi.getter(name="privateKey")
|
76
|
+
def private_key(self) -> pulumi.Input[str]:
|
77
|
+
"""
|
78
|
+
The contents of the private key (.p8) file associated with the key specified by keyId.
|
79
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
80
|
+
"""
|
81
|
+
return pulumi.get(self, "private_key")
|
82
|
+
|
83
|
+
@private_key.setter
|
84
|
+
def private_key(self, value: pulumi.Input[str]):
|
85
|
+
pulumi.set(self, "private_key", value)
|
86
|
+
|
87
|
+
@property
|
88
|
+
@pulumi.getter
|
89
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
90
|
+
"""
|
91
|
+
The ID of the project in which the resource belongs.
|
92
|
+
If it is not provided, the provider project is used.
|
93
|
+
"""
|
94
|
+
return pulumi.get(self, "project")
|
95
|
+
|
96
|
+
@project.setter
|
97
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
98
|
+
pulumi.set(self, "project", value)
|
99
|
+
|
100
|
+
@property
|
101
|
+
@pulumi.getter(name="tokenTtl")
|
102
|
+
def token_ttl(self) -> Optional[pulumi.Input[str]]:
|
103
|
+
"""
|
104
|
+
Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
105
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
106
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
107
|
+
"""
|
108
|
+
return pulumi.get(self, "token_ttl")
|
109
|
+
|
110
|
+
@token_ttl.setter
|
111
|
+
def token_ttl(self, value: Optional[pulumi.Input[str]]):
|
112
|
+
pulumi.set(self, "token_ttl", value)
|
113
|
+
|
114
|
+
|
115
|
+
@pulumi.input_type
|
116
|
+
class _AppCheckDeviceCheckConfigState:
|
117
|
+
def __init__(__self__, *,
|
118
|
+
app_id: Optional[pulumi.Input[str]] = None,
|
119
|
+
key_id: Optional[pulumi.Input[str]] = None,
|
120
|
+
name: Optional[pulumi.Input[str]] = None,
|
121
|
+
private_key: Optional[pulumi.Input[str]] = None,
|
122
|
+
private_key_set: Optional[pulumi.Input[bool]] = None,
|
123
|
+
project: Optional[pulumi.Input[str]] = None,
|
124
|
+
token_ttl: Optional[pulumi.Input[str]] = None):
|
125
|
+
"""
|
126
|
+
Input properties used for looking up and filtering AppCheckDeviceCheckConfig resources.
|
127
|
+
:param pulumi.Input[str] app_id: The ID of an
|
128
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
129
|
+
|
130
|
+
|
131
|
+
- - -
|
132
|
+
:param pulumi.Input[str] key_id: The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
133
|
+
:param pulumi.Input[str] name: The relative resource name of the DeviceCheck configuration object
|
134
|
+
:param pulumi.Input[str] private_key: The contents of the private key (.p8) file associated with the key specified by keyId.
|
135
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
136
|
+
:param pulumi.Input[bool] private_key_set: Whether the privateKey field was previously set. Since App Check will never return the
|
137
|
+
privateKey field, this field is the only way to find out whether it was previously set.
|
138
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
139
|
+
If it is not provided, the provider project is used.
|
140
|
+
:param pulumi.Input[str] token_ttl: Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
141
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
142
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
143
|
+
"""
|
144
|
+
if app_id is not None:
|
145
|
+
pulumi.set(__self__, "app_id", app_id)
|
146
|
+
if key_id is not None:
|
147
|
+
pulumi.set(__self__, "key_id", key_id)
|
148
|
+
if name is not None:
|
149
|
+
pulumi.set(__self__, "name", name)
|
150
|
+
if private_key is not None:
|
151
|
+
pulumi.set(__self__, "private_key", private_key)
|
152
|
+
if private_key_set is not None:
|
153
|
+
pulumi.set(__self__, "private_key_set", private_key_set)
|
154
|
+
if project is not None:
|
155
|
+
pulumi.set(__self__, "project", project)
|
156
|
+
if token_ttl is not None:
|
157
|
+
pulumi.set(__self__, "token_ttl", token_ttl)
|
158
|
+
|
159
|
+
@property
|
160
|
+
@pulumi.getter(name="appId")
|
161
|
+
def app_id(self) -> Optional[pulumi.Input[str]]:
|
162
|
+
"""
|
163
|
+
The ID of an
|
164
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
165
|
+
|
166
|
+
|
167
|
+
- - -
|
168
|
+
"""
|
169
|
+
return pulumi.get(self, "app_id")
|
170
|
+
|
171
|
+
@app_id.setter
|
172
|
+
def app_id(self, value: Optional[pulumi.Input[str]]):
|
173
|
+
pulumi.set(self, "app_id", value)
|
174
|
+
|
175
|
+
@property
|
176
|
+
@pulumi.getter(name="keyId")
|
177
|
+
def key_id(self) -> Optional[pulumi.Input[str]]:
|
178
|
+
"""
|
179
|
+
The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "key_id")
|
182
|
+
|
183
|
+
@key_id.setter
|
184
|
+
def key_id(self, value: Optional[pulumi.Input[str]]):
|
185
|
+
pulumi.set(self, "key_id", value)
|
186
|
+
|
187
|
+
@property
|
188
|
+
@pulumi.getter
|
189
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
190
|
+
"""
|
191
|
+
The relative resource name of the DeviceCheck configuration object
|
192
|
+
"""
|
193
|
+
return pulumi.get(self, "name")
|
194
|
+
|
195
|
+
@name.setter
|
196
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
197
|
+
pulumi.set(self, "name", value)
|
198
|
+
|
199
|
+
@property
|
200
|
+
@pulumi.getter(name="privateKey")
|
201
|
+
def private_key(self) -> Optional[pulumi.Input[str]]:
|
202
|
+
"""
|
203
|
+
The contents of the private key (.p8) file associated with the key specified by keyId.
|
204
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
205
|
+
"""
|
206
|
+
return pulumi.get(self, "private_key")
|
207
|
+
|
208
|
+
@private_key.setter
|
209
|
+
def private_key(self, value: Optional[pulumi.Input[str]]):
|
210
|
+
pulumi.set(self, "private_key", value)
|
211
|
+
|
212
|
+
@property
|
213
|
+
@pulumi.getter(name="privateKeySet")
|
214
|
+
def private_key_set(self) -> Optional[pulumi.Input[bool]]:
|
215
|
+
"""
|
216
|
+
Whether the privateKey field was previously set. Since App Check will never return the
|
217
|
+
privateKey field, this field is the only way to find out whether it was previously set.
|
218
|
+
"""
|
219
|
+
return pulumi.get(self, "private_key_set")
|
220
|
+
|
221
|
+
@private_key_set.setter
|
222
|
+
def private_key_set(self, value: Optional[pulumi.Input[bool]]):
|
223
|
+
pulumi.set(self, "private_key_set", value)
|
224
|
+
|
225
|
+
@property
|
226
|
+
@pulumi.getter
|
227
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
228
|
+
"""
|
229
|
+
The ID of the project in which the resource belongs.
|
230
|
+
If it is not provided, the provider project is used.
|
231
|
+
"""
|
232
|
+
return pulumi.get(self, "project")
|
233
|
+
|
234
|
+
@project.setter
|
235
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
236
|
+
pulumi.set(self, "project", value)
|
237
|
+
|
238
|
+
@property
|
239
|
+
@pulumi.getter(name="tokenTtl")
|
240
|
+
def token_ttl(self) -> Optional[pulumi.Input[str]]:
|
241
|
+
"""
|
242
|
+
Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
243
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
244
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
245
|
+
"""
|
246
|
+
return pulumi.get(self, "token_ttl")
|
247
|
+
|
248
|
+
@token_ttl.setter
|
249
|
+
def token_ttl(self, value: Optional[pulumi.Input[str]]):
|
250
|
+
pulumi.set(self, "token_ttl", value)
|
251
|
+
|
252
|
+
|
253
|
+
class AppCheckDeviceCheckConfig(pulumi.CustomResource):
|
254
|
+
@overload
|
255
|
+
def __init__(__self__,
|
256
|
+
resource_name: str,
|
257
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
258
|
+
app_id: Optional[pulumi.Input[str]] = None,
|
259
|
+
key_id: Optional[pulumi.Input[str]] = None,
|
260
|
+
private_key: Optional[pulumi.Input[str]] = None,
|
261
|
+
project: Optional[pulumi.Input[str]] = None,
|
262
|
+
token_ttl: Optional[pulumi.Input[str]] = None,
|
263
|
+
__props__=None):
|
264
|
+
"""
|
265
|
+
An app's DeviceCheck configuration object. Note that the Team ID registered with your
|
266
|
+
app is used as part of the validation process. Make sure your `firebase.AppleApp` has a team_id present.
|
267
|
+
|
268
|
+
To get more information about DeviceCheckConfig, see:
|
269
|
+
|
270
|
+
* [API documentation](https://firebase.google.com/docs/reference/appcheck/rest/v1/projects.apps.deviceCheckConfig)
|
271
|
+
* How-to Guides
|
272
|
+
* [Official Documentation](https://firebase.google.com/docs/app-check)
|
273
|
+
|
274
|
+
## Example Usage
|
275
|
+
|
276
|
+
### Firebase App Check Device Check Config Full
|
277
|
+
|
278
|
+
<!--Start PulumiCodeChooser -->
|
279
|
+
```python
|
280
|
+
import pulumi
|
281
|
+
import pulumi_gcp as gcp
|
282
|
+
import pulumi_std as std
|
283
|
+
import pulumi_time as time
|
284
|
+
|
285
|
+
default = gcp.firebase.AppleApp("default",
|
286
|
+
project="my-project-name",
|
287
|
+
display_name="Apple app",
|
288
|
+
bundle_id="bundle.id.devicecheck",
|
289
|
+
team_id="9987654321")
|
290
|
+
# It takes a while for App Check to recognize the new app
|
291
|
+
# If your app already exists, you don't have to wait 30 seconds.
|
292
|
+
wait30s = time.index.Sleep("wait_30s", create_duration=30s)
|
293
|
+
default_app_check_device_check_config = gcp.firebase.AppCheckDeviceCheckConfig("default",
|
294
|
+
project="my-project-name",
|
295
|
+
app_id=default.app_id,
|
296
|
+
token_ttl="7200s",
|
297
|
+
key_id="Key ID",
|
298
|
+
private_key=std.file(input="path/to/private-key.p8").result)
|
299
|
+
```
|
300
|
+
<!--End PulumiCodeChooser -->
|
301
|
+
|
302
|
+
## Import
|
303
|
+
|
304
|
+
DeviceCheckConfig can be imported using any of these accepted formats:
|
305
|
+
|
306
|
+
* `projects/{{project}}/apps/{{app_id}}/deviceCheckConfig`
|
307
|
+
|
308
|
+
* `{{project}}/{{app_id}}`
|
309
|
+
|
310
|
+
* `{{app_id}}`
|
311
|
+
|
312
|
+
When using the `pulumi import` command, DeviceCheckConfig can be imported using one of the formats above. For example:
|
313
|
+
|
314
|
+
```sh
|
315
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default projects/{{project}}/apps/{{app_id}}/deviceCheckConfig
|
316
|
+
```
|
317
|
+
|
318
|
+
```sh
|
319
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default {{project}}/{{app_id}}
|
320
|
+
```
|
321
|
+
|
322
|
+
```sh
|
323
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default {{app_id}}
|
324
|
+
```
|
325
|
+
|
326
|
+
:param str resource_name: The name of the resource.
|
327
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
328
|
+
:param pulumi.Input[str] app_id: The ID of an
|
329
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
330
|
+
|
331
|
+
|
332
|
+
- - -
|
333
|
+
:param pulumi.Input[str] key_id: The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
334
|
+
:param pulumi.Input[str] private_key: The contents of the private key (.p8) file associated with the key specified by keyId.
|
335
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
336
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
337
|
+
If it is not provided, the provider project is used.
|
338
|
+
:param pulumi.Input[str] token_ttl: Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
339
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
340
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
341
|
+
"""
|
342
|
+
...
|
343
|
+
@overload
|
344
|
+
def __init__(__self__,
|
345
|
+
resource_name: str,
|
346
|
+
args: AppCheckDeviceCheckConfigArgs,
|
347
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
348
|
+
"""
|
349
|
+
An app's DeviceCheck configuration object. Note that the Team ID registered with your
|
350
|
+
app is used as part of the validation process. Make sure your `firebase.AppleApp` has a team_id present.
|
351
|
+
|
352
|
+
To get more information about DeviceCheckConfig, see:
|
353
|
+
|
354
|
+
* [API documentation](https://firebase.google.com/docs/reference/appcheck/rest/v1/projects.apps.deviceCheckConfig)
|
355
|
+
* How-to Guides
|
356
|
+
* [Official Documentation](https://firebase.google.com/docs/app-check)
|
357
|
+
|
358
|
+
## Example Usage
|
359
|
+
|
360
|
+
### Firebase App Check Device Check Config Full
|
361
|
+
|
362
|
+
<!--Start PulumiCodeChooser -->
|
363
|
+
```python
|
364
|
+
import pulumi
|
365
|
+
import pulumi_gcp as gcp
|
366
|
+
import pulumi_std as std
|
367
|
+
import pulumi_time as time
|
368
|
+
|
369
|
+
default = gcp.firebase.AppleApp("default",
|
370
|
+
project="my-project-name",
|
371
|
+
display_name="Apple app",
|
372
|
+
bundle_id="bundle.id.devicecheck",
|
373
|
+
team_id="9987654321")
|
374
|
+
# It takes a while for App Check to recognize the new app
|
375
|
+
# If your app already exists, you don't have to wait 30 seconds.
|
376
|
+
wait30s = time.index.Sleep("wait_30s", create_duration=30s)
|
377
|
+
default_app_check_device_check_config = gcp.firebase.AppCheckDeviceCheckConfig("default",
|
378
|
+
project="my-project-name",
|
379
|
+
app_id=default.app_id,
|
380
|
+
token_ttl="7200s",
|
381
|
+
key_id="Key ID",
|
382
|
+
private_key=std.file(input="path/to/private-key.p8").result)
|
383
|
+
```
|
384
|
+
<!--End PulumiCodeChooser -->
|
385
|
+
|
386
|
+
## Import
|
387
|
+
|
388
|
+
DeviceCheckConfig can be imported using any of these accepted formats:
|
389
|
+
|
390
|
+
* `projects/{{project}}/apps/{{app_id}}/deviceCheckConfig`
|
391
|
+
|
392
|
+
* `{{project}}/{{app_id}}`
|
393
|
+
|
394
|
+
* `{{app_id}}`
|
395
|
+
|
396
|
+
When using the `pulumi import` command, DeviceCheckConfig can be imported using one of the formats above. For example:
|
397
|
+
|
398
|
+
```sh
|
399
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default projects/{{project}}/apps/{{app_id}}/deviceCheckConfig
|
400
|
+
```
|
401
|
+
|
402
|
+
```sh
|
403
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default {{project}}/{{app_id}}
|
404
|
+
```
|
405
|
+
|
406
|
+
```sh
|
407
|
+
$ pulumi import gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig default {{app_id}}
|
408
|
+
```
|
409
|
+
|
410
|
+
:param str resource_name: The name of the resource.
|
411
|
+
:param AppCheckDeviceCheckConfigArgs args: The arguments to use to populate this resource's properties.
|
412
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
413
|
+
"""
|
414
|
+
...
|
415
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
416
|
+
resource_args, opts = _utilities.get_resource_args_opts(AppCheckDeviceCheckConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
|
417
|
+
if resource_args is not None:
|
418
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
419
|
+
else:
|
420
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
421
|
+
|
422
|
+
def _internal_init(__self__,
|
423
|
+
resource_name: str,
|
424
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
425
|
+
app_id: Optional[pulumi.Input[str]] = None,
|
426
|
+
key_id: Optional[pulumi.Input[str]] = None,
|
427
|
+
private_key: Optional[pulumi.Input[str]] = None,
|
428
|
+
project: Optional[pulumi.Input[str]] = None,
|
429
|
+
token_ttl: Optional[pulumi.Input[str]] = None,
|
430
|
+
__props__=None):
|
431
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
432
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
433
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
434
|
+
if opts.id is None:
|
435
|
+
if __props__ is not None:
|
436
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
437
|
+
__props__ = AppCheckDeviceCheckConfigArgs.__new__(AppCheckDeviceCheckConfigArgs)
|
438
|
+
|
439
|
+
if app_id is None and not opts.urn:
|
440
|
+
raise TypeError("Missing required property 'app_id'")
|
441
|
+
__props__.__dict__["app_id"] = app_id
|
442
|
+
if key_id is None and not opts.urn:
|
443
|
+
raise TypeError("Missing required property 'key_id'")
|
444
|
+
__props__.__dict__["key_id"] = key_id
|
445
|
+
if private_key is None and not opts.urn:
|
446
|
+
raise TypeError("Missing required property 'private_key'")
|
447
|
+
__props__.__dict__["private_key"] = None if private_key is None else pulumi.Output.secret(private_key)
|
448
|
+
__props__.__dict__["project"] = project
|
449
|
+
__props__.__dict__["token_ttl"] = token_ttl
|
450
|
+
__props__.__dict__["name"] = None
|
451
|
+
__props__.__dict__["private_key_set"] = None
|
452
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["privateKey"])
|
453
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
454
|
+
super(AppCheckDeviceCheckConfig, __self__).__init__(
|
455
|
+
'gcp:firebase/appCheckDeviceCheckConfig:AppCheckDeviceCheckConfig',
|
456
|
+
resource_name,
|
457
|
+
__props__,
|
458
|
+
opts)
|
459
|
+
|
460
|
+
@staticmethod
|
461
|
+
def get(resource_name: str,
|
462
|
+
id: pulumi.Input[str],
|
463
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
464
|
+
app_id: Optional[pulumi.Input[str]] = None,
|
465
|
+
key_id: Optional[pulumi.Input[str]] = None,
|
466
|
+
name: Optional[pulumi.Input[str]] = None,
|
467
|
+
private_key: Optional[pulumi.Input[str]] = None,
|
468
|
+
private_key_set: Optional[pulumi.Input[bool]] = None,
|
469
|
+
project: Optional[pulumi.Input[str]] = None,
|
470
|
+
token_ttl: Optional[pulumi.Input[str]] = None) -> 'AppCheckDeviceCheckConfig':
|
471
|
+
"""
|
472
|
+
Get an existing AppCheckDeviceCheckConfig resource's state with the given name, id, and optional extra
|
473
|
+
properties used to qualify the lookup.
|
474
|
+
|
475
|
+
:param str resource_name: The unique name of the resulting resource.
|
476
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
477
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
478
|
+
:param pulumi.Input[str] app_id: The ID of an
|
479
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
480
|
+
|
481
|
+
|
482
|
+
- - -
|
483
|
+
:param pulumi.Input[str] key_id: The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
484
|
+
:param pulumi.Input[str] name: The relative resource name of the DeviceCheck configuration object
|
485
|
+
:param pulumi.Input[str] private_key: The contents of the private key (.p8) file associated with the key specified by keyId.
|
486
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
487
|
+
:param pulumi.Input[bool] private_key_set: Whether the privateKey field was previously set. Since App Check will never return the
|
488
|
+
privateKey field, this field is the only way to find out whether it was previously set.
|
489
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
490
|
+
If it is not provided, the provider project is used.
|
491
|
+
:param pulumi.Input[str] token_ttl: Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
492
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
493
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
494
|
+
"""
|
495
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
496
|
+
|
497
|
+
__props__ = _AppCheckDeviceCheckConfigState.__new__(_AppCheckDeviceCheckConfigState)
|
498
|
+
|
499
|
+
__props__.__dict__["app_id"] = app_id
|
500
|
+
__props__.__dict__["key_id"] = key_id
|
501
|
+
__props__.__dict__["name"] = name
|
502
|
+
__props__.__dict__["private_key"] = private_key
|
503
|
+
__props__.__dict__["private_key_set"] = private_key_set
|
504
|
+
__props__.__dict__["project"] = project
|
505
|
+
__props__.__dict__["token_ttl"] = token_ttl
|
506
|
+
return AppCheckDeviceCheckConfig(resource_name, opts=opts, __props__=__props__)
|
507
|
+
|
508
|
+
@property
|
509
|
+
@pulumi.getter(name="appId")
|
510
|
+
def app_id(self) -> pulumi.Output[str]:
|
511
|
+
"""
|
512
|
+
The ID of an
|
513
|
+
[Apple App](https://firebase.google.com/docs/reference/firebase-management/rest/v1beta1/projects.iosApps#IosApp.FIELDS.app_id).
|
514
|
+
|
515
|
+
|
516
|
+
- - -
|
517
|
+
"""
|
518
|
+
return pulumi.get(self, "app_id")
|
519
|
+
|
520
|
+
@property
|
521
|
+
@pulumi.getter(name="keyId")
|
522
|
+
def key_id(self) -> pulumi.Output[str]:
|
523
|
+
"""
|
524
|
+
The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
|
525
|
+
"""
|
526
|
+
return pulumi.get(self, "key_id")
|
527
|
+
|
528
|
+
@property
|
529
|
+
@pulumi.getter
|
530
|
+
def name(self) -> pulumi.Output[str]:
|
531
|
+
"""
|
532
|
+
The relative resource name of the DeviceCheck configuration object
|
533
|
+
"""
|
534
|
+
return pulumi.get(self, "name")
|
535
|
+
|
536
|
+
@property
|
537
|
+
@pulumi.getter(name="privateKey")
|
538
|
+
def private_key(self) -> pulumi.Output[str]:
|
539
|
+
"""
|
540
|
+
The contents of the private key (.p8) file associated with the key specified by keyId.
|
541
|
+
**Note**: This property is sensitive and will not be displayed in the plan.
|
542
|
+
"""
|
543
|
+
return pulumi.get(self, "private_key")
|
544
|
+
|
545
|
+
@property
|
546
|
+
@pulumi.getter(name="privateKeySet")
|
547
|
+
def private_key_set(self) -> pulumi.Output[bool]:
|
548
|
+
"""
|
549
|
+
Whether the privateKey field was previously set. Since App Check will never return the
|
550
|
+
privateKey field, this field is the only way to find out whether it was previously set.
|
551
|
+
"""
|
552
|
+
return pulumi.get(self, "private_key_set")
|
553
|
+
|
554
|
+
@property
|
555
|
+
@pulumi.getter
|
556
|
+
def project(self) -> pulumi.Output[str]:
|
557
|
+
"""
|
558
|
+
The ID of the project in which the resource belongs.
|
559
|
+
If it is not provided, the provider project is used.
|
560
|
+
"""
|
561
|
+
return pulumi.get(self, "project")
|
562
|
+
|
563
|
+
@property
|
564
|
+
@pulumi.getter(name="tokenTtl")
|
565
|
+
def token_ttl(self) -> pulumi.Output[str]:
|
566
|
+
"""
|
567
|
+
Specifies the duration for which App Check tokens exchanged from DeviceCheck artifacts will be valid.
|
568
|
+
If unset, a default value of 1 hour is assumed. Must be between 30 minutes and 7 days, inclusive.
|
569
|
+
A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
|
570
|
+
"""
|
571
|
+
return pulumi.get(self, "token_ttl")
|
572
|
+
|
pulumi_gcp/firestore/_inputs.py
CHANGED
@@ -12,6 +12,7 @@ from .. import _utilities
|
|
12
12
|
__all__ = [
|
13
13
|
'BackupScheduleDailyRecurrenceArgs',
|
14
14
|
'BackupScheduleWeeklyRecurrenceArgs',
|
15
|
+
'DatabaseCmekConfigArgs',
|
15
16
|
'FieldIndexConfigArgs',
|
16
17
|
'FieldIndexConfigIndexArgs',
|
17
18
|
'FieldTtlConfigArgs',
|
@@ -49,6 +50,74 @@ class BackupScheduleWeeklyRecurrenceArgs:
|
|
49
50
|
pulumi.set(self, "day", value)
|
50
51
|
|
51
52
|
|
53
|
+
@pulumi.input_type
|
54
|
+
class DatabaseCmekConfigArgs:
|
55
|
+
def __init__(__self__, *,
|
56
|
+
kms_key_name: pulumi.Input[str],
|
57
|
+
active_key_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
58
|
+
"""
|
59
|
+
:param pulumi.Input[str] kms_key_name: The resource ID of a Cloud KMS key. If set, the database created will
|
60
|
+
be a Customer-managed Encryption Key (CMEK) database encrypted with
|
61
|
+
this key. This feature is allowlist only in initial launch.
|
62
|
+
Only keys in the same location as this database are allowed to be used
|
63
|
+
for encryption. For Firestore's nam5 multi-region, this corresponds to Cloud KMS
|
64
|
+
multi-region us. For Firestore's eur3 multi-region, this corresponds to
|
65
|
+
Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations.
|
66
|
+
This value should be the KMS key resource ID in the format of
|
67
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
|
68
|
+
How to retrive this resource ID is listed at
|
69
|
+
https://cloud.google.com/kms/docs/getting-resource-ids#getting_the_id_for_a_key_and_version.
|
70
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] active_key_versions: (Output)
|
71
|
+
Currently in-use KMS key versions (https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
|
72
|
+
During key rotation (https://cloud.google.com/kms/docs/key-rotation), there can be
|
73
|
+
multiple in-use key versions.
|
74
|
+
The expected format is
|
75
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
|
76
|
+
"""
|
77
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
78
|
+
if active_key_versions is not None:
|
79
|
+
pulumi.set(__self__, "active_key_versions", active_key_versions)
|
80
|
+
|
81
|
+
@property
|
82
|
+
@pulumi.getter(name="kmsKeyName")
|
83
|
+
def kms_key_name(self) -> pulumi.Input[str]:
|
84
|
+
"""
|
85
|
+
The resource ID of a Cloud KMS key. If set, the database created will
|
86
|
+
be a Customer-managed Encryption Key (CMEK) database encrypted with
|
87
|
+
this key. This feature is allowlist only in initial launch.
|
88
|
+
Only keys in the same location as this database are allowed to be used
|
89
|
+
for encryption. For Firestore's nam5 multi-region, this corresponds to Cloud KMS
|
90
|
+
multi-region us. For Firestore's eur3 multi-region, this corresponds to
|
91
|
+
Cloud KMS multi-region europe. See https://cloud.google.com/kms/docs/locations.
|
92
|
+
This value should be the KMS key resource ID in the format of
|
93
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}`.
|
94
|
+
How to retrive this resource ID is listed at
|
95
|
+
https://cloud.google.com/kms/docs/getting-resource-ids#getting_the_id_for_a_key_and_version.
|
96
|
+
"""
|
97
|
+
return pulumi.get(self, "kms_key_name")
|
98
|
+
|
99
|
+
@kms_key_name.setter
|
100
|
+
def kms_key_name(self, value: pulumi.Input[str]):
|
101
|
+
pulumi.set(self, "kms_key_name", value)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter(name="activeKeyVersions")
|
105
|
+
def active_key_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
106
|
+
"""
|
107
|
+
(Output)
|
108
|
+
Currently in-use KMS key versions (https://cloud.google.com/kms/docs/resource-hierarchy#key_versions).
|
109
|
+
During key rotation (https://cloud.google.com/kms/docs/key-rotation), there can be
|
110
|
+
multiple in-use key versions.
|
111
|
+
The expected format is
|
112
|
+
`projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{key_version}`.
|
113
|
+
"""
|
114
|
+
return pulumi.get(self, "active_key_versions")
|
115
|
+
|
116
|
+
@active_key_versions.setter
|
117
|
+
def active_key_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
118
|
+
pulumi.set(self, "active_key_versions", value)
|
119
|
+
|
120
|
+
|
52
121
|
@pulumi.input_type
|
53
122
|
class FieldIndexConfigArgs:
|
54
123
|
def __init__(__self__, *,
|