pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.0a1741934088__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 (75) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/alloydb/_inputs.py +66 -0
  3. pulumi_gcp/alloydb/outputs.py +95 -0
  4. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  5. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  6. pulumi_gcp/certificatemanager/certificate.py +53 -7
  7. pulumi_gcp/certificatemanager/outputs.py +8 -2
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +600 -17
  10. pulumi_gcp/compute/backend_service.py +195 -7
  11. pulumi_gcp/compute/disk.py +108 -0
  12. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  13. pulumi_gcp/compute/get_backend_service.py +12 -1
  14. pulumi_gcp/compute/get_disk.py +23 -1
  15. pulumi_gcp/compute/get_region_disk.py +23 -1
  16. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  17. pulumi_gcp/compute/outputs.py +623 -23
  18. pulumi_gcp/compute/region_backend_service.py +193 -7
  19. pulumi_gcp/compute/region_disk.py +114 -0
  20. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  21. pulumi_gcp/compute/subnetwork.py +147 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datastream/_inputs.py +273 -0
  25. pulumi_gcp/datastream/connection_profile.py +54 -2
  26. pulumi_gcp/datastream/outputs.py +224 -0
  27. pulumi_gcp/eventarc/__init__.py +1 -0
  28. pulumi_gcp/eventarc/_inputs.py +40 -0
  29. pulumi_gcp/eventarc/channel.py +85 -93
  30. pulumi_gcp/eventarc/google_api_source.py +997 -0
  31. pulumi_gcp/eventarc/outputs.py +41 -0
  32. pulumi_gcp/firebase/data_connect_service.py +40 -2
  33. pulumi_gcp/iam/__init__.py +2 -0
  34. pulumi_gcp/iam/_inputs.py +51 -18
  35. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  36. pulumi_gcp/iam/oauth_client.py +979 -0
  37. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  38. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  39. pulumi_gcp/iam/outputs.py +34 -12
  40. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  41. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  42. pulumi_gcp/kms/crypto_key_version.py +14 -7
  43. pulumi_gcp/monitoring/_inputs.py +15 -18
  44. pulumi_gcp/monitoring/alert_policy.py +46 -0
  45. pulumi_gcp/monitoring/outputs.py +10 -12
  46. pulumi_gcp/networksecurity/__init__.py +1 -0
  47. pulumi_gcp/networksecurity/_inputs.py +30 -18
  48. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  49. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  50. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  51. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  52. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  53. pulumi_gcp/networksecurity/mirroring_deployment.py +178 -94
  54. pulumi_gcp/networksecurity/mirroring_deployment_group.py +161 -77
  55. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +161 -80
  56. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +137 -105
  57. pulumi_gcp/networksecurity/outputs.py +20 -12
  58. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  59. pulumi_gcp/networkservices/grpc_route.py +12 -0
  60. pulumi_gcp/networkservices/http_route.py +16 -0
  61. pulumi_gcp/networkservices/mesh.py +16 -0
  62. pulumi_gcp/networkservices/service_binding.py +14 -0
  63. pulumi_gcp/networkservices/tcp_route.py +16 -0
  64. pulumi_gcp/networkservices/tls_route.py +12 -0
  65. pulumi_gcp/pulumi-plugin.json +1 -1
  66. pulumi_gcp/tpu/_inputs.py +21 -1
  67. pulumi_gcp/tpu/outputs.py +13 -1
  68. pulumi_gcp/tpu/v2_vm.py +2 -0
  69. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  70. pulumi_gcp/vmwareengine/outputs.py +8 -0
  71. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  72. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/METADATA +1 -1
  73. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/RECORD +75 -70
  74. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/WHEEL +0 -0
  75. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0a1741934088.dist-info}/top_level.txt +0 -0
@@ -497,14 +497,6 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
497
497
  target: Optional[pulumi.Input[Union['OrganizationsPolicyBindingTargetArgs', 'OrganizationsPolicyBindingTargetArgsDict']]] = None,
498
498
  __props__=None):
499
499
  """
500
- A policy binding to an organizations
501
-
502
- To get more information about OrganizationsPolicyBinding, see:
503
-
504
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.policyBindings)
505
- * How-to Guides
506
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
507
-
508
500
  ## Example Usage
509
501
 
510
502
  ### Iam Organizations Policy Binding
@@ -517,16 +509,16 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
517
509
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
518
510
  organization="123456789",
519
511
  location="global",
520
- display_name="test org binding",
512
+ display_name="binding for all principals in the Organization",
521
513
  principal_access_boundary_policy_id="my-pab-policy")
522
514
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
523
515
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
524
- my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
516
+ binding_for_all_org_principals = gcp.iam.OrganizationsPolicyBinding("binding-for-all-org-principals",
525
517
  organization="123456789",
526
518
  location="global",
527
- display_name="test org binding",
519
+ display_name="binding for all principals in the Organization",
528
520
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
529
- policy_binding_id="test-org-binding",
521
+ policy_binding_id="binding-for-all-org-principals",
530
522
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
531
523
  target={
532
524
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
@@ -585,14 +577,6 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
585
577
  args: OrganizationsPolicyBindingArgs,
586
578
  opts: Optional[pulumi.ResourceOptions] = None):
587
579
  """
588
- A policy binding to an organizations
589
-
590
- To get more information about OrganizationsPolicyBinding, see:
591
-
592
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.policyBindings)
593
- * How-to Guides
594
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
595
-
596
580
  ## Example Usage
597
581
 
598
582
  ### Iam Organizations Policy Binding
@@ -605,16 +589,16 @@ class OrganizationsPolicyBinding(pulumi.CustomResource):
605
589
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
606
590
  organization="123456789",
607
591
  location="global",
608
- display_name="test org binding",
592
+ display_name="binding for all principals in the Organization",
609
593
  principal_access_boundary_policy_id="my-pab-policy")
610
594
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
595
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
612
- my_org_binding = gcp.iam.OrganizationsPolicyBinding("my-org-binding",
596
+ binding_for_all_org_principals = gcp.iam.OrganizationsPolicyBinding("binding-for-all-org-principals",
613
597
  organization="123456789",
614
598
  location="global",
615
- display_name="test org binding",
599
+ display_name="binding for all principals in the Organization",
616
600
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
617
- policy_binding_id="test-org-binding",
601
+ policy_binding_id="binding-for-all-org-principals",
618
602
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
619
603
  target={
620
604
  "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
pulumi_gcp/iam/outputs.py CHANGED
@@ -531,8 +531,10 @@ class FoldersPolicyBindingTarget(dict):
531
531
  def __init__(__self__, *,
532
532
  principal_set: Optional[str] = None):
533
533
  """
534
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
535
- The binding parent and policy must belong to the same Organization (or Project).
534
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
535
+ Examples for each one of the following supported principal set types:
536
+ * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
537
+ It must be parent by the policy binding's parent (the folder).
536
538
 
537
539
  - - -
538
540
  """
@@ -543,8 +545,10 @@ class FoldersPolicyBindingTarget(dict):
543
545
  @pulumi.getter(name="principalSet")
544
546
  def principal_set(self) -> Optional[str]:
545
547
  """
546
- Required. Immutable. The resource name of the policy to be bound.
547
- The binding parent and policy must belong to the same Organization (or Project).
548
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
549
+ Examples for each one of the following supported principal set types:
550
+ * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID`
551
+ It must be parent by the policy binding's parent (the folder).
548
552
 
549
553
  - - -
550
554
  """
@@ -628,8 +632,12 @@ class OrganizationsPolicyBindingTarget(dict):
628
632
  def __init__(__self__, *,
629
633
  principal_set: Optional[str] = None):
630
634
  """
631
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
632
- The binding parent and policy must belong to the same Organization (or Project).
635
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
636
+ Examples for each one of the following supported principal set types:
637
+ * Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
638
+ * Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
639
+ * Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
640
+ It must be parent by the policy binding's parent (the organization).
633
641
 
634
642
  - - -
635
643
  """
@@ -640,8 +648,12 @@ class OrganizationsPolicyBindingTarget(dict):
640
648
  @pulumi.getter(name="principalSet")
641
649
  def principal_set(self) -> Optional[str]:
642
650
  """
643
- Required. Immutable. The resource name of the policy to be bound.
644
- The binding parent and policy must belong to the same Organization (or Project).
651
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
652
+ Examples for each one of the following supported principal set types:
653
+ * Organization `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID`
654
+ * Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID`
655
+ * Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID`
656
+ It must be parent by the policy binding's parent (the organization).
645
657
 
646
658
  - - -
647
659
  """
@@ -837,8 +849,13 @@ class ProjectsPolicyBindingTarget(dict):
837
849
  def __init__(__self__, *,
838
850
  principal_set: Optional[str] = None):
839
851
  """
840
- :param str principal_set: Required. Immutable. The resource name of the policy to be bound.
841
- The binding parent and policy must belong to the same Organization (or Project).
852
+ :param str principal_set: Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
853
+ Examples for each one of the following supported principal set types:
854
+ * Project:
855
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
856
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
857
+ * Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
858
+ It must be parent by the policy binding's parent (the project).
842
859
 
843
860
  - - -
844
861
  """
@@ -849,8 +866,13 @@ class ProjectsPolicyBindingTarget(dict):
849
866
  @pulumi.getter(name="principalSet")
850
867
  def principal_set(self) -> Optional[str]:
851
868
  """
852
- Required. Immutable. The resource name of the policy to be bound.
853
- The binding parent and policy must belong to the same Organization (or Project).
869
+ Required. Immutable. Full Resource Name of the principal set used for principal access boundary policy bindings.
870
+ Examples for each one of the following supported principal set types:
871
+ * Project:
872
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER`
873
+ * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
874
+ * Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
875
+ It must be parent by the policy binding's parent (the project).
854
876
 
855
877
  - - -
856
878
  """
@@ -366,14 +366,6 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
366
366
  principal_access_boundary_policy_id: Optional[pulumi.Input[str]] = None,
367
367
  __props__=None):
368
368
  """
369
- An IAM Principal Access Boundary Policy resource
370
-
371
- To get more information about PrincipalAccessBoundaryPolicy, see:
372
-
373
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.principalAccessBoundaryPolicies)
374
- * How-to Guides
375
- * [Create and apply Principal Access Boundaries](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create)
376
-
377
369
  ## Example Usage
378
370
 
379
371
  ### Iam Principal Access Boundary Policy
@@ -382,11 +374,37 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
382
374
  import pulumi
383
375
  import pulumi_gcp as gcp
384
376
 
385
- my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
377
+ pab_policy_for_org = gcp.iam.PrincipalAccessBoundaryPolicy("pab-policy-for-org",
378
+ organization="123456789",
379
+ location="global",
380
+ display_name="PAB policy for Organization",
381
+ principal_access_boundary_policy_id="pab-policy-for-org")
382
+ ```
383
+ ### Iam Organizations Policy Binding
384
+
385
+ ```python
386
+ import pulumi
387
+ import pulumi_gcp as gcp
388
+ import pulumi_time as time
389
+
390
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
391
+ organization="123456789",
392
+ location="global",
393
+ display_name="Binding for all principals in the Organization",
394
+ principal_access_boundary_policy_id="my-pab-policy")
395
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
396
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
397
+ my_pab_policy = gcp.iam.OrganizationsPolicyBinding("my-pab-policy",
386
398
  organization="123456789",
387
399
  location="global",
388
- display_name="test pab policy",
389
- principal_access_boundary_policy_id="test-pab-policy")
400
+ display_name="Binding for all principals in the Organization",
401
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
402
+ policy_binding_id="binding-for-all-org-principals",
403
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
404
+ target={
405
+ "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
406
+ },
407
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
390
408
  ```
391
409
 
392
410
  ## Import
@@ -432,14 +450,6 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
432
450
  args: PrincipalAccessBoundaryPolicyArgs,
433
451
  opts: Optional[pulumi.ResourceOptions] = None):
434
452
  """
435
- An IAM Principal Access Boundary Policy resource
436
-
437
- To get more information about PrincipalAccessBoundaryPolicy, see:
438
-
439
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/organizations.locations.principalAccessBoundaryPolicies)
440
- * How-to Guides
441
- * [Create and apply Principal Access Boundaries](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create)
442
-
443
453
  ## Example Usage
444
454
 
445
455
  ### Iam Principal Access Boundary Policy
@@ -448,11 +458,37 @@ class PrincipalAccessBoundaryPolicy(pulumi.CustomResource):
448
458
  import pulumi
449
459
  import pulumi_gcp as gcp
450
460
 
451
- my_pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("my-pab-policy",
461
+ pab_policy_for_org = gcp.iam.PrincipalAccessBoundaryPolicy("pab-policy-for-org",
462
+ organization="123456789",
463
+ location="global",
464
+ display_name="PAB policy for Organization",
465
+ principal_access_boundary_policy_id="pab-policy-for-org")
466
+ ```
467
+ ### Iam Organizations Policy Binding
468
+
469
+ ```python
470
+ import pulumi
471
+ import pulumi_gcp as gcp
472
+ import pulumi_time as time
473
+
474
+ pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
475
+ organization="123456789",
476
+ location="global",
477
+ display_name="Binding for all principals in the Organization",
478
+ principal_access_boundary_policy_id="my-pab-policy")
479
+ wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
480
+ opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
481
+ my_pab_policy = gcp.iam.OrganizationsPolicyBinding("my-pab-policy",
452
482
  organization="123456789",
453
483
  location="global",
454
- display_name="test pab policy",
455
- principal_access_boundary_policy_id="test-pab-policy")
484
+ display_name="Binding for all principals in the Organization",
485
+ policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
486
+ policy_binding_id="binding-for-all-org-principals",
487
+ policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
488
+ target={
489
+ "principal_set": "//cloudresourcemanager.googleapis.com/organizations/123456789",
490
+ },
491
+ opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
456
492
  ```
457
493
 
458
494
  ## Import
@@ -490,14 +490,6 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
490
490
  target: Optional[pulumi.Input[Union['ProjectsPolicyBindingTargetArgs', 'ProjectsPolicyBindingTargetArgsDict']]] = None,
491
491
  __props__=None):
492
492
  """
493
- A policy binding to a Project
494
-
495
- To get more information about ProjectsPolicyBinding, see:
496
-
497
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/projects.locations.policyBindings)
498
- * How-to Guides
499
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
500
-
501
493
  ## Example Usage
502
494
 
503
495
  ### Iam Projects Policy Binding
@@ -511,16 +503,16 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
511
503
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
512
504
  organization="123456789",
513
505
  location="global",
514
- display_name="test project binding",
506
+ display_name="binding for all principals in the project",
515
507
  principal_access_boundary_policy_id="my-pab-policy")
516
508
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
517
509
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
518
- my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
510
+ binding_for_all_project_principals = gcp.iam.ProjectsPolicyBinding("binding-for-all-project-principals",
519
511
  project=project.project_id,
520
512
  location="global",
521
- display_name="test project binding",
513
+ display_name="binding for all principals in the project",
522
514
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
523
- policy_binding_id="test-project-binding",
515
+ policy_binding_id="binding-for-all-project-principals",
524
516
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
525
517
  target={
526
518
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
@@ -584,14 +576,6 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
584
576
  args: ProjectsPolicyBindingArgs,
585
577
  opts: Optional[pulumi.ResourceOptions] = None):
586
578
  """
587
- A policy binding to a Project
588
-
589
- To get more information about ProjectsPolicyBinding, see:
590
-
591
- * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v3/projects.locations.policyBindings)
592
- * How-to Guides
593
- * [Apply a policy binding](https://cloud.google.com/iam/docs/principal-access-boundary-policies-create#create_binding)
594
-
595
579
  ## Example Usage
596
580
 
597
581
  ### Iam Projects Policy Binding
@@ -605,16 +589,16 @@ class ProjectsPolicyBinding(pulumi.CustomResource):
605
589
  pab_policy = gcp.iam.PrincipalAccessBoundaryPolicy("pab_policy",
606
590
  organization="123456789",
607
591
  location="global",
608
- display_name="test project binding",
592
+ display_name="binding for all principals in the project",
609
593
  principal_access_boundary_policy_id="my-pab-policy")
610
594
  wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
611
595
  opts = pulumi.ResourceOptions(depends_on=[pab_policy]))
612
- my_project_binding = gcp.iam.ProjectsPolicyBinding("my-project-binding",
596
+ binding_for_all_project_principals = gcp.iam.ProjectsPolicyBinding("binding-for-all-project-principals",
613
597
  project=project.project_id,
614
598
  location="global",
615
- display_name="test project binding",
599
+ display_name="binding for all principals in the project",
616
600
  policy_kind="PRINCIPAL_ACCESS_BOUNDARY",
617
- policy_binding_id="test-project-binding",
601
+ policy_binding_id="binding-for-all-project-principals",
618
602
  policy=pab_policy.principal_access_boundary_policy_id.apply(lambda principal_access_boundary_policy_id: f"organizations/123456789/locations/global/principalAccessBoundaryPolicies/{principal_access_boundary_policy_id}"),
619
603
  target={
620
604
  "principal_set": f"//cloudresourcemanager.googleapis.com/projects/{project.project_id}",
@@ -33,7 +33,8 @@ class CryptoKeyVersionArgs:
33
33
  - - -
34
34
  :param pulumi.Input['CryptoKeyVersionExternalProtectionLevelOptionsArgs'] external_protection_level_options: ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
35
35
  Structure is documented below.
36
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
36
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
37
+ otherwise the value of this field is always retrieved automatically.
37
38
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
38
39
  """
39
40
  pulumi.set(__self__, "crypto_key", crypto_key)
@@ -75,7 +76,8 @@ class CryptoKeyVersionArgs:
75
76
  @pulumi.getter
76
77
  def state(self) -> Optional[pulumi.Input[str]]:
77
78
  """
78
- The current state of the CryptoKeyVersion.
79
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
80
+ otherwise the value of this field is always retrieved automatically.
79
81
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
80
82
  """
81
83
  return pulumi.get(self, "state")
@@ -112,7 +114,8 @@ class _CryptoKeyVersionState:
112
114
  :param pulumi.Input[str] generate_time: The time this CryptoKeyVersion key material was generated
113
115
  :param pulumi.Input[str] name: The resource name for this CryptoKeyVersion.
114
116
  :param pulumi.Input[str] protection_level: The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
115
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
117
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
118
+ otherwise the value of this field is always retrieved automatically.
116
119
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
117
120
  """
118
121
  if algorithm is not None:
@@ -227,7 +230,8 @@ class _CryptoKeyVersionState:
227
230
  @pulumi.getter
228
231
  def state(self) -> Optional[pulumi.Input[str]]:
229
232
  """
230
- The current state of the CryptoKeyVersion.
233
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
234
+ otherwise the value of this field is always retrieved automatically.
231
235
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
232
236
  """
233
237
  return pulumi.get(self, "state")
@@ -296,7 +300,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
296
300
  - - -
297
301
  :param pulumi.Input[Union['CryptoKeyVersionExternalProtectionLevelOptionsArgs', 'CryptoKeyVersionExternalProtectionLevelOptionsArgsDict']] external_protection_level_options: ExternalProtectionLevelOptions stores a group of additional fields for configuring a CryptoKeyVersion that are specific to the EXTERNAL protection level and EXTERNAL_VPC protection levels.
298
302
  Structure is documented below.
299
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
303
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
304
+ otherwise the value of this field is always retrieved automatically.
300
305
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
301
306
  """
302
307
  ...
@@ -422,7 +427,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
422
427
  :param pulumi.Input[str] generate_time: The time this CryptoKeyVersion key material was generated
423
428
  :param pulumi.Input[str] name: The resource name for this CryptoKeyVersion.
424
429
  :param pulumi.Input[str] protection_level: The ProtectionLevel describing how crypto operations are performed with this CryptoKeyVersion.
425
- :param pulumi.Input[str] state: The current state of the CryptoKeyVersion.
430
+ :param pulumi.Input[str] state: The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
431
+ otherwise the value of this field is always retrieved automatically.
426
432
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
427
433
  """
428
434
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -506,7 +512,8 @@ class CryptoKeyVersion(pulumi.CustomResource):
506
512
  @pulumi.getter
507
513
  def state(self) -> pulumi.Output[str]:
508
514
  """
509
- The current state of the CryptoKeyVersion.
515
+ The current state of the CryptoKeyVersion. Note: you can only specify this field to manually `ENABLE` or `DISABLE` the CryptoKeyVersion,
516
+ otherwise the value of this field is always retrieved automatically.
510
517
  Possible values are: `PENDING_GENERATION`, `ENABLED`, `DISABLED`, `DESTROYED`, `DESTROY_SCHEDULED`, `PENDING_IMPORT`, `IMPORT_FAILED`.
511
518
  """
512
519
  return pulumi.get(self, "state")
@@ -1686,8 +1686,7 @@ if not MYPY:
1686
1686
  """
1687
1687
  boolean_test: NotRequired[pulumi.Input['AlertPolicyConditionConditionSqlBooleanTestArgsDict']]
1688
1688
  """
1689
- The start date and time of the query. If left unspecified, then the
1690
- query will start immediately.
1689
+ A test that uses an alerting result in a boolean column produced by the SQL query.
1691
1690
  Structure is documented below.
1692
1691
  """
1693
1692
  daily: NotRequired[pulumi.Input['AlertPolicyConditionConditionSqlDailyArgsDict']]
@@ -1707,7 +1706,7 @@ if not MYPY:
1707
1706
  """
1708
1707
  row_count_test: NotRequired[pulumi.Input['AlertPolicyConditionConditionSqlRowCountTestArgsDict']]
1709
1708
  """
1710
- Test the row count against a threshold.
1709
+ A test that checks if the number of rows in the result set violates some threshold.
1711
1710
  Structure is documented below.
1712
1711
  """
1713
1712
  elif False:
@@ -1728,8 +1727,7 @@ class AlertPolicyConditionConditionSqlArgs:
1728
1727
  filter the input by time. A filter will automatically be applied
1729
1728
  to filter the input so that the query receives all rows received
1730
1729
  since the last time the query was run.
1731
- :param pulumi.Input['AlertPolicyConditionConditionSqlBooleanTestArgs'] boolean_test: The start date and time of the query. If left unspecified, then the
1732
- query will start immediately.
1730
+ :param pulumi.Input['AlertPolicyConditionConditionSqlBooleanTestArgs'] boolean_test: A test that uses an alerting result in a boolean column produced by the SQL query.
1733
1731
  Structure is documented below.
1734
1732
  :param pulumi.Input['AlertPolicyConditionConditionSqlDailyArgs'] daily: Used to schedule the query to run every so many days.
1735
1733
  Structure is documented below.
@@ -1737,7 +1735,7 @@ class AlertPolicyConditionConditionSqlArgs:
1737
1735
  Structure is documented below.
1738
1736
  :param pulumi.Input['AlertPolicyConditionConditionSqlMinutesArgs'] minutes: Used to schedule the query to run every so many minutes.
1739
1737
  Structure is documented below.
1740
- :param pulumi.Input['AlertPolicyConditionConditionSqlRowCountTestArgs'] row_count_test: Test the row count against a threshold.
1738
+ :param pulumi.Input['AlertPolicyConditionConditionSqlRowCountTestArgs'] row_count_test: A test that checks if the number of rows in the result set violates some threshold.
1741
1739
  Structure is documented below.
1742
1740
  """
1743
1741
  pulumi.set(__self__, "query", query)
@@ -1772,8 +1770,7 @@ class AlertPolicyConditionConditionSqlArgs:
1772
1770
  @pulumi.getter(name="booleanTest")
1773
1771
  def boolean_test(self) -> Optional[pulumi.Input['AlertPolicyConditionConditionSqlBooleanTestArgs']]:
1774
1772
  """
1775
- The start date and time of the query. If left unspecified, then the
1776
- query will start immediately.
1773
+ A test that uses an alerting result in a boolean column produced by the SQL query.
1777
1774
  Structure is documented below.
1778
1775
  """
1779
1776
  return pulumi.get(self, "boolean_test")
@@ -1825,7 +1822,7 @@ class AlertPolicyConditionConditionSqlArgs:
1825
1822
  @pulumi.getter(name="rowCountTest")
1826
1823
  def row_count_test(self) -> Optional[pulumi.Input['AlertPolicyConditionConditionSqlRowCountTestArgs']]:
1827
1824
  """
1828
- Test the row count against a threshold.
1825
+ A test that checks if the number of rows in the result set violates some threshold.
1829
1826
  Structure is documented below.
1830
1827
  """
1831
1828
  return pulumi.get(self, "row_count_test")
@@ -1839,8 +1836,8 @@ if not MYPY:
1839
1836
  class AlertPolicyConditionConditionSqlBooleanTestArgsDict(TypedDict):
1840
1837
  column: pulumi.Input[str]
1841
1838
  """
1842
- The name of the column containing the boolean value. If the value
1843
- in a row is NULL, that row is ignored.
1839
+ The name of the column containing the boolean value. If the value in a row is
1840
+ NULL, that row is ignored.
1844
1841
 
1845
1842
  - - -
1846
1843
  """
@@ -1852,8 +1849,8 @@ class AlertPolicyConditionConditionSqlBooleanTestArgs:
1852
1849
  def __init__(__self__, *,
1853
1850
  column: pulumi.Input[str]):
1854
1851
  """
1855
- :param pulumi.Input[str] column: The name of the column containing the boolean value. If the value
1856
- in a row is NULL, that row is ignored.
1852
+ :param pulumi.Input[str] column: The name of the column containing the boolean value. If the value in a row is
1853
+ NULL, that row is ignored.
1857
1854
 
1858
1855
  - - -
1859
1856
  """
@@ -1863,8 +1860,8 @@ class AlertPolicyConditionConditionSqlBooleanTestArgs:
1863
1860
  @pulumi.getter
1864
1861
  def column(self) -> pulumi.Input[str]:
1865
1862
  """
1866
- The name of the column containing the boolean value. If the value
1867
- in a row is NULL, that row is ignored.
1863
+ The name of the column containing the boolean value. If the value in a row is
1864
+ NULL, that row is ignored.
1868
1865
 
1869
1866
  - - -
1870
1867
  """
@@ -2161,7 +2158,7 @@ if not MYPY:
2161
2158
  """
2162
2159
  threshold: pulumi.Input[int]
2163
2160
  """
2164
- Test the boolean value in the indicated column.
2161
+ The value against which to compare the row count.
2165
2162
  """
2166
2163
  elif False:
2167
2164
  AlertPolicyConditionConditionSqlRowCountTestArgsDict: TypeAlias = Mapping[str, Any]
@@ -2181,7 +2178,7 @@ class AlertPolicyConditionConditionSqlRowCountTestArgs:
2181
2178
  right-hand side. Only COMPARISON_LT and
2182
2179
  COMPARISON_GT are supported currently.
2183
2180
  Possible values are: `COMPARISON_GT`, `COMPARISON_GE`, `COMPARISON_LT`, `COMPARISON_LE`, `COMPARISON_EQ`, `COMPARISON_NE`.
2184
- :param pulumi.Input[int] threshold: Test the boolean value in the indicated column.
2181
+ :param pulumi.Input[int] threshold: The value against which to compare the row count.
2185
2182
  """
2186
2183
  pulumi.set(__self__, "comparison", comparison)
2187
2184
  pulumi.set(__self__, "threshold", threshold)
@@ -2210,7 +2207,7 @@ class AlertPolicyConditionConditionSqlRowCountTestArgs:
2210
2207
  @pulumi.getter
2211
2208
  def threshold(self) -> pulumi.Input[int]:
2212
2209
  """
2213
- Test the boolean value in the indicated column.
2210
+ The value against which to compare the row count.
2214
2211
  """
2215
2212
  return pulumi.get(self, "threshold")
2216
2213
 
@@ -586,6 +586,29 @@ class AlertPolicy(pulumi.CustomResource):
586
586
  "auto_close": "1800s",
587
587
  })
588
588
  ```
589
+ ### Monitoring Alert Policy Sql Condition
590
+
591
+ ```python
592
+ import pulumi
593
+ import pulumi_gcp as gcp
594
+
595
+ alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
596
+ display_name="My Alert Policy",
597
+ combiner="OR",
598
+ conditions=[{
599
+ "display_name": "minutes row count",
600
+ "condition_sql": {
601
+ "query": "SELECT severity, resource FROM my_project.global._Default._AllLogs WHERE severity IS NOT NULL",
602
+ "minutes": {
603
+ "periodicity": 600,
604
+ },
605
+ "row_count_test": {
606
+ "comparison": "COMPARISON_GT",
607
+ "threshold": 0,
608
+ },
609
+ },
610
+ }])
611
+ ```
589
612
 
590
613
  ## Import
591
614
 
@@ -762,6 +785,29 @@ class AlertPolicy(pulumi.CustomResource):
762
785
  "auto_close": "1800s",
763
786
  })
764
787
  ```
788
+ ### Monitoring Alert Policy Sql Condition
789
+
790
+ ```python
791
+ import pulumi
792
+ import pulumi_gcp as gcp
793
+
794
+ alert_policy = gcp.monitoring.AlertPolicy("alert_policy",
795
+ display_name="My Alert Policy",
796
+ combiner="OR",
797
+ conditions=[{
798
+ "display_name": "minutes row count",
799
+ "condition_sql": {
800
+ "query": "SELECT severity, resource FROM my_project.global._Default._AllLogs WHERE severity IS NOT NULL",
801
+ "minutes": {
802
+ "periodicity": 600,
803
+ },
804
+ "row_count_test": {
805
+ "comparison": "COMPARISON_GT",
806
+ "threshold": 0,
807
+ },
808
+ },
809
+ }])
810
+ ```
765
811
 
766
812
  ## Import
767
813