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
pulumi_gcp/iap/_inputs.py
CHANGED
@@ -14,6 +14,8 @@ __all__ = [
|
|
14
14
|
'AppEngineServiceIamMemberConditionArgs',
|
15
15
|
'AppEngineVersionIamBindingConditionArgs',
|
16
16
|
'AppEngineVersionIamMemberConditionArgs',
|
17
|
+
'TunnelDestGroupIamBindingConditionArgs',
|
18
|
+
'TunnelDestGroupIamMemberConditionArgs',
|
17
19
|
'TunnelIamBindingConditionArgs',
|
18
20
|
'TunnelIamMemberConditionArgs',
|
19
21
|
'TunnelInstanceIAMBindingConditionArgs',
|
@@ -274,6 +276,104 @@ class AppEngineVersionIamMemberConditionArgs:
|
|
274
276
|
pulumi.set(self, "description", value)
|
275
277
|
|
276
278
|
|
279
|
+
@pulumi.input_type
|
280
|
+
class TunnelDestGroupIamBindingConditionArgs:
|
281
|
+
def __init__(__self__, *,
|
282
|
+
expression: pulumi.Input[str],
|
283
|
+
title: pulumi.Input[str],
|
284
|
+
description: Optional[pulumi.Input[str]] = None):
|
285
|
+
"""
|
286
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
287
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
288
|
+
"""
|
289
|
+
pulumi.set(__self__, "expression", expression)
|
290
|
+
pulumi.set(__self__, "title", title)
|
291
|
+
if description is not None:
|
292
|
+
pulumi.set(__self__, "description", description)
|
293
|
+
|
294
|
+
@property
|
295
|
+
@pulumi.getter
|
296
|
+
def expression(self) -> pulumi.Input[str]:
|
297
|
+
"""
|
298
|
+
Textual representation of an expression in Common Expression Language syntax.
|
299
|
+
"""
|
300
|
+
return pulumi.get(self, "expression")
|
301
|
+
|
302
|
+
@expression.setter
|
303
|
+
def expression(self, value: pulumi.Input[str]):
|
304
|
+
pulumi.set(self, "expression", value)
|
305
|
+
|
306
|
+
@property
|
307
|
+
@pulumi.getter
|
308
|
+
def title(self) -> pulumi.Input[str]:
|
309
|
+
"""
|
310
|
+
A title for the expression, i.e. a short string describing its purpose.
|
311
|
+
"""
|
312
|
+
return pulumi.get(self, "title")
|
313
|
+
|
314
|
+
@title.setter
|
315
|
+
def title(self, value: pulumi.Input[str]):
|
316
|
+
pulumi.set(self, "title", value)
|
317
|
+
|
318
|
+
@property
|
319
|
+
@pulumi.getter
|
320
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
321
|
+
return pulumi.get(self, "description")
|
322
|
+
|
323
|
+
@description.setter
|
324
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
325
|
+
pulumi.set(self, "description", value)
|
326
|
+
|
327
|
+
|
328
|
+
@pulumi.input_type
|
329
|
+
class TunnelDestGroupIamMemberConditionArgs:
|
330
|
+
def __init__(__self__, *,
|
331
|
+
expression: pulumi.Input[str],
|
332
|
+
title: pulumi.Input[str],
|
333
|
+
description: Optional[pulumi.Input[str]] = None):
|
334
|
+
"""
|
335
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
336
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
337
|
+
"""
|
338
|
+
pulumi.set(__self__, "expression", expression)
|
339
|
+
pulumi.set(__self__, "title", title)
|
340
|
+
if description is not None:
|
341
|
+
pulumi.set(__self__, "description", description)
|
342
|
+
|
343
|
+
@property
|
344
|
+
@pulumi.getter
|
345
|
+
def expression(self) -> pulumi.Input[str]:
|
346
|
+
"""
|
347
|
+
Textual representation of an expression in Common Expression Language syntax.
|
348
|
+
"""
|
349
|
+
return pulumi.get(self, "expression")
|
350
|
+
|
351
|
+
@expression.setter
|
352
|
+
def expression(self, value: pulumi.Input[str]):
|
353
|
+
pulumi.set(self, "expression", value)
|
354
|
+
|
355
|
+
@property
|
356
|
+
@pulumi.getter
|
357
|
+
def title(self) -> pulumi.Input[str]:
|
358
|
+
"""
|
359
|
+
A title for the expression, i.e. a short string describing its purpose.
|
360
|
+
"""
|
361
|
+
return pulumi.get(self, "title")
|
362
|
+
|
363
|
+
@title.setter
|
364
|
+
def title(self, value: pulumi.Input[str]):
|
365
|
+
pulumi.set(self, "title", value)
|
366
|
+
|
367
|
+
@property
|
368
|
+
@pulumi.getter
|
369
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
370
|
+
return pulumi.get(self, "description")
|
371
|
+
|
372
|
+
@description.setter
|
373
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
374
|
+
pulumi.set(self, "description", value)
|
375
|
+
|
376
|
+
|
277
377
|
@pulumi.input_type
|
278
378
|
class TunnelIamBindingConditionArgs:
|
279
379
|
def __init__(__self__, *,
|
@@ -0,0 +1,172 @@
|
|
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__ = [
|
13
|
+
'GetTunnelDestGroupIamPolicyResult',
|
14
|
+
'AwaitableGetTunnelDestGroupIamPolicyResult',
|
15
|
+
'get_tunnel_dest_group_iam_policy',
|
16
|
+
'get_tunnel_dest_group_iam_policy_output',
|
17
|
+
]
|
18
|
+
|
19
|
+
@pulumi.output_type
|
20
|
+
class GetTunnelDestGroupIamPolicyResult:
|
21
|
+
"""
|
22
|
+
A collection of values returned by getTunnelDestGroupIamPolicy.
|
23
|
+
"""
|
24
|
+
def __init__(__self__, dest_group=None, etag=None, id=None, policy_data=None, project=None, region=None):
|
25
|
+
if dest_group and not isinstance(dest_group, str):
|
26
|
+
raise TypeError("Expected argument 'dest_group' to be a str")
|
27
|
+
pulumi.set(__self__, "dest_group", dest_group)
|
28
|
+
if etag and not isinstance(etag, str):
|
29
|
+
raise TypeError("Expected argument 'etag' to be a str")
|
30
|
+
pulumi.set(__self__, "etag", etag)
|
31
|
+
if id and not isinstance(id, str):
|
32
|
+
raise TypeError("Expected argument 'id' to be a str")
|
33
|
+
pulumi.set(__self__, "id", id)
|
34
|
+
if policy_data and not isinstance(policy_data, str):
|
35
|
+
raise TypeError("Expected argument 'policy_data' to be a str")
|
36
|
+
pulumi.set(__self__, "policy_data", policy_data)
|
37
|
+
if project and not isinstance(project, str):
|
38
|
+
raise TypeError("Expected argument 'project' to be a str")
|
39
|
+
pulumi.set(__self__, "project", project)
|
40
|
+
if region and not isinstance(region, str):
|
41
|
+
raise TypeError("Expected argument 'region' to be a str")
|
42
|
+
pulumi.set(__self__, "region", region)
|
43
|
+
|
44
|
+
@property
|
45
|
+
@pulumi.getter(name="destGroup")
|
46
|
+
def dest_group(self) -> str:
|
47
|
+
return pulumi.get(self, "dest_group")
|
48
|
+
|
49
|
+
@property
|
50
|
+
@pulumi.getter
|
51
|
+
def etag(self) -> str:
|
52
|
+
"""
|
53
|
+
(Computed) The etag of the IAM policy.
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "etag")
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter
|
59
|
+
def id(self) -> str:
|
60
|
+
"""
|
61
|
+
The provider-assigned unique ID for this managed resource.
|
62
|
+
"""
|
63
|
+
return pulumi.get(self, "id")
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter(name="policyData")
|
67
|
+
def policy_data(self) -> str:
|
68
|
+
"""
|
69
|
+
(Required only by `iap.TunnelDestGroupIamPolicy`) The policy data generated by
|
70
|
+
a `organizations_get_iam_policy` data source.
|
71
|
+
"""
|
72
|
+
return pulumi.get(self, "policy_data")
|
73
|
+
|
74
|
+
@property
|
75
|
+
@pulumi.getter
|
76
|
+
def project(self) -> str:
|
77
|
+
return pulumi.get(self, "project")
|
78
|
+
|
79
|
+
@property
|
80
|
+
@pulumi.getter
|
81
|
+
def region(self) -> str:
|
82
|
+
return pulumi.get(self, "region")
|
83
|
+
|
84
|
+
|
85
|
+
class AwaitableGetTunnelDestGroupIamPolicyResult(GetTunnelDestGroupIamPolicyResult):
|
86
|
+
# pylint: disable=using-constant-test
|
87
|
+
def __await__(self):
|
88
|
+
if False:
|
89
|
+
yield self
|
90
|
+
return GetTunnelDestGroupIamPolicyResult(
|
91
|
+
dest_group=self.dest_group,
|
92
|
+
etag=self.etag,
|
93
|
+
id=self.id,
|
94
|
+
policy_data=self.policy_data,
|
95
|
+
project=self.project,
|
96
|
+
region=self.region)
|
97
|
+
|
98
|
+
|
99
|
+
def get_tunnel_dest_group_iam_policy(dest_group: Optional[str] = None,
|
100
|
+
project: Optional[str] = None,
|
101
|
+
region: Optional[str] = None,
|
102
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTunnelDestGroupIamPolicyResult:
|
103
|
+
"""
|
104
|
+
Retrieves the current IAM policy data for tunneldestgroup
|
105
|
+
|
106
|
+
## example
|
107
|
+
|
108
|
+
<!--Start PulumiCodeChooser -->
|
109
|
+
```python
|
110
|
+
import pulumi
|
111
|
+
import pulumi_gcp as gcp
|
112
|
+
|
113
|
+
policy = gcp.iap.get_tunnel_dest_group_iam_policy(project=dest_group["project"],
|
114
|
+
region=dest_group["region"],
|
115
|
+
dest_group=dest_group["groupName"])
|
116
|
+
```
|
117
|
+
<!--End PulumiCodeChooser -->
|
118
|
+
|
119
|
+
|
120
|
+
:param str project: The ID of the project in which the resource belongs.
|
121
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
122
|
+
:param str region: The region of the tunnel group. Must be the same as the network resources in the group.
|
123
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
124
|
+
the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
|
125
|
+
region is specified, it is taken from the provider configuration.
|
126
|
+
"""
|
127
|
+
__args__ = dict()
|
128
|
+
__args__['destGroup'] = dest_group
|
129
|
+
__args__['project'] = project
|
130
|
+
__args__['region'] = region
|
131
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
132
|
+
__ret__ = pulumi.runtime.invoke('gcp:iap/getTunnelDestGroupIamPolicy:getTunnelDestGroupIamPolicy', __args__, opts=opts, typ=GetTunnelDestGroupIamPolicyResult).value
|
133
|
+
|
134
|
+
return AwaitableGetTunnelDestGroupIamPolicyResult(
|
135
|
+
dest_group=pulumi.get(__ret__, 'dest_group'),
|
136
|
+
etag=pulumi.get(__ret__, 'etag'),
|
137
|
+
id=pulumi.get(__ret__, 'id'),
|
138
|
+
policy_data=pulumi.get(__ret__, 'policy_data'),
|
139
|
+
project=pulumi.get(__ret__, 'project'),
|
140
|
+
region=pulumi.get(__ret__, 'region'))
|
141
|
+
|
142
|
+
|
143
|
+
@_utilities.lift_output_func(get_tunnel_dest_group_iam_policy)
|
144
|
+
def get_tunnel_dest_group_iam_policy_output(dest_group: Optional[pulumi.Input[str]] = None,
|
145
|
+
project: Optional[pulumi.Input[Optional[str]]] = None,
|
146
|
+
region: Optional[pulumi.Input[Optional[str]]] = None,
|
147
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTunnelDestGroupIamPolicyResult]:
|
148
|
+
"""
|
149
|
+
Retrieves the current IAM policy data for tunneldestgroup
|
150
|
+
|
151
|
+
## example
|
152
|
+
|
153
|
+
<!--Start PulumiCodeChooser -->
|
154
|
+
```python
|
155
|
+
import pulumi
|
156
|
+
import pulumi_gcp as gcp
|
157
|
+
|
158
|
+
policy = gcp.iap.get_tunnel_dest_group_iam_policy(project=dest_group["project"],
|
159
|
+
region=dest_group["region"],
|
160
|
+
dest_group=dest_group["groupName"])
|
161
|
+
```
|
162
|
+
<!--End PulumiCodeChooser -->
|
163
|
+
|
164
|
+
|
165
|
+
:param str project: The ID of the project in which the resource belongs.
|
166
|
+
If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
|
167
|
+
:param str region: The region of the tunnel group. Must be the same as the network resources in the group.
|
168
|
+
Used to find the parent resource to bind the IAM policy to. If not specified,
|
169
|
+
the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
|
170
|
+
region is specified, it is taken from the provider configuration.
|
171
|
+
"""
|
172
|
+
...
|
pulumi_gcp/iap/outputs.py
CHANGED
@@ -14,6 +14,8 @@ __all__ = [
|
|
14
14
|
'AppEngineServiceIamMemberCondition',
|
15
15
|
'AppEngineVersionIamBindingCondition',
|
16
16
|
'AppEngineVersionIamMemberCondition',
|
17
|
+
'TunnelDestGroupIamBindingCondition',
|
18
|
+
'TunnelDestGroupIamMemberCondition',
|
17
19
|
'TunnelIamBindingCondition',
|
18
20
|
'TunnelIamMemberCondition',
|
19
21
|
'TunnelInstanceIAMBindingCondition',
|
@@ -226,6 +228,80 @@ class AppEngineVersionIamMemberCondition(dict):
|
|
226
228
|
return pulumi.get(self, "description")
|
227
229
|
|
228
230
|
|
231
|
+
@pulumi.output_type
|
232
|
+
class TunnelDestGroupIamBindingCondition(dict):
|
233
|
+
def __init__(__self__, *,
|
234
|
+
expression: str,
|
235
|
+
title: str,
|
236
|
+
description: Optional[str] = None):
|
237
|
+
"""
|
238
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax.
|
239
|
+
:param str title: A title for the expression, i.e. a short string describing its purpose.
|
240
|
+
"""
|
241
|
+
pulumi.set(__self__, "expression", expression)
|
242
|
+
pulumi.set(__self__, "title", title)
|
243
|
+
if description is not None:
|
244
|
+
pulumi.set(__self__, "description", description)
|
245
|
+
|
246
|
+
@property
|
247
|
+
@pulumi.getter
|
248
|
+
def expression(self) -> str:
|
249
|
+
"""
|
250
|
+
Textual representation of an expression in Common Expression Language syntax.
|
251
|
+
"""
|
252
|
+
return pulumi.get(self, "expression")
|
253
|
+
|
254
|
+
@property
|
255
|
+
@pulumi.getter
|
256
|
+
def title(self) -> str:
|
257
|
+
"""
|
258
|
+
A title for the expression, i.e. a short string describing its purpose.
|
259
|
+
"""
|
260
|
+
return pulumi.get(self, "title")
|
261
|
+
|
262
|
+
@property
|
263
|
+
@pulumi.getter
|
264
|
+
def description(self) -> Optional[str]:
|
265
|
+
return pulumi.get(self, "description")
|
266
|
+
|
267
|
+
|
268
|
+
@pulumi.output_type
|
269
|
+
class TunnelDestGroupIamMemberCondition(dict):
|
270
|
+
def __init__(__self__, *,
|
271
|
+
expression: str,
|
272
|
+
title: str,
|
273
|
+
description: Optional[str] = None):
|
274
|
+
"""
|
275
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax.
|
276
|
+
:param str title: A title for the expression, i.e. a short string describing its purpose.
|
277
|
+
"""
|
278
|
+
pulumi.set(__self__, "expression", expression)
|
279
|
+
pulumi.set(__self__, "title", title)
|
280
|
+
if description is not None:
|
281
|
+
pulumi.set(__self__, "description", description)
|
282
|
+
|
283
|
+
@property
|
284
|
+
@pulumi.getter
|
285
|
+
def expression(self) -> str:
|
286
|
+
"""
|
287
|
+
Textual representation of an expression in Common Expression Language syntax.
|
288
|
+
"""
|
289
|
+
return pulumi.get(self, "expression")
|
290
|
+
|
291
|
+
@property
|
292
|
+
@pulumi.getter
|
293
|
+
def title(self) -> str:
|
294
|
+
"""
|
295
|
+
A title for the expression, i.e. a short string describing its purpose.
|
296
|
+
"""
|
297
|
+
return pulumi.get(self, "title")
|
298
|
+
|
299
|
+
@property
|
300
|
+
@pulumi.getter
|
301
|
+
def description(self) -> Optional[str]:
|
302
|
+
return pulumi.get(self, "description")
|
303
|
+
|
304
|
+
|
229
305
|
@pulumi.output_type
|
230
306
|
class TunnelIamBindingCondition(dict):
|
231
307
|
def __init__(__self__, *,
|