pulumi-gcp 7.27.0a1718103841__py3-none-any.whl → 7.27.0a1718279079__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 (81) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/_inputs.py +40 -0
  3. pulumi_gcp/appengine/flexible_app_version.py +47 -0
  4. pulumi_gcp/appengine/outputs.py +51 -0
  5. pulumi_gcp/bigtable/instance.py +47 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +16 -0
  7. pulumi_gcp/clouddeploy/outputs.py +12 -0
  8. pulumi_gcp/compute/__init__.py +2 -0
  9. pulumi_gcp/compute/_inputs.py +84 -0
  10. pulumi_gcp/compute/backend_service.py +54 -0
  11. pulumi_gcp/compute/disk.py +68 -0
  12. pulumi_gcp/compute/get_backend_service.py +11 -1
  13. pulumi_gcp/compute/get_disk.py +11 -1
  14. pulumi_gcp/compute/get_instance.py +11 -1
  15. pulumi_gcp/compute/get_instance_group_manager.py +31 -1
  16. pulumi_gcp/compute/get_instance_template.py +11 -1
  17. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  18. pulumi_gcp/compute/get_security_policy.py +214 -0
  19. pulumi_gcp/compute/instance.py +47 -0
  20. pulumi_gcp/compute/instance_from_machine_image.py +47 -0
  21. pulumi_gcp/compute/instance_from_template.py +47 -0
  22. pulumi_gcp/compute/instance_group_manager.py +185 -0
  23. pulumi_gcp/compute/instance_template.py +47 -0
  24. pulumi_gcp/compute/outputs.py +1039 -0
  25. pulumi_gcp/compute/project_cloud_armor_tier.py +336 -0
  26. pulumi_gcp/compute/region_instance_group_manager.py +185 -0
  27. pulumi_gcp/compute/region_instance_template.py +47 -0
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +33 -4
  31. pulumi_gcp/container/cluster.py +61 -0
  32. pulumi_gcp/container/get_cluster.py +11 -1
  33. pulumi_gcp/container/outputs.py +48 -4
  34. pulumi_gcp/dataloss/_inputs.py +185 -19
  35. pulumi_gcp/dataloss/outputs.py +206 -17
  36. pulumi_gcp/dataloss/prevention_inspect_template.py +54 -0
  37. pulumi_gcp/gkebackup/_inputs.py +282 -7
  38. pulumi_gcp/gkebackup/backup_plan.py +100 -0
  39. pulumi_gcp/gkebackup/outputs.py +312 -7
  40. pulumi_gcp/gkebackup/restore_plan.py +326 -0
  41. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +326 -0
  42. pulumi_gcp/gkebackup/restore_plan_iam_member.py +326 -0
  43. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +326 -0
  44. pulumi_gcp/healthcare/_inputs.py +17 -1
  45. pulumi_gcp/healthcare/dicom_store.py +2 -0
  46. pulumi_gcp/healthcare/fhir_store.py +44 -60
  47. pulumi_gcp/healthcare/outputs.py +15 -1
  48. pulumi_gcp/integrationconnectors/endpoint_attachment.py +47 -0
  49. pulumi_gcp/kms/crypto_key.py +14 -7
  50. pulumi_gcp/netapp/_inputs.py +58 -0
  51. pulumi_gcp/netapp/outputs.py +67 -0
  52. pulumi_gcp/netapp/volume.py +54 -0
  53. pulumi_gcp/networkservices/__init__.py +1 -0
  54. pulumi_gcp/networkservices/_inputs.py +47 -0
  55. pulumi_gcp/networkservices/outputs.py +56 -0
  56. pulumi_gcp/networkservices/service_lb_policies.py +782 -0
  57. pulumi_gcp/provider.py +20 -0
  58. pulumi_gcp/pulumi-plugin.json +1 -1
  59. pulumi_gcp/redis/_inputs.py +44 -0
  60. pulumi_gcp/redis/cluster.py +128 -3
  61. pulumi_gcp/redis/outputs.py +36 -0
  62. pulumi_gcp/secretmanager/_inputs.py +20 -0
  63. pulumi_gcp/secretmanager/outputs.py +20 -0
  64. pulumi_gcp/secretmanager/secret_iam_binding.py +244 -0
  65. pulumi_gcp/secretmanager/secret_iam_member.py +244 -0
  66. pulumi_gcp/secretmanager/secret_iam_policy.py +224 -0
  67. pulumi_gcp/securitycenter/__init__.py +1 -0
  68. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +568 -0
  69. pulumi_gcp/spanner/__init__.py +1 -0
  70. pulumi_gcp/spanner/_inputs.py +68 -0
  71. pulumi_gcp/spanner/instance_config.py +569 -0
  72. pulumi_gcp/spanner/outputs.py +73 -0
  73. pulumi_gcp/sql/_inputs.py +8 -2
  74. pulumi_gcp/sql/outputs.py +9 -6
  75. pulumi_gcp/workstations/_inputs.py +51 -1
  76. pulumi_gcp/workstations/outputs.py +46 -2
  77. pulumi_gcp/workstations/workstation_config.py +10 -4
  78. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/METADATA +1 -1
  79. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/RECORD +81 -76
  80. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/WHEEL +0 -0
  81. {pulumi_gcp-7.27.0a1718103841.dist-info → pulumi_gcp-7.27.0a1718279079.dist-info}/top_level.txt +0 -0
@@ -37,6 +37,8 @@ class SecretIamBindingArgs:
37
37
  :param pulumi.Input[str] role: The role that should be applied. Only one
38
38
  `secretmanager.SecretIamBinding` can be used per role. Note that custom roles must be of the format
39
39
  `[projects|organizations]/{parent-name}/roles/{role-name}`.
40
+ :param pulumi.Input['SecretIamBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
41
+ Structure is documented below.
40
42
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
41
43
  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.
42
44
  """
@@ -96,6 +98,10 @@ class SecretIamBindingArgs:
96
98
  @property
97
99
  @pulumi.getter
98
100
  def condition(self) -> Optional[pulumi.Input['SecretIamBindingConditionArgs']]:
101
+ """
102
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
103
+ Structure is documented below.
104
+ """
99
105
  return pulumi.get(self, "condition")
100
106
 
101
107
  @condition.setter
@@ -127,6 +133,8 @@ class _SecretIamBindingState:
127
133
  secret_id: Optional[pulumi.Input[str]] = None):
128
134
  """
129
135
  Input properties used for looking up and filtering SecretIamBinding resources.
136
+ :param pulumi.Input['SecretIamBindingConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
137
+ Structure is documented below.
130
138
  :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
131
139
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
132
140
  Each entry can have one of the following values:
@@ -161,6 +169,10 @@ class _SecretIamBindingState:
161
169
  @property
162
170
  @pulumi.getter
163
171
  def condition(self) -> Optional[pulumi.Input['SecretIamBindingConditionArgs']]:
172
+ """
173
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
174
+ Structure is documented below.
175
+ """
164
176
  return pulumi.get(self, "condition")
165
177
 
166
178
  @condition.setter
@@ -264,6 +276,8 @@ class SecretIamBinding(pulumi.CustomResource):
264
276
 
265
277
  > **Note:** `secretmanager.SecretIamBinding` resources **can be** used in conjunction with `secretmanager.SecretIamMember` resources **only if** they do not grant privilege to the same role.
266
278
 
279
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
280
+
267
281
  ## secretmanager.SecretIamPolicy
268
282
 
269
283
  ```python
@@ -280,6 +294,26 @@ class SecretIamBinding(pulumi.CustomResource):
280
294
  policy_data=admin.policy_data)
281
295
  ```
282
296
 
297
+ With IAM Conditions:
298
+
299
+ ```python
300
+ import pulumi
301
+ import pulumi_gcp as gcp
302
+
303
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
304
+ role="roles/secretmanager.secretAccessor",
305
+ members=["user:jane@example.com"],
306
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
307
+ title="expires_after_2019_12_31",
308
+ description="Expiring at midnight of 2019-12-31",
309
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
310
+ ),
311
+ )])
312
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
313
+ project=secret_basic["project"],
314
+ secret_id=secret_basic["secretId"],
315
+ policy_data=admin.policy_data)
316
+ ```
283
317
  ## secretmanager.SecretIamBinding
284
318
 
285
319
  ```python
@@ -293,6 +327,23 @@ class SecretIamBinding(pulumi.CustomResource):
293
327
  members=["user:jane@example.com"])
294
328
  ```
295
329
 
330
+ With IAM Conditions:
331
+
332
+ ```python
333
+ import pulumi
334
+ import pulumi_gcp as gcp
335
+
336
+ binding = gcp.secretmanager.SecretIamBinding("binding",
337
+ project=secret_basic["project"],
338
+ secret_id=secret_basic["secretId"],
339
+ role="roles/secretmanager.secretAccessor",
340
+ members=["user:jane@example.com"],
341
+ condition=gcp.secretmanager.SecretIamBindingConditionArgs(
342
+ title="expires_after_2019_12_31",
343
+ description="Expiring at midnight of 2019-12-31",
344
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
345
+ ))
346
+ ```
296
347
  ## secretmanager.SecretIamMember
297
348
 
298
349
  ```python
@@ -306,6 +357,24 @@ class SecretIamBinding(pulumi.CustomResource):
306
357
  member="user:jane@example.com")
307
358
  ```
308
359
 
360
+ With IAM Conditions:
361
+
362
+ ```python
363
+ import pulumi
364
+ import pulumi_gcp as gcp
365
+
366
+ member = gcp.secretmanager.SecretIamMember("member",
367
+ project=secret_basic["project"],
368
+ secret_id=secret_basic["secretId"],
369
+ role="roles/secretmanager.secretAccessor",
370
+ member="user:jane@example.com",
371
+ condition=gcp.secretmanager.SecretIamMemberConditionArgs(
372
+ title="expires_after_2019_12_31",
373
+ description="Expiring at midnight of 2019-12-31",
374
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
375
+ ))
376
+ ```
377
+
309
378
  ## secretmanager.SecretIamPolicy
310
379
 
311
380
  ```python
@@ -322,6 +391,26 @@ class SecretIamBinding(pulumi.CustomResource):
322
391
  policy_data=admin.policy_data)
323
392
  ```
324
393
 
394
+ With IAM Conditions:
395
+
396
+ ```python
397
+ import pulumi
398
+ import pulumi_gcp as gcp
399
+
400
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
401
+ role="roles/secretmanager.secretAccessor",
402
+ members=["user:jane@example.com"],
403
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
404
+ title="expires_after_2019_12_31",
405
+ description="Expiring at midnight of 2019-12-31",
406
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
407
+ ),
408
+ )])
409
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
410
+ project=secret_basic["project"],
411
+ secret_id=secret_basic["secretId"],
412
+ policy_data=admin.policy_data)
413
+ ```
325
414
  ## secretmanager.SecretIamBinding
326
415
 
327
416
  ```python
@@ -335,6 +424,23 @@ class SecretIamBinding(pulumi.CustomResource):
335
424
  members=["user:jane@example.com"])
336
425
  ```
337
426
 
427
+ With IAM Conditions:
428
+
429
+ ```python
430
+ import pulumi
431
+ import pulumi_gcp as gcp
432
+
433
+ binding = gcp.secretmanager.SecretIamBinding("binding",
434
+ project=secret_basic["project"],
435
+ secret_id=secret_basic["secretId"],
436
+ role="roles/secretmanager.secretAccessor",
437
+ members=["user:jane@example.com"],
438
+ condition=gcp.secretmanager.SecretIamBindingConditionArgs(
439
+ title="expires_after_2019_12_31",
440
+ description="Expiring at midnight of 2019-12-31",
441
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
442
+ ))
443
+ ```
338
444
  ## secretmanager.SecretIamMember
339
445
 
340
446
  ```python
@@ -348,6 +454,24 @@ class SecretIamBinding(pulumi.CustomResource):
348
454
  member="user:jane@example.com")
349
455
  ```
350
456
 
457
+ With IAM Conditions:
458
+
459
+ ```python
460
+ import pulumi
461
+ import pulumi_gcp as gcp
462
+
463
+ member = gcp.secretmanager.SecretIamMember("member",
464
+ project=secret_basic["project"],
465
+ secret_id=secret_basic["secretId"],
466
+ role="roles/secretmanager.secretAccessor",
467
+ member="user:jane@example.com",
468
+ condition=gcp.secretmanager.SecretIamMemberConditionArgs(
469
+ title="expires_after_2019_12_31",
470
+ description="Expiring at midnight of 2019-12-31",
471
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
472
+ ))
473
+ ```
474
+
351
475
  ## Import
352
476
 
353
477
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -386,6 +510,8 @@ class SecretIamBinding(pulumi.CustomResource):
386
510
 
387
511
  :param str resource_name: The name of the resource.
388
512
  :param pulumi.ResourceOptions opts: Options for the resource.
513
+ :param pulumi.Input[pulumi.InputType['SecretIamBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
514
+ Structure is documented below.
389
515
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
390
516
  Each entry can have one of the following values:
391
517
  * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
@@ -424,6 +550,8 @@ class SecretIamBinding(pulumi.CustomResource):
424
550
 
425
551
  > **Note:** `secretmanager.SecretIamBinding` resources **can be** used in conjunction with `secretmanager.SecretIamMember` resources **only if** they do not grant privilege to the same role.
426
552
 
553
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
554
+
427
555
  ## secretmanager.SecretIamPolicy
428
556
 
429
557
  ```python
@@ -440,6 +568,26 @@ class SecretIamBinding(pulumi.CustomResource):
440
568
  policy_data=admin.policy_data)
441
569
  ```
442
570
 
571
+ With IAM Conditions:
572
+
573
+ ```python
574
+ import pulumi
575
+ import pulumi_gcp as gcp
576
+
577
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
578
+ role="roles/secretmanager.secretAccessor",
579
+ members=["user:jane@example.com"],
580
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
581
+ title="expires_after_2019_12_31",
582
+ description="Expiring at midnight of 2019-12-31",
583
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
584
+ ),
585
+ )])
586
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
587
+ project=secret_basic["project"],
588
+ secret_id=secret_basic["secretId"],
589
+ policy_data=admin.policy_data)
590
+ ```
443
591
  ## secretmanager.SecretIamBinding
444
592
 
445
593
  ```python
@@ -453,6 +601,23 @@ class SecretIamBinding(pulumi.CustomResource):
453
601
  members=["user:jane@example.com"])
454
602
  ```
455
603
 
604
+ With IAM Conditions:
605
+
606
+ ```python
607
+ import pulumi
608
+ import pulumi_gcp as gcp
609
+
610
+ binding = gcp.secretmanager.SecretIamBinding("binding",
611
+ project=secret_basic["project"],
612
+ secret_id=secret_basic["secretId"],
613
+ role="roles/secretmanager.secretAccessor",
614
+ members=["user:jane@example.com"],
615
+ condition=gcp.secretmanager.SecretIamBindingConditionArgs(
616
+ title="expires_after_2019_12_31",
617
+ description="Expiring at midnight of 2019-12-31",
618
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
619
+ ))
620
+ ```
456
621
  ## secretmanager.SecretIamMember
457
622
 
458
623
  ```python
@@ -466,6 +631,24 @@ class SecretIamBinding(pulumi.CustomResource):
466
631
  member="user:jane@example.com")
467
632
  ```
468
633
 
634
+ With IAM Conditions:
635
+
636
+ ```python
637
+ import pulumi
638
+ import pulumi_gcp as gcp
639
+
640
+ member = gcp.secretmanager.SecretIamMember("member",
641
+ project=secret_basic["project"],
642
+ secret_id=secret_basic["secretId"],
643
+ role="roles/secretmanager.secretAccessor",
644
+ member="user:jane@example.com",
645
+ condition=gcp.secretmanager.SecretIamMemberConditionArgs(
646
+ title="expires_after_2019_12_31",
647
+ description="Expiring at midnight of 2019-12-31",
648
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
649
+ ))
650
+ ```
651
+
469
652
  ## secretmanager.SecretIamPolicy
470
653
 
471
654
  ```python
@@ -482,6 +665,26 @@ class SecretIamBinding(pulumi.CustomResource):
482
665
  policy_data=admin.policy_data)
483
666
  ```
484
667
 
668
+ With IAM Conditions:
669
+
670
+ ```python
671
+ import pulumi
672
+ import pulumi_gcp as gcp
673
+
674
+ admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
675
+ role="roles/secretmanager.secretAccessor",
676
+ members=["user:jane@example.com"],
677
+ condition=gcp.organizations.GetIAMPolicyBindingConditionArgs(
678
+ title="expires_after_2019_12_31",
679
+ description="Expiring at midnight of 2019-12-31",
680
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
681
+ ),
682
+ )])
683
+ policy = gcp.secretmanager.SecretIamPolicy("policy",
684
+ project=secret_basic["project"],
685
+ secret_id=secret_basic["secretId"],
686
+ policy_data=admin.policy_data)
687
+ ```
485
688
  ## secretmanager.SecretIamBinding
486
689
 
487
690
  ```python
@@ -495,6 +698,23 @@ class SecretIamBinding(pulumi.CustomResource):
495
698
  members=["user:jane@example.com"])
496
699
  ```
497
700
 
701
+ With IAM Conditions:
702
+
703
+ ```python
704
+ import pulumi
705
+ import pulumi_gcp as gcp
706
+
707
+ binding = gcp.secretmanager.SecretIamBinding("binding",
708
+ project=secret_basic["project"],
709
+ secret_id=secret_basic["secretId"],
710
+ role="roles/secretmanager.secretAccessor",
711
+ members=["user:jane@example.com"],
712
+ condition=gcp.secretmanager.SecretIamBindingConditionArgs(
713
+ title="expires_after_2019_12_31",
714
+ description="Expiring at midnight of 2019-12-31",
715
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
716
+ ))
717
+ ```
498
718
  ## secretmanager.SecretIamMember
499
719
 
500
720
  ```python
@@ -508,6 +728,24 @@ class SecretIamBinding(pulumi.CustomResource):
508
728
  member="user:jane@example.com")
509
729
  ```
510
730
 
731
+ With IAM Conditions:
732
+
733
+ ```python
734
+ import pulumi
735
+ import pulumi_gcp as gcp
736
+
737
+ member = gcp.secretmanager.SecretIamMember("member",
738
+ project=secret_basic["project"],
739
+ secret_id=secret_basic["secretId"],
740
+ role="roles/secretmanager.secretAccessor",
741
+ member="user:jane@example.com",
742
+ condition=gcp.secretmanager.SecretIamMemberConditionArgs(
743
+ title="expires_after_2019_12_31",
744
+ description="Expiring at midnight of 2019-12-31",
745
+ expression="request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
746
+ ))
747
+ ```
748
+
511
749
  ## Import
512
750
 
513
751
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -608,6 +846,8 @@ class SecretIamBinding(pulumi.CustomResource):
608
846
  :param str resource_name: The unique name of the resulting resource.
609
847
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
610
848
  :param pulumi.ResourceOptions opts: Options for the resource.
849
+ :param pulumi.Input[pulumi.InputType['SecretIamBindingConditionArgs']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
850
+ Structure is documented below.
611
851
  :param pulumi.Input[str] etag: (Computed) The etag of the IAM policy.
612
852
  :param pulumi.Input[Sequence[pulumi.Input[str]]] members: Identities that will be granted the privilege in `role`.
613
853
  Each entry can have one of the following values:
@@ -641,6 +881,10 @@ class SecretIamBinding(pulumi.CustomResource):
641
881
  @property
642
882
  @pulumi.getter
643
883
  def condition(self) -> pulumi.Output[Optional['outputs.SecretIamBindingCondition']]:
884
+ """
885
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
886
+ Structure is documented below.
887
+ """
644
888
  return pulumi.get(self, "condition")
645
889
 
646
890
  @property