pulumi-gcp 8.25.0a1743489606__py3-none-any.whl → 8.25.0a1743706148__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 (126) hide show
  1. pulumi_gcp/__init__.py +104 -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/reservation_assignment.py +7 -7
  11. pulumi_gcp/bigtable/table.py +8 -8
  12. pulumi_gcp/chronicle/data_access_label.py +2 -2
  13. pulumi_gcp/chronicle/data_access_scope.py +16 -0
  14. pulumi_gcp/chronicle/reference_list.py +16 -0
  15. pulumi_gcp/chronicle/retrohunt.py +16 -0
  16. pulumi_gcp/chronicle/rule.py +16 -0
  17. pulumi_gcp/chronicle/rule_deployment.py +16 -0
  18. pulumi_gcp/chronicle/watchlist.py +16 -0
  19. pulumi_gcp/cloudfunctionsv2/_inputs.py +20 -0
  20. pulumi_gcp/cloudfunctionsv2/outputs.py +25 -0
  21. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  22. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  23. pulumi_gcp/compute/__init__.py +1 -0
  24. pulumi_gcp/compute/_inputs.py +2011 -43
  25. pulumi_gcp/compute/backend_service.py +121 -3
  26. pulumi_gcp/compute/get_backend_service.py +15 -4
  27. pulumi_gcp/compute/get_instance.py +12 -1
  28. pulumi_gcp/compute/get_region_backend_service.py +482 -0
  29. pulumi_gcp/compute/get_router.py +12 -1
  30. pulumi_gcp/compute/get_subnetwork.py +43 -1
  31. pulumi_gcp/compute/instance.py +47 -0
  32. pulumi_gcp/compute/instance_from_machine_image.py +94 -0
  33. pulumi_gcp/compute/instance_from_template.py +47 -0
  34. pulumi_gcp/compute/outputs.py +3578 -139
  35. pulumi_gcp/compute/public_delegated_prefix.py +69 -15
  36. pulumi_gcp/compute/router.py +54 -0
  37. pulumi_gcp/compute/subnetwork.py +35 -5
  38. pulumi_gcp/config/__init__.pyi +2 -0
  39. pulumi_gcp/config/outputs.py +27 -0
  40. pulumi_gcp/config/vars.py +4 -0
  41. pulumi_gcp/container/_inputs.py +12 -12
  42. pulumi_gcp/container/cluster.py +47 -0
  43. pulumi_gcp/container/get_cluster.py +12 -1
  44. pulumi_gcp/container/get_registry_image.py +4 -0
  45. pulumi_gcp/container/get_registry_repository.py +4 -0
  46. pulumi_gcp/container/outputs.py +8 -8
  47. pulumi_gcp/container/registry.py +4 -0
  48. pulumi_gcp/datafusion/instance.py +68 -0
  49. pulumi_gcp/dataproc/__init__.py +8 -0
  50. pulumi_gcp/dataproc/_inputs.py +196 -0
  51. pulumi_gcp/dataproc/get_metastore_database_iam_policy.py +193 -0
  52. pulumi_gcp/dataproc/get_metastore_table_iam_policy.py +210 -0
  53. pulumi_gcp/dataproc/metastore_database_iam_binding.py +848 -0
  54. pulumi_gcp/dataproc/metastore_database_iam_member.py +848 -0
  55. pulumi_gcp/dataproc/metastore_database_iam_policy.py +687 -0
  56. pulumi_gcp/dataproc/metastore_federation.py +38 -2
  57. pulumi_gcp/dataproc/metastore_table_iam_binding.py +895 -0
  58. pulumi_gcp/dataproc/metastore_table_iam_member.py +895 -0
  59. pulumi_gcp/dataproc/metastore_table_iam_policy.py +734 -0
  60. pulumi_gcp/dataproc/outputs.py +112 -0
  61. pulumi_gcp/datastream/_inputs.py +311 -94
  62. pulumi_gcp/datastream/connection_profile.py +40 -0
  63. pulumi_gcp/datastream/outputs.py +244 -51
  64. pulumi_gcp/datastream/stream.py +216 -0
  65. pulumi_gcp/discoveryengine/__init__.py +1 -0
  66. pulumi_gcp/discoveryengine/sitemap.py +504 -0
  67. pulumi_gcp/eventarc/__init__.py +1 -0
  68. pulumi_gcp/eventarc/enrollment.py +980 -0
  69. pulumi_gcp/firebase/__init__.py +1 -0
  70. pulumi_gcp/firebase/_inputs.py +484 -0
  71. pulumi_gcp/firebase/app_hosting_build.py +1232 -0
  72. pulumi_gcp/firebase/outputs.py +333 -0
  73. pulumi_gcp/identityplatform/_inputs.py +91 -0
  74. pulumi_gcp/identityplatform/outputs.py +73 -0
  75. pulumi_gcp/identityplatform/tenant.py +56 -0
  76. pulumi_gcp/managedkafka/cluster.py +2 -2
  77. pulumi_gcp/memorystore/__init__.py +1 -0
  78. pulumi_gcp/memorystore/_inputs.py +826 -0
  79. pulumi_gcp/memorystore/get_instance.py +23 -1
  80. pulumi_gcp/memorystore/instance.py +344 -23
  81. pulumi_gcp/memorystore/instance_desired_user_created_endpoints.py +843 -0
  82. pulumi_gcp/memorystore/outputs.py +889 -8
  83. pulumi_gcp/networksecurity/_inputs.py +473 -0
  84. pulumi_gcp/networksecurity/mirroring_deployment_group.py +44 -16
  85. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +94 -36
  86. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +53 -8
  87. pulumi_gcp/networksecurity/outputs.py +291 -1
  88. pulumi_gcp/networksecurity/security_profile.py +8 -0
  89. pulumi_gcp/organizations/__init__.py +1 -0
  90. pulumi_gcp/organizations/get_iam_custom_roles.py +164 -0
  91. pulumi_gcp/organizations/outputs.py +96 -0
  92. pulumi_gcp/parametermanager/get_parameter.py +16 -1
  93. pulumi_gcp/parametermanager/get_parameter_version.py +19 -1
  94. pulumi_gcp/parametermanager/get_parameter_version_render.py +4 -0
  95. pulumi_gcp/parametermanager/get_parameters.py +4 -0
  96. pulumi_gcp/parametermanager/get_regional_parameter.py +4 -0
  97. pulumi_gcp/parametermanager/get_regional_parameter_version.py +4 -0
  98. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +8 -0
  99. pulumi_gcp/parametermanager/get_regional_parameters.py +4 -0
  100. pulumi_gcp/parametermanager/outputs.py +11 -0
  101. pulumi_gcp/parametermanager/parameter.py +88 -0
  102. pulumi_gcp/parametermanager/parameter_version.py +74 -0
  103. pulumi_gcp/parametermanager/regional_parameter.py +12 -0
  104. pulumi_gcp/parametermanager/regional_parameter_version.py +12 -0
  105. pulumi_gcp/provider.py +15 -0
  106. pulumi_gcp/pulumi-plugin.json +1 -1
  107. pulumi_gcp/redis/_inputs.py +136 -0
  108. pulumi_gcp/redis/cluster.py +54 -0
  109. pulumi_gcp/redis/outputs.py +114 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +0 -16
  111. pulumi_gcp/storage/__init__.py +4 -0
  112. pulumi_gcp/storage/_inputs.py +596 -0
  113. pulumi_gcp/storage/bucket.py +7 -7
  114. pulumi_gcp/storage/control_folder_intelligence_config.py +420 -0
  115. pulumi_gcp/storage/control_organization_intelligence_config.py +420 -0
  116. pulumi_gcp/storage/control_project_intelligence_config.py +49 -7
  117. pulumi_gcp/storage/get_bucket_object_content.py +16 -1
  118. pulumi_gcp/storage/get_control_folder_intelligence_config.py +160 -0
  119. pulumi_gcp/storage/get_control_organization_intelligence_config.py +160 -0
  120. pulumi_gcp/storage/get_control_project_intelligence_config.py +32 -2
  121. pulumi_gcp/storage/outputs.py +2132 -1312
  122. pulumi_gcp/workbench/instance.py +14 -2
  123. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/METADATA +1 -1
  124. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/RECORD +126 -107
  125. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/WHEEL +0 -0
  126. {pulumi_gcp-8.25.0a1743489606.dist-info → pulumi_gcp-8.25.0a1743706148.dist-info}/top_level.txt +0 -0
@@ -65,10 +65,16 @@ __all__ = [
65
65
  'InterceptEndpointGroupConnectedDeploymentGroup',
66
66
  'InterceptEndpointGroupConnectedDeploymentGroupLocation',
67
67
  'MirroringDeploymentGroupConnectedEndpointGroup',
68
+ 'MirroringDeploymentGroupLocation',
69
+ 'MirroringEndpointGroupAssociation',
70
+ 'MirroringEndpointGroupAssociationLocation',
68
71
  'MirroringEndpointGroupAssociationLocationsDetail',
72
+ 'MirroringEndpointGroupConnectedDeploymentGroup',
73
+ 'MirroringEndpointGroupConnectedDeploymentGroupLocation',
69
74
  'SecurityProfileCustomInterceptProfile',
70
75
  'SecurityProfileCustomMirroringProfile',
71
76
  'SecurityProfileThreatPreventionProfile',
77
+ 'SecurityProfileThreatPreventionProfileAntivirusOverride',
72
78
  'SecurityProfileThreatPreventionProfileSeverityOverride',
73
79
  'SecurityProfileThreatPreventionProfileThreatOverride',
74
80
  'ServerTlsPolicyMtlsPolicy',
@@ -2743,6 +2749,159 @@ class MirroringDeploymentGroupConnectedEndpointGroup(dict):
2743
2749
  return pulumi.get(self, "name")
2744
2750
 
2745
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
+
2746
2905
  @pulumi.output_type
2747
2906
  class MirroringEndpointGroupAssociationLocationsDetail(dict):
2748
2907
  def __init__(__self__, *,
@@ -2790,6 +2949,88 @@ class MirroringEndpointGroupAssociationLocationsDetail(dict):
2790
2949
  return pulumi.get(self, "state")
2791
2950
 
2792
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
+
2793
3034
  @pulumi.output_type
2794
3035
  class SecurityProfileCustomInterceptProfile(dict):
2795
3036
  @staticmethod
@@ -2869,7 +3110,9 @@ class SecurityProfileThreatPreventionProfile(dict):
2869
3110
  @staticmethod
2870
3111
  def __key_warning(key: str):
2871
3112
  suggest = None
2872
- if key == "severityOverrides":
3113
+ if key == "antivirusOverrides":
3114
+ suggest = "antivirus_overrides"
3115
+ elif key == "severityOverrides":
2873
3116
  suggest = "severity_overrides"
2874
3117
  elif key == "threatOverrides":
2875
3118
  suggest = "threat_overrides"
@@ -2886,9 +3129,12 @@ class SecurityProfileThreatPreventionProfile(dict):
2886
3129
  return super().get(key, default)
2887
3130
 
2888
3131
  def __init__(__self__, *,
3132
+ antivirus_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileAntivirusOverride']] = None,
2889
3133
  severity_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileSeverityOverride']] = None,
2890
3134
  threat_overrides: Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileThreatOverride']] = None):
2891
3135
  """
3136
+ :param Sequence['SecurityProfileThreatPreventionProfileAntivirusOverrideArgs'] antivirus_overrides: Defines what action to take for antivirus threats per protocol.
3137
+ Structure is documented below.
2892
3138
  :param Sequence['SecurityProfileThreatPreventionProfileSeverityOverrideArgs'] severity_overrides: The configuration for overriding threats actions by severity match.
2893
3139
  Structure is documented below.
2894
3140
  :param Sequence['SecurityProfileThreatPreventionProfileThreatOverrideArgs'] threat_overrides: The configuration for overriding threats actions by threat id match.
@@ -2896,11 +3142,22 @@ class SecurityProfileThreatPreventionProfile(dict):
2896
3142
  and threat overrides, the threat overrides action is applied.
2897
3143
  Structure is documented below.
2898
3144
  """
3145
+ if antivirus_overrides is not None:
3146
+ pulumi.set(__self__, "antivirus_overrides", antivirus_overrides)
2899
3147
  if severity_overrides is not None:
2900
3148
  pulumi.set(__self__, "severity_overrides", severity_overrides)
2901
3149
  if threat_overrides is not None:
2902
3150
  pulumi.set(__self__, "threat_overrides", threat_overrides)
2903
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
+
2904
3161
  @property
2905
3162
  @pulumi.getter(name="severityOverrides")
2906
3163
  def severity_overrides(self) -> Optional[Sequence['outputs.SecurityProfileThreatPreventionProfileSeverityOverride']]:
@@ -2922,6 +3179,39 @@ class SecurityProfileThreatPreventionProfile(dict):
2922
3179
  return pulumi.get(self, "threat_overrides")
2923
3180
 
2924
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
+
2925
3215
  @pulumi.output_type
2926
3216
  class SecurityProfileThreatPreventionProfileSeverityOverride(dict):
2927
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
@@ -14,6 +14,7 @@ from .get_client_open_id_user_info import *
14
14
  from .get_folder import *
15
15
  from .get_folders import *
16
16
  from .get_iam_custom_role import *
17
+ from .get_iam_custom_roles import *
17
18
  from .get_iam_policy import *
18
19
  from .get_organization import *
19
20
  from .get_project import *
@@ -0,0 +1,164 @@
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 sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetIamCustomRolesResult',
20
+ 'AwaitableGetIamCustomRolesResult',
21
+ 'get_iam_custom_roles',
22
+ 'get_iam_custom_roles_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetIamCustomRolesResult:
27
+ """
28
+ A collection of values returned by getIamCustomRoles.
29
+ """
30
+ def __init__(__self__, id=None, org_id=None, roles=None, show_deleted=None, view=None):
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 org_id and not isinstance(org_id, str):
35
+ raise TypeError("Expected argument 'org_id' to be a str")
36
+ pulumi.set(__self__, "org_id", org_id)
37
+ if roles and not isinstance(roles, list):
38
+ raise TypeError("Expected argument 'roles' to be a list")
39
+ pulumi.set(__self__, "roles", roles)
40
+ if show_deleted and not isinstance(show_deleted, bool):
41
+ raise TypeError("Expected argument 'show_deleted' to be a bool")
42
+ pulumi.set(__self__, "show_deleted", show_deleted)
43
+ if view and not isinstance(view, str):
44
+ raise TypeError("Expected argument 'view' to be a str")
45
+ pulumi.set(__self__, "view", view)
46
+
47
+ @property
48
+ @pulumi.getter
49
+ def id(self) -> str:
50
+ """
51
+ The provider-assigned unique ID for this managed resource.
52
+ """
53
+ return pulumi.get(self, "id")
54
+
55
+ @property
56
+ @pulumi.getter(name="orgId")
57
+ def org_id(self) -> Optional[str]:
58
+ return pulumi.get(self, "org_id")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def roles(self) -> Sequence['outputs.GetIamCustomRolesRoleResult']:
63
+ """
64
+ A list of all retrieved custom roles roles. Structure is defined below.
65
+ """
66
+ return pulumi.get(self, "roles")
67
+
68
+ @property
69
+ @pulumi.getter(name="showDeleted")
70
+ def show_deleted(self) -> Optional[bool]:
71
+ return pulumi.get(self, "show_deleted")
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def view(self) -> Optional[str]:
76
+ return pulumi.get(self, "view")
77
+
78
+
79
+ class AwaitableGetIamCustomRolesResult(GetIamCustomRolesResult):
80
+ # pylint: disable=using-constant-test
81
+ def __await__(self):
82
+ if False:
83
+ yield self
84
+ return GetIamCustomRolesResult(
85
+ id=self.id,
86
+ org_id=self.org_id,
87
+ roles=self.roles,
88
+ show_deleted=self.show_deleted,
89
+ view=self.view)
90
+
91
+
92
+ def get_iam_custom_roles(org_id: Optional[str] = None,
93
+ show_deleted: Optional[bool] = None,
94
+ view: Optional[str] = None,
95
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIamCustomRolesResult:
96
+ """
97
+ Get information about a Google Cloud Organization IAM Custom Roles.
98
+ Note that you must have the `roles/iam.organizationRoleViewer`.
99
+ See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
100
+ and [API](https://cloud.google.com/iam/docs/reference/rest/v1/organizations.roles/list).
101
+
102
+ ```python
103
+ import pulumi
104
+ import pulumi_gcp as gcp
105
+
106
+ example = gcp.organizations.get_iam_custom_roles(org_id="1234567890",
107
+ show_deleted=True,
108
+ view="FULL")
109
+ ```
110
+
111
+
112
+ :param str org_id: The numeric ID of the organization.
113
+ :param bool show_deleted: Include Roles that have been deleted. Defaults to `false`.
114
+ :param str view: When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
115
+ """
116
+ __args__ = dict()
117
+ __args__['orgId'] = org_id
118
+ __args__['showDeleted'] = show_deleted
119
+ __args__['view'] = view
120
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
121
+ __ret__ = pulumi.runtime.invoke('gcp:organizations/getIamCustomRoles:getIamCustomRoles', __args__, opts=opts, typ=GetIamCustomRolesResult).value
122
+
123
+ return AwaitableGetIamCustomRolesResult(
124
+ id=pulumi.get(__ret__, 'id'),
125
+ org_id=pulumi.get(__ret__, 'org_id'),
126
+ roles=pulumi.get(__ret__, 'roles'),
127
+ show_deleted=pulumi.get(__ret__, 'show_deleted'),
128
+ view=pulumi.get(__ret__, 'view'))
129
+ def get_iam_custom_roles_output(org_id: Optional[pulumi.Input[Optional[str]]] = None,
130
+ show_deleted: Optional[pulumi.Input[Optional[bool]]] = None,
131
+ view: Optional[pulumi.Input[Optional[str]]] = None,
132
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamCustomRolesResult]:
133
+ """
134
+ Get information about a Google Cloud Organization IAM Custom Roles.
135
+ Note that you must have the `roles/iam.organizationRoleViewer`.
136
+ See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
137
+ and [API](https://cloud.google.com/iam/docs/reference/rest/v1/organizations.roles/list).
138
+
139
+ ```python
140
+ import pulumi
141
+ import pulumi_gcp as gcp
142
+
143
+ example = gcp.organizations.get_iam_custom_roles(org_id="1234567890",
144
+ show_deleted=True,
145
+ view="FULL")
146
+ ```
147
+
148
+
149
+ :param str org_id: The numeric ID of the organization.
150
+ :param bool show_deleted: Include Roles that have been deleted. Defaults to `false`.
151
+ :param str view: When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
152
+ """
153
+ __args__ = dict()
154
+ __args__['orgId'] = org_id
155
+ __args__['showDeleted'] = show_deleted
156
+ __args__['view'] = view
157
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
158
+ __ret__ = pulumi.runtime.invoke_output('gcp:organizations/getIamCustomRoles:getIamCustomRoles', __args__, opts=opts, typ=GetIamCustomRolesResult)
159
+ return __ret__.apply(lambda __response__: GetIamCustomRolesResult(
160
+ id=pulumi.get(__response__, 'id'),
161
+ org_id=pulumi.get(__response__, 'org_id'),
162
+ roles=pulumi.get(__response__, 'roles'),
163
+ show_deleted=pulumi.get(__response__, 'show_deleted'),
164
+ view=pulumi.get(__response__, 'view')))
@@ -30,6 +30,7 @@ __all__ = [
30
30
  'GetIAMPolicyAuditConfigAuditLogConfigResult',
31
31
  'GetIAMPolicyBindingResult',
32
32
  'GetIAMPolicyBindingConditionResult',
33
+ 'GetIamCustomRolesRoleResult',
33
34
  'GetSOrganizationResult',
34
35
  ]
35
36
 
@@ -677,6 +678,101 @@ class GetIAMPolicyBindingConditionResult(dict):
677
678
  return pulumi.get(self, "description")
678
679
 
679
680
 
681
+ @pulumi.output_type
682
+ class GetIamCustomRolesRoleResult(dict):
683
+ def __init__(__self__, *,
684
+ deleted: bool,
685
+ description: str,
686
+ id: str,
687
+ name: str,
688
+ permissions: Sequence[str],
689
+ role_id: str,
690
+ stage: str,
691
+ title: str):
692
+ """
693
+ :param bool deleted: The current deleted state of the role.
694
+ :param str description: A human-readable description for the role.
695
+ :param str id: an identifier for the resource with the format `organizations/{{org_id}}/roles/{{role_id}}`.
696
+ :param str name: The name of the role in the format `organizations/{{org_id}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
697
+ :param Sequence[str] permissions: The names of the permissions this role grants when bound in an IAM policy.
698
+ :param str role_id: The camel case role id used for this role.
699
+ :param str stage: The current launch stage of the role. List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
700
+ :param str title: A human-readable title for the role.
701
+ """
702
+ pulumi.set(__self__, "deleted", deleted)
703
+ pulumi.set(__self__, "description", description)
704
+ pulumi.set(__self__, "id", id)
705
+ pulumi.set(__self__, "name", name)
706
+ pulumi.set(__self__, "permissions", permissions)
707
+ pulumi.set(__self__, "role_id", role_id)
708
+ pulumi.set(__self__, "stage", stage)
709
+ pulumi.set(__self__, "title", title)
710
+
711
+ @property
712
+ @pulumi.getter
713
+ def deleted(self) -> bool:
714
+ """
715
+ The current deleted state of the role.
716
+ """
717
+ return pulumi.get(self, "deleted")
718
+
719
+ @property
720
+ @pulumi.getter
721
+ def description(self) -> str:
722
+ """
723
+ A human-readable description for the role.
724
+ """
725
+ return pulumi.get(self, "description")
726
+
727
+ @property
728
+ @pulumi.getter
729
+ def id(self) -> str:
730
+ """
731
+ an identifier for the resource with the format `organizations/{{org_id}}/roles/{{role_id}}`.
732
+ """
733
+ return pulumi.get(self, "id")
734
+
735
+ @property
736
+ @pulumi.getter
737
+ def name(self) -> str:
738
+ """
739
+ The name of the role in the format `organizations/{{org_id}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
740
+ """
741
+ return pulumi.get(self, "name")
742
+
743
+ @property
744
+ @pulumi.getter
745
+ def permissions(self) -> Sequence[str]:
746
+ """
747
+ The names of the permissions this role grants when bound in an IAM policy.
748
+ """
749
+ return pulumi.get(self, "permissions")
750
+
751
+ @property
752
+ @pulumi.getter(name="roleId")
753
+ def role_id(self) -> str:
754
+ """
755
+ The camel case role id used for this role.
756
+ """
757
+ return pulumi.get(self, "role_id")
758
+
759
+ @property
760
+ @pulumi.getter
761
+ def stage(self) -> str:
762
+ """
763
+ The current launch stage of the role. List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
764
+ """
765
+ return pulumi.get(self, "stage")
766
+
767
+ @property
768
+ @pulumi.getter
769
+ def title(self) -> str:
770
+ """
771
+ A human-readable title for the role.
772
+ """
773
+ return pulumi.get(self, "title")
774
+
775
+
680
776
  @pulumi.output_type
681
777
  class GetSOrganizationResult(dict):
682
778
  def __init__(__self__, *,