pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.25.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 (150) hide show
  1. pulumi_gcp/__init__.py +131 -0
  2. pulumi_gcp/_inputs.py +48 -0
  3. pulumi_gcp/accesscontextmanager/_inputs.py +324 -12
  4. pulumi_gcp/accesscontextmanager/outputs.py +204 -12
  5. pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
  6. pulumi_gcp/apigee/__init__.py +1 -0
  7. pulumi_gcp/apigee/_inputs.py +58 -0
  8. pulumi_gcp/apigee/dns_zone.py +491 -0
  9. pulumi_gcp/apigee/outputs.py +53 -0
  10. pulumi_gcp/bigquery/_inputs.py +158 -0
  11. pulumi_gcp/bigquery/outputs.py +115 -0
  12. pulumi_gcp/bigquery/reservation.py +189 -1
  13. pulumi_gcp/bigquery/reservation_assignment.py +7 -7
  14. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  15. pulumi_gcp/bigtable/table.py +8 -8
  16. pulumi_gcp/chronicle/data_access_label.py +16 -0
  17. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  18. pulumi_gcp/chronicle/reference_list.py +16 -0
  19. pulumi_gcp/chronicle/retrohunt.py +16 -0
  20. pulumi_gcp/chronicle/rule.py +16 -0
  21. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  22. pulumi_gcp/chronicle/watchlist.py +16 -0
  23. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  24. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  25. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  26. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  27. pulumi_gcp/cloudrunv2/service.py +14 -14
  28. pulumi_gcp/compute/__init__.py +2 -0
  29. pulumi_gcp/compute/_inputs.py +2627 -61
  30. pulumi_gcp/compute/backend_service.py +121 -3
  31. pulumi_gcp/compute/get_backend_service.py +15 -4
  32. pulumi_gcp/compute/get_images.py +172 -0
  33. pulumi_gcp/compute/get_instance.py +12 -1
  34. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  35. pulumi_gcp/compute/get_resource_policy.py +15 -4
  36. pulumi_gcp/compute/get_router.py +12 -1
  37. pulumi_gcp/compute/get_subnetwork.py +43 -1
  38. pulumi_gcp/compute/image.py +54 -0
  39. pulumi_gcp/compute/instance.py +47 -0
  40. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  41. pulumi_gcp/compute/instance_from_template.py +47 -0
  42. pulumi_gcp/compute/interconnect.py +14 -7
  43. pulumi_gcp/compute/outputs.py +4522 -391
  44. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  45. pulumi_gcp/compute/resource_policy.py +169 -3
  46. pulumi_gcp/compute/router.py +54 -0
  47. pulumi_gcp/compute/router_route_policy.py +16 -0
  48. pulumi_gcp/compute/subnetwork.py +35 -5
  49. pulumi_gcp/config/__init__.pyi +8 -0
  50. pulumi_gcp/config/outputs.py +27 -0
  51. pulumi_gcp/config/vars.py +16 -0
  52. pulumi_gcp/container/_inputs.py +274 -13
  53. pulumi_gcp/container/cluster.py +101 -0
  54. pulumi_gcp/container/get_cluster.py +23 -1
  55. pulumi_gcp/container/get_registry_image.py +4 -0
  56. pulumi_gcp/container/get_registry_repository.py +4 -0
  57. pulumi_gcp/container/outputs.py +305 -10
  58. pulumi_gcp/container/registry.py +4 -0
  59. pulumi_gcp/datafusion/instance.py +68 -0
  60. pulumi_gcp/dataproc/__init__.py +8 -0
  61. pulumi_gcp/dataproc/_inputs.py +219 -0
  62. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  63. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  64. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  65. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  66. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  67. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  68. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  69. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  70. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  71. pulumi_gcp/dataproc/outputs.py +139 -0
  72. pulumi_gcp/datastream/_inputs.py +311 -94
  73. pulumi_gcp/datastream/connection_profile.py +40 -0
  74. pulumi_gcp/datastream/outputs.py +244 -51
  75. pulumi_gcp/datastream/stream.py +216 -0
  76. pulumi_gcp/discoveryengine/__init__.py +1 -0
  77. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  78. pulumi_gcp/eventarc/__init__.py +1 -0
  79. pulumi_gcp/eventarc/enrollment.py +980 -0
  80. pulumi_gcp/firebase/__init__.py +1 -0
  81. pulumi_gcp/firebase/_inputs.py +484 -0
  82. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  83. pulumi_gcp/firebase/outputs.py +333 -0
  84. pulumi_gcp/identityplatform/_inputs.py +91 -0
  85. pulumi_gcp/identityplatform/outputs.py +73 -0
  86. pulumi_gcp/identityplatform/tenant.py +56 -0
  87. pulumi_gcp/lustre/__init__.py +8 -0
  88. pulumi_gcp/lustre/instance.py +983 -0
  89. pulumi_gcp/managedkafka/cluster.py +2 -2
  90. pulumi_gcp/memorystore/__init__.py +1 -0
  91. pulumi_gcp/memorystore/_inputs.py +1252 -7
  92. pulumi_gcp/memorystore/get_instance.py +45 -1
  93. pulumi_gcp/memorystore/instance.py +481 -30
  94. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  95. pulumi_gcp/memorystore/outputs.py +1440 -15
  96. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  97. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  98. pulumi_gcp/networkmanagement/outputs.py +280 -61
  99. pulumi_gcp/networksecurity/_inputs.py +891 -26
  100. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  101. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  102. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  103. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  104. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  105. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  106. pulumi_gcp/networksecurity/outputs.py +531 -1
  107. pulumi_gcp/networksecurity/security_profile.py +8 -0
  108. pulumi_gcp/organizations/__init__.py +2 -0
  109. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  110. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  111. pulumi_gcp/organizations/outputs.py +96 -0
  112. pulumi_gcp/osconfig/__init__.py +1 -0
  113. pulumi_gcp/osconfig/_inputs.py +5413 -0
  114. pulumi_gcp/osconfig/outputs.py +3962 -0
  115. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  116. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  117. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  118. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  119. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  120. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  121. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  122. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  123. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  124. pulumi_gcp/parametermanager/outputs.py +11 -0
  125. pulumi_gcp/parametermanager/parameter.py +88 -0
  126. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  127. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  128. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  129. pulumi_gcp/provider.py +75 -0
  130. pulumi_gcp/pulumi-plugin.json +1 -1
  131. pulumi_gcp/redis/_inputs.py +136 -0
  132. pulumi_gcp/redis/cluster.py +54 -0
  133. pulumi_gcp/redis/outputs.py +114 -0
  134. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  135. pulumi_gcp/storage/__init__.py +6 -0
  136. pulumi_gcp/storage/_inputs.py +1322 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  139. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  140. pulumi_gcp/storage/control_project_intelligence_config.py +408 -0
  141. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  142. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  143. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  144. pulumi_gcp/storage/get_control_project_intelligence_config.py +160 -0
  145. pulumi_gcp/storage/outputs.py +1553 -17
  146. pulumi_gcp/workbench/instance.py +14 -2
  147. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/METADATA +1 -1
  148. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/RECORD +150 -124
  149. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/WHEEL +0 -0
  150. {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.25.0.dist-info}/top_level.txt +0 -0
@@ -58,12 +58,23 @@ __all__ = [
58
58
  'ClientTlsPolicyServerValidationCaCertificateProviderInstance',
59
59
  'ClientTlsPolicyServerValidationCaGrpcEndpoint',
60
60
  'InterceptDeploymentGroupConnectedEndpointGroup',
61
+ 'InterceptDeploymentGroupLocation',
62
+ 'InterceptEndpointGroupAssociation',
63
+ 'InterceptEndpointGroupAssociationLocation',
61
64
  'InterceptEndpointGroupAssociationLocationsDetail',
65
+ 'InterceptEndpointGroupConnectedDeploymentGroup',
66
+ 'InterceptEndpointGroupConnectedDeploymentGroupLocation',
62
67
  'MirroringDeploymentGroupConnectedEndpointGroup',
68
+ 'MirroringDeploymentGroupLocation',
69
+ 'MirroringEndpointGroupAssociation',
70
+ 'MirroringEndpointGroupAssociationLocation',
63
71
  'MirroringEndpointGroupAssociationLocationsDetail',
72
+ 'MirroringEndpointGroupConnectedDeploymentGroup',
73
+ 'MirroringEndpointGroupConnectedDeploymentGroupLocation',
64
74
  'SecurityProfileCustomInterceptProfile',
65
75
  'SecurityProfileCustomMirroringProfile',
66
76
  'SecurityProfileThreatPreventionProfile',
77
+ 'SecurityProfileThreatPreventionProfileAntivirusOverride',
67
78
  'SecurityProfileThreatPreventionProfileSeverityOverride',
68
79
  'SecurityProfileThreatPreventionProfileThreatOverride',
69
80
  'ServerTlsPolicyMtlsPolicy',
@@ -2431,6 +2442,159 @@ class InterceptDeploymentGroupConnectedEndpointGroup(dict):
2431
2442
  return pulumi.get(self, "name")
2432
2443
 
2433
2444
 
2445
+ @pulumi.output_type
2446
+ class InterceptDeploymentGroupLocation(dict):
2447
+ def __init__(__self__, *,
2448
+ location: Optional[str] = None,
2449
+ state: Optional[str] = None):
2450
+ """
2451
+ :param str location: The cloud location of the deployment group, currently restricted to `global`.
2452
+ :param str state: (Output)
2453
+ The current state of the association in this location.
2454
+ Possible values:
2455
+ STATE_UNSPECIFIED
2456
+ ACTIVE
2457
+ OUT_OF_SYNC
2458
+ """
2459
+ if location is not None:
2460
+ pulumi.set(__self__, "location", location)
2461
+ if state is not None:
2462
+ pulumi.set(__self__, "state", state)
2463
+
2464
+ @property
2465
+ @pulumi.getter
2466
+ def location(self) -> Optional[str]:
2467
+ """
2468
+ The cloud location of the deployment group, currently restricted to `global`.
2469
+ """
2470
+ return pulumi.get(self, "location")
2471
+
2472
+ @property
2473
+ @pulumi.getter
2474
+ def state(self) -> Optional[str]:
2475
+ """
2476
+ (Output)
2477
+ The current state of the association in this location.
2478
+ Possible values:
2479
+ STATE_UNSPECIFIED
2480
+ ACTIVE
2481
+ OUT_OF_SYNC
2482
+ """
2483
+ return pulumi.get(self, "state")
2484
+
2485
+
2486
+ @pulumi.output_type
2487
+ class InterceptEndpointGroupAssociation(dict):
2488
+ def __init__(__self__, *,
2489
+ name: Optional[str] = None,
2490
+ network: Optional[str] = None,
2491
+ state: Optional[str] = None):
2492
+ """
2493
+ :param str name: (Output)
2494
+ The connected deployment group's resource name, for example:
2495
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2496
+ See https://google.aip.dev/124.
2497
+ :param str network: (Output)
2498
+ The associated network, for example:
2499
+ projects/123456789/global/networks/my-network.
2500
+ See https://google.aip.dev/124.
2501
+ :param str state: (Output)
2502
+ The current state of the association in this location.
2503
+ Possible values:
2504
+ STATE_UNSPECIFIED
2505
+ ACTIVE
2506
+ OUT_OF_SYNC
2507
+ """
2508
+ if name is not None:
2509
+ pulumi.set(__self__, "name", name)
2510
+ if network is not None:
2511
+ pulumi.set(__self__, "network", network)
2512
+ if state is not None:
2513
+ pulumi.set(__self__, "state", state)
2514
+
2515
+ @property
2516
+ @pulumi.getter
2517
+ def name(self) -> Optional[str]:
2518
+ """
2519
+ (Output)
2520
+ The connected deployment group's resource name, for example:
2521
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2522
+ See https://google.aip.dev/124.
2523
+ """
2524
+ return pulumi.get(self, "name")
2525
+
2526
+ @property
2527
+ @pulumi.getter
2528
+ def network(self) -> Optional[str]:
2529
+ """
2530
+ (Output)
2531
+ The associated network, for example:
2532
+ projects/123456789/global/networks/my-network.
2533
+ See https://google.aip.dev/124.
2534
+ """
2535
+ return pulumi.get(self, "network")
2536
+
2537
+ @property
2538
+ @pulumi.getter
2539
+ def state(self) -> Optional[str]:
2540
+ """
2541
+ (Output)
2542
+ The current state of the association in this location.
2543
+ Possible values:
2544
+ STATE_UNSPECIFIED
2545
+ ACTIVE
2546
+ OUT_OF_SYNC
2547
+ """
2548
+ return pulumi.get(self, "state")
2549
+
2550
+
2551
+ @pulumi.output_type
2552
+ class InterceptEndpointGroupAssociationLocation(dict):
2553
+ def __init__(__self__, *,
2554
+ location: Optional[str] = None,
2555
+ state: Optional[str] = None):
2556
+ """
2557
+ :param str location: The cloud location of the association, currently restricted to `global`.
2558
+
2559
+
2560
+ - - -
2561
+ :param str state: (Output)
2562
+ The current state of the association in this location.
2563
+ Possible values:
2564
+ STATE_UNSPECIFIED
2565
+ ACTIVE
2566
+ OUT_OF_SYNC
2567
+ """
2568
+ if location is not None:
2569
+ pulumi.set(__self__, "location", location)
2570
+ if state is not None:
2571
+ pulumi.set(__self__, "state", state)
2572
+
2573
+ @property
2574
+ @pulumi.getter
2575
+ def location(self) -> Optional[str]:
2576
+ """
2577
+ The cloud location of the association, currently restricted to `global`.
2578
+
2579
+
2580
+ - - -
2581
+ """
2582
+ return pulumi.get(self, "location")
2583
+
2584
+ @property
2585
+ @pulumi.getter
2586
+ def state(self) -> Optional[str]:
2587
+ """
2588
+ (Output)
2589
+ The current state of the association in this location.
2590
+ Possible values:
2591
+ STATE_UNSPECIFIED
2592
+ ACTIVE
2593
+ OUT_OF_SYNC
2594
+ """
2595
+ return pulumi.get(self, "state")
2596
+
2597
+
2434
2598
  @pulumi.output_type
2435
2599
  class InterceptEndpointGroupAssociationLocationsDetail(dict):
2436
2600
  def __init__(__self__, *,
@@ -2478,6 +2642,88 @@ class InterceptEndpointGroupAssociationLocationsDetail(dict):
2478
2642
  return pulumi.get(self, "state")
2479
2643
 
2480
2644
 
2645
+ @pulumi.output_type
2646
+ class InterceptEndpointGroupConnectedDeploymentGroup(dict):
2647
+ def __init__(__self__, *,
2648
+ locations: Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']] = None,
2649
+ name: Optional[str] = None):
2650
+ """
2651
+ :param Sequence['InterceptEndpointGroupConnectedDeploymentGroupLocationArgs'] locations: (Output)
2652
+ The list of locations where the deployment group is present.
2653
+ Structure is documented below.
2654
+ :param str name: (Output)
2655
+ The connected deployment group's resource name, for example:
2656
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2657
+ See https://google.aip.dev/124.
2658
+ """
2659
+ if locations is not None:
2660
+ pulumi.set(__self__, "locations", locations)
2661
+ if name is not None:
2662
+ pulumi.set(__self__, "name", name)
2663
+
2664
+ @property
2665
+ @pulumi.getter
2666
+ def locations(self) -> Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']]:
2667
+ """
2668
+ (Output)
2669
+ The list of locations where the deployment group is present.
2670
+ Structure is documented below.
2671
+ """
2672
+ return pulumi.get(self, "locations")
2673
+
2674
+ @property
2675
+ @pulumi.getter
2676
+ def name(self) -> Optional[str]:
2677
+ """
2678
+ (Output)
2679
+ The connected deployment group's resource name, for example:
2680
+ `projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
2681
+ See https://google.aip.dev/124.
2682
+ """
2683
+ return pulumi.get(self, "name")
2684
+
2685
+
2686
+ @pulumi.output_type
2687
+ class InterceptEndpointGroupConnectedDeploymentGroupLocation(dict):
2688
+ def __init__(__self__, *,
2689
+ location: Optional[str] = None,
2690
+ state: Optional[str] = None):
2691
+ """
2692
+ :param str location: The cloud location of the endpoint group, currently restricted to `global`.
2693
+ :param str state: (Output)
2694
+ The current state of the association in this location.
2695
+ Possible values:
2696
+ STATE_UNSPECIFIED
2697
+ ACTIVE
2698
+ OUT_OF_SYNC
2699
+ """
2700
+ if location is not None:
2701
+ pulumi.set(__self__, "location", location)
2702
+ if state is not None:
2703
+ pulumi.set(__self__, "state", state)
2704
+
2705
+ @property
2706
+ @pulumi.getter
2707
+ def location(self) -> Optional[str]:
2708
+ """
2709
+ The cloud location of the endpoint group, currently restricted to `global`.
2710
+ """
2711
+ return pulumi.get(self, "location")
2712
+
2713
+ @property
2714
+ @pulumi.getter
2715
+ def state(self) -> Optional[str]:
2716
+ """
2717
+ (Output)
2718
+ The current state of the association in this location.
2719
+ Possible values:
2720
+ STATE_UNSPECIFIED
2721
+ ACTIVE
2722
+ OUT_OF_SYNC
2723
+ """
2724
+ return pulumi.get(self, "state")
2725
+
2726
+
2481
2727
  @pulumi.output_type
2482
2728
  class MirroringDeploymentGroupConnectedEndpointGroup(dict):
2483
2729
  def __init__(__self__, *,
@@ -2503,6 +2749,159 @@ class MirroringDeploymentGroupConnectedEndpointGroup(dict):
2503
2749
  return pulumi.get(self, "name")
2504
2750
 
2505
2751
 
2752
+ @pulumi.output_type
2753
+ class MirroringDeploymentGroupLocation(dict):
2754
+ def __init__(__self__, *,
2755
+ location: Optional[str] = None,
2756
+ state: Optional[str] = None):
2757
+ """
2758
+ :param str location: The cloud location of the deployment group, currently restricted to `global`.
2759
+ :param str state: (Output)
2760
+ The current state of the association in this location.
2761
+ Possible values:
2762
+ STATE_UNSPECIFIED
2763
+ ACTIVE
2764
+ OUT_OF_SYNC
2765
+ """
2766
+ if location is not None:
2767
+ pulumi.set(__self__, "location", location)
2768
+ if state is not None:
2769
+ pulumi.set(__self__, "state", state)
2770
+
2771
+ @property
2772
+ @pulumi.getter
2773
+ def location(self) -> Optional[str]:
2774
+ """
2775
+ The cloud location of the deployment group, currently restricted to `global`.
2776
+ """
2777
+ return pulumi.get(self, "location")
2778
+
2779
+ @property
2780
+ @pulumi.getter
2781
+ def state(self) -> Optional[str]:
2782
+ """
2783
+ (Output)
2784
+ The current state of the association in this location.
2785
+ Possible values:
2786
+ STATE_UNSPECIFIED
2787
+ ACTIVE
2788
+ OUT_OF_SYNC
2789
+ """
2790
+ return pulumi.get(self, "state")
2791
+
2792
+
2793
+ @pulumi.output_type
2794
+ class MirroringEndpointGroupAssociation(dict):
2795
+ def __init__(__self__, *,
2796
+ name: Optional[str] = None,
2797
+ network: Optional[str] = None,
2798
+ state: Optional[str] = None):
2799
+ """
2800
+ :param str name: (Output)
2801
+ The connected deployment group's resource name, for example:
2802
+ `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`.
2803
+ See https://google.aip.dev/124.
2804
+ :param str network: (Output)
2805
+ The associated network, for example:
2806
+ projects/123456789/global/networks/my-network.
2807
+ See https://google.aip.dev/124.
2808
+ :param str state: (Output)
2809
+ The current state of the association in this location.
2810
+ Possible values:
2811
+ STATE_UNSPECIFIED
2812
+ ACTIVE
2813
+ OUT_OF_SYNC
2814
+ """
2815
+ if name is not None:
2816
+ pulumi.set(__self__, "name", name)
2817
+ if network is not None:
2818
+ pulumi.set(__self__, "network", network)
2819
+ if state is not None:
2820
+ pulumi.set(__self__, "state", state)
2821
+
2822
+ @property
2823
+ @pulumi.getter
2824
+ def name(self) -> Optional[str]:
2825
+ """
2826
+ (Output)
2827
+ The connected deployment group's resource name, for example:
2828
+ `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`.
2829
+ See https://google.aip.dev/124.
2830
+ """
2831
+ return pulumi.get(self, "name")
2832
+
2833
+ @property
2834
+ @pulumi.getter
2835
+ def network(self) -> Optional[str]:
2836
+ """
2837
+ (Output)
2838
+ The associated network, for example:
2839
+ projects/123456789/global/networks/my-network.
2840
+ See https://google.aip.dev/124.
2841
+ """
2842
+ return pulumi.get(self, "network")
2843
+
2844
+ @property
2845
+ @pulumi.getter
2846
+ def state(self) -> Optional[str]:
2847
+ """
2848
+ (Output)
2849
+ The current state of the association in this location.
2850
+ Possible values:
2851
+ STATE_UNSPECIFIED
2852
+ ACTIVE
2853
+ OUT_OF_SYNC
2854
+ """
2855
+ return pulumi.get(self, "state")
2856
+
2857
+
2858
+ @pulumi.output_type
2859
+ class MirroringEndpointGroupAssociationLocation(dict):
2860
+ def __init__(__self__, *,
2861
+ location: Optional[str] = None,
2862
+ state: Optional[str] = None):
2863
+ """
2864
+ :param str location: The cloud location of the association, currently restricted to `global`.
2865
+
2866
+
2867
+ - - -
2868
+ :param str state: (Output)
2869
+ The current state of the association in this location.
2870
+ Possible values:
2871
+ STATE_UNSPECIFIED
2872
+ ACTIVE
2873
+ OUT_OF_SYNC
2874
+ """
2875
+ if location is not None:
2876
+ pulumi.set(__self__, "location", location)
2877
+ if state is not None:
2878
+ pulumi.set(__self__, "state", state)
2879
+
2880
+ @property
2881
+ @pulumi.getter
2882
+ def location(self) -> Optional[str]:
2883
+ """
2884
+ The cloud location of the association, currently restricted to `global`.
2885
+
2886
+
2887
+ - - -
2888
+ """
2889
+ return pulumi.get(self, "location")
2890
+
2891
+ @property
2892
+ @pulumi.getter
2893
+ def state(self) -> Optional[str]:
2894
+ """
2895
+ (Output)
2896
+ The current state of the association in this location.
2897
+ Possible values:
2898
+ STATE_UNSPECIFIED
2899
+ ACTIVE
2900
+ OUT_OF_SYNC
2901
+ """
2902
+ return pulumi.get(self, "state")
2903
+
2904
+
2506
2905
  @pulumi.output_type
2507
2906
  class MirroringEndpointGroupAssociationLocationsDetail(dict):
2508
2907
  def __init__(__self__, *,
@@ -2550,6 +2949,88 @@ class MirroringEndpointGroupAssociationLocationsDetail(dict):
2550
2949
  return pulumi.get(self, "state")
2551
2950
 
2552
2951
 
2952
+ @pulumi.output_type
2953
+ class MirroringEndpointGroupConnectedDeploymentGroup(dict):
2954
+ def __init__(__self__, *,
2955
+ locations: Optional[Sequence['outputs.MirroringEndpointGroupConnectedDeploymentGroupLocation']] = None,
2956
+ name: Optional[str] = None):
2957
+ """
2958
+ :param Sequence['MirroringEndpointGroupConnectedDeploymentGroupLocationArgs'] locations: (Output)
2959
+ The list of locations where the deployment group is present.
2960
+ Structure is documented below.
2961
+ :param str name: (Output)
2962
+ The connected deployment group's resource name, for example:
2963
+ `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`.
2964
+ See https://google.aip.dev/124.
2965
+ """
2966
+ if locations is not None:
2967
+ pulumi.set(__self__, "locations", locations)
2968
+ if name is not None:
2969
+ pulumi.set(__self__, "name", name)
2970
+
2971
+ @property
2972
+ @pulumi.getter
2973
+ def locations(self) -> Optional[Sequence['outputs.MirroringEndpointGroupConnectedDeploymentGroupLocation']]:
2974
+ """
2975
+ (Output)
2976
+ The list of locations where the deployment group is present.
2977
+ Structure is documented below.
2978
+ """
2979
+ return pulumi.get(self, "locations")
2980
+
2981
+ @property
2982
+ @pulumi.getter
2983
+ def name(self) -> Optional[str]:
2984
+ """
2985
+ (Output)
2986
+ The connected deployment group's resource name, for example:
2987
+ `projects/123456789/locations/global/mirroringDeploymentGroups/my-dg`.
2988
+ See https://google.aip.dev/124.
2989
+ """
2990
+ return pulumi.get(self, "name")
2991
+
2992
+
2993
+ @pulumi.output_type
2994
+ class MirroringEndpointGroupConnectedDeploymentGroupLocation(dict):
2995
+ def __init__(__self__, *,
2996
+ location: Optional[str] = None,
2997
+ state: Optional[str] = None):
2998
+ """
2999
+ :param str location: The cloud location of the endpoint group, currently restricted to `global`.
3000
+ :param str state: (Output)
3001
+ The current state of the association in this location.
3002
+ Possible values:
3003
+ STATE_UNSPECIFIED
3004
+ ACTIVE
3005
+ OUT_OF_SYNC
3006
+ """
3007
+ if location is not None:
3008
+ pulumi.set(__self__, "location", location)
3009
+ if state is not None:
3010
+ pulumi.set(__self__, "state", state)
3011
+
3012
+ @property
3013
+ @pulumi.getter
3014
+ def location(self) -> Optional[str]:
3015
+ """
3016
+ The cloud location of the endpoint group, currently restricted to `global`.
3017
+ """
3018
+ return pulumi.get(self, "location")
3019
+
3020
+ @property
3021
+ @pulumi.getter
3022
+ def state(self) -> Optional[str]:
3023
+ """
3024
+ (Output)
3025
+ The current state of the association in this location.
3026
+ Possible values:
3027
+ STATE_UNSPECIFIED
3028
+ ACTIVE
3029
+ OUT_OF_SYNC
3030
+ """
3031
+ return pulumi.get(self, "state")
3032
+
3033
+
2553
3034
  @pulumi.output_type
2554
3035
  class SecurityProfileCustomInterceptProfile(dict):
2555
3036
  @staticmethod
@@ -2629,7 +3110,9 @@ class SecurityProfileThreatPreventionProfile(dict):
2629
3110
  @staticmethod
2630
3111
  def __key_warning(key: str):
2631
3112
  suggest = None
2632
- if key == "severityOverrides":
3113
+ if key == "antivirusOverrides":
3114
+ suggest = "antivirus_overrides"
3115
+ elif key == "severityOverrides":
2633
3116
  suggest = "severity_overrides"
2634
3117
  elif key == "threatOverrides":
2635
3118
  suggest = "threat_overrides"
@@ -2646,9 +3129,12 @@ class SecurityProfileThreatPreventionProfile(dict):
2646
3129
  return super().get(key, default)
2647
3130
 
2648
3131
  def __init__(__self__, *,
3132
+ antivirus_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileAntivirusOverride']] = None,
2649
3133
  severity_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileSeverityOverride']] = None,
2650
3134
  threat_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileThreatOverride']] = None):
2651
3135
  """
3136
+ :param Sequence['SecurityProfileThreatPreventionProfileAntivirusOverrideArgs'] antivirus_overrides: Defines what action to take for antivirus threats per protocol.
3137
+ Structure is documented below.
2652
3138
  :param Sequence['SecurityProfileThreatPreventionProfileSeverityOverrideArgs'] severity_overrides: The configuration for overriding threats actions by severity match.
2653
3139
  Structure is documented below.
2654
3140
  :param Sequence['SecurityProfileThreatPreventionProfileThreatOverrideArgs'] threat_overrides: The configuration for overriding threats actions by threat id match.
@@ -2656,11 +3142,22 @@ class SecurityProfileThreatPreventionProfile(dict):
2656
3142
  and threat overrides, the threat overrides action is applied.
2657
3143
  Structure is documented below.
2658
3144
  """
3145
+ if antivirus_overrides is not None:
3146
+ pulumi.set(__self__, "antivirus_overrides", antivirus_overrides)
2659
3147
  if severity_overrides is not None:
2660
3148
  pulumi.set(__self__, "severity_overrides", severity_overrides)
2661
3149
  if threat_overrides is not None:
2662
3150
  pulumi.set(__self__, "threat_overrides", threat_overrides)
2663
3151
 
3152
+ @property
3153
+ @pulumi.getter(name="antivirusOverrides")
3154
+ def antivirus_overrides(self) -> Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileAntivirusOverride']]:
3155
+ """
3156
+ Defines what action to take for antivirus threats per protocol.
3157
+ Structure is documented below.
3158
+ """
3159
+ return pulumi.get(self, "antivirus_overrides")
3160
+
2664
3161
  @property
2665
3162
  @pulumi.getter(name="severityOverrides")
2666
3163
  def severity_overrides(self) -> Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileSeverityOverride']]:
@@ -2682,6 +3179,39 @@ class SecurityProfileThreatPreventionProfile(dict):
2682
3179
  return pulumi.get(self, "threat_overrides")
2683
3180
 
2684
3181
 
3182
+ @pulumi.output_type
3183
+ class SecurityProfileThreatPreventionProfileAntivirusOverride(dict):
3184
+ def __init__(__self__, *,
3185
+ action: str,
3186
+ protocol: str):
3187
+ """
3188
+ :param str action: Threat action override. For some threat types, only a subset of actions applies.
3189
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
3190
+ :param str protocol: Required protocol to match.
3191
+ Possible values are: `SMTP`, `SMB`, `POP3`, `IMAP`, `HTTP2`, `HTTP`, `FTP`.
3192
+ """
3193
+ pulumi.set(__self__, "action", action)
3194
+ pulumi.set(__self__, "protocol", protocol)
3195
+
3196
+ @property
3197
+ @pulumi.getter
3198
+ def action(self) -> str:
3199
+ """
3200
+ Threat action override. For some threat types, only a subset of actions applies.
3201
+ Possible values are: `ALERT`, `ALLOW`, `DEFAULT_ACTION`, `DENY`.
3202
+ """
3203
+ return pulumi.get(self, "action")
3204
+
3205
+ @property
3206
+ @pulumi.getter
3207
+ def protocol(self) -> str:
3208
+ """
3209
+ Required protocol to match.
3210
+ Possible values are: `SMTP`, `SMB`, `POP3`, `IMAP`, `HTTP2`, `HTTP`, `FTP`.
3211
+ """
3212
+ return pulumi.get(self, "protocol")
3213
+
3214
+
2685
3215
  @pulumi.output_type
2686
3216
  class SecurityProfileThreatPreventionProfileSeverityOverride(dict):
2687
3217
  def __init__(__self__, *,
@@ -546,6 +546,10 @@ class SecurityProfile(pulumi.CustomResource):
546
546
  "action": "ALLOW",
547
547
  "threat_id": "280647",
548
548
  }],
549
+ "antivirus_overrides": [{
550
+ "protocol": "SMTP",
551
+ "action": "ALLOW",
552
+ }],
549
553
  })
550
554
  ```
551
555
  ### Network Security Security Profile Mirroring
@@ -697,6 +701,10 @@ class SecurityProfile(pulumi.CustomResource):
697
701
  "action": "ALLOW",
698
702
  "threat_id": "280647",
699
703
  }],
704
+ "antivirus_overrides": [{
705
+ "protocol": "SMTP",
706
+ "action": "ALLOW",
707
+ }],
700
708
  })
701
709
  ```
702
710
  ### Network Security Security Profile Mirroring
@@ -13,6 +13,8 @@ from .get_client_config import *
13
13
  from .get_client_open_id_user_info import *
14
14
  from .get_folder import *
15
15
  from .get_folders import *
16
+ from .get_iam_custom_role import *
17
+ from .get_iam_custom_roles import *
16
18
  from .get_iam_policy import *
17
19
  from .get_organization import *
18
20
  from .get_project import *