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.
Files changed (83) hide show
  1. pulumi_gcp/__init__.py +102 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
  4. pulumi_gcp/accesscontextmanager/outputs.py +74 -58
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  9. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  10. pulumi_gcp/apphub/__init__.py +15 -0
  11. pulumi_gcp/apphub/_inputs.py +1016 -0
  12. pulumi_gcp/apphub/application.py +775 -0
  13. pulumi_gcp/apphub/get_discovered_service.py +180 -0
  14. pulumi_gcp/apphub/get_discovered_workload.py +180 -0
  15. pulumi_gcp/apphub/outputs.py +1206 -0
  16. pulumi_gcp/apphub/service.py +1121 -0
  17. pulumi_gcp/apphub/service_project_attachment.py +516 -0
  18. pulumi_gcp/apphub/workload.py +1197 -0
  19. pulumi_gcp/cloudquota/__init__.py +10 -0
  20. pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
  21. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  22. pulumi_gcp/cloudquota/outputs.py +375 -0
  23. pulumi_gcp/cloudrunv2/_inputs.py +85 -4
  24. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  25. pulumi_gcp/cloudrunv2/outputs.py +165 -6
  26. pulumi_gcp/cloudrunv2/service.py +60 -6
  27. pulumi_gcp/composer/_inputs.py +16 -0
  28. pulumi_gcp/composer/outputs.py +23 -0
  29. pulumi_gcp/compute/_inputs.py +109 -11
  30. pulumi_gcp/compute/outputs.py +144 -13
  31. pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
  32. pulumi_gcp/compute/region_url_map.py +152 -0
  33. pulumi_gcp/config/__init__.pyi +4 -0
  34. pulumi_gcp/config/vars.py +8 -0
  35. pulumi_gcp/dataform/repository.py +4 -74
  36. pulumi_gcp/firebase/__init__.py +1 -0
  37. pulumi_gcp/firebase/android_app.py +41 -40
  38. pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
  39. pulumi_gcp/firestore/_inputs.py +69 -0
  40. pulumi_gcp/firestore/database.py +206 -0
  41. pulumi_gcp/firestore/index.py +34 -48
  42. pulumi_gcp/firestore/outputs.py +80 -0
  43. pulumi_gcp/gkeonprem/_inputs.py +1 -3
  44. pulumi_gcp/gkeonprem/outputs.py +1 -3
  45. pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
  46. pulumi_gcp/iap/__init__.py +5 -0
  47. pulumi_gcp/iap/_inputs.py +100 -0
  48. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
  49. pulumi_gcp/iap/outputs.py +76 -0
  50. pulumi_gcp/iap/tunnel_dest_group.py +524 -0
  51. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
  52. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
  53. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/_inputs.py +246 -0
  56. pulumi_gcp/kms/ekm_connection.py +610 -0
  57. pulumi_gcp/kms/outputs.py +242 -0
  58. pulumi_gcp/monitoring/_inputs.py +2 -0
  59. pulumi_gcp/monitoring/outputs.py +2 -0
  60. pulumi_gcp/networksecurity/__init__.py +1 -0
  61. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  62. pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
  63. pulumi_gcp/notebooks/instance.py +8 -0
  64. pulumi_gcp/orgpolicy/policy.py +2 -2
  65. pulumi_gcp/provider.py +40 -0
  66. pulumi_gcp/pubsub/_inputs.py +108 -0
  67. pulumi_gcp/pubsub/get_topic.py +11 -1
  68. pulumi_gcp/pubsub/outputs.py +213 -0
  69. pulumi_gcp/pubsub/subscription.py +4 -4
  70. pulumi_gcp/pubsub/topic.py +92 -0
  71. pulumi_gcp/securityposture/posture.py +2 -2
  72. pulumi_gcp/securityposture/posture_deployment.py +2 -2
  73. pulumi_gcp/storage/_inputs.py +72 -15
  74. pulumi_gcp/storage/bucket.py +54 -0
  75. pulumi_gcp/storage/get_bucket.py +11 -1
  76. pulumi_gcp/storage/outputs.py +110 -14
  77. pulumi_gcp/workstations/_inputs.py +247 -4
  78. pulumi_gcp/workstations/outputs.py +261 -5
  79. pulumi_gcp/workstations/workstation_config.py +160 -0
  80. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
  82. {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
  83. {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__, *,