pulumi-gcp 8.18.0a1738650987__py3-none-any.whl → 8.19.0a1738736844__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 (69) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/user.py +10 -1
  4. pulumi_gcp/assuredworkloads/workload.py +7 -7
  5. pulumi_gcp/beyondcorp/__init__.py +4 -0
  6. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  7. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  8. pulumi_gcp/beyondcorp/outputs.py +76 -0
  9. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  10. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  11. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  12. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  13. pulumi_gcp/bigquery/_inputs.py +33 -0
  14. pulumi_gcp/bigquery/dataset.py +7 -7
  15. pulumi_gcp/bigquery/outputs.py +36 -0
  16. pulumi_gcp/bigquery/table.py +61 -7
  17. pulumi_gcp/chronicle/retrohunt.py +0 -16
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  19. pulumi_gcp/compute/_inputs.py +9 -9
  20. pulumi_gcp/compute/get_network.py +3 -3
  21. pulumi_gcp/compute/network.py +7 -7
  22. pulumi_gcp/compute/outputs.py +6 -6
  23. pulumi_gcp/compute/router_peer.py +112 -0
  24. pulumi_gcp/container/_inputs.py +79 -20
  25. pulumi_gcp/container/outputs.py +75 -12
  26. pulumi_gcp/dataproc/_inputs.py +34 -0
  27. pulumi_gcp/dataproc/outputs.py +37 -0
  28. pulumi_gcp/dataproc/workflow_template.py +47 -0
  29. pulumi_gcp/firestore/field.py +60 -0
  30. pulumi_gcp/gkehub/_inputs.py +20 -0
  31. pulumi_gcp/gkehub/membership_binding.py +6 -6
  32. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  33. pulumi_gcp/gkehub/namespace.py +4 -4
  34. pulumi_gcp/gkehub/outputs.py +26 -1
  35. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  36. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  37. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  38. pulumi_gcp/netapp/storage_pool.py +1 -1
  39. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  40. pulumi_gcp/orgpolicy/policy.py +2 -2
  41. pulumi_gcp/parametermanager/__init__.py +3 -0
  42. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  43. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  44. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  45. pulumi_gcp/parametermanager/outputs.py +156 -0
  46. pulumi_gcp/pubsub/_inputs.py +264 -0
  47. pulumi_gcp/pubsub/outputs.py +353 -0
  48. pulumi_gcp/pubsub/subscription.py +6 -6
  49. pulumi_gcp/pubsub/topic.py +70 -0
  50. pulumi_gcp/pulumi-plugin.json +1 -1
  51. pulumi_gcp/resourcemanager/lien.py +12 -0
  52. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  53. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  54. pulumi_gcp/secretmanager/secret.py +4 -0
  55. pulumi_gcp/secretmanager/secret_version.py +12 -0
  56. pulumi_gcp/securityposture/posture.py +4 -0
  57. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  58. pulumi_gcp/serviceaccount/get_s.py +98 -8
  59. pulumi_gcp/spanner/_inputs.py +68 -0
  60. pulumi_gcp/spanner/backup_schedule.py +70 -4
  61. pulumi_gcp/spanner/outputs.py +60 -0
  62. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  63. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  64. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  65. pulumi_gcp/workflows/workflow.py +175 -0
  66. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/METADATA +1 -1
  67. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/RECORD +69 -62
  68. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/WHEEL +0 -0
  69. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0a1738736844.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -1162,6 +1162,30 @@ _utilities.register(
1162
1162
  "gcp:beyondcorp/securityGateway:SecurityGateway": "SecurityGateway"
1163
1163
  }
1164
1164
  },
1165
+ {
1166
+ "pkg": "gcp",
1167
+ "mod": "beyondcorp/securityGatewayIamBinding",
1168
+ "fqn": "pulumi_gcp.beyondcorp",
1169
+ "classes": {
1170
+ "gcp:beyondcorp/securityGatewayIamBinding:SecurityGatewayIamBinding": "SecurityGatewayIamBinding"
1171
+ }
1172
+ },
1173
+ {
1174
+ "pkg": "gcp",
1175
+ "mod": "beyondcorp/securityGatewayIamMember",
1176
+ "fqn": "pulumi_gcp.beyondcorp",
1177
+ "classes": {
1178
+ "gcp:beyondcorp/securityGatewayIamMember:SecurityGatewayIamMember": "SecurityGatewayIamMember"
1179
+ }
1180
+ },
1181
+ {
1182
+ "pkg": "gcp",
1183
+ "mod": "beyondcorp/securityGatewayIamPolicy",
1184
+ "fqn": "pulumi_gcp.beyondcorp",
1185
+ "classes": {
1186
+ "gcp:beyondcorp/securityGatewayIamPolicy:SecurityGatewayIamPolicy": "SecurityGatewayIamPolicy"
1187
+ }
1188
+ },
1165
1189
  {
1166
1190
  "pkg": "gcp",
1167
1191
  "mod": "biglake/catalog",
@@ -68,11 +68,13 @@ class ServicePerimeterDryRunResourceArgs:
68
68
  class _ServicePerimeterDryRunResourceState:
69
69
  def __init__(__self__, *,
70
70
  access_policy_id: Optional[pulumi.Input[str]] = None,
71
+ etag: Optional[pulumi.Input[str]] = None,
71
72
  perimeter_name: Optional[pulumi.Input[str]] = None,
72
73
  resource: Optional[pulumi.Input[str]] = None):
73
74
  """
74
75
  Input properties used for looking up and filtering ServicePerimeterDryRunResource resources.
75
76
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
77
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of perimeter resources on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of resources. The resource to add or remove is merged into that list and then this etag is sent with the PATCH call along with the updated resource list.
76
78
  :param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
77
79
 
78
80
 
@@ -83,6 +85,8 @@ class _ServicePerimeterDryRunResourceState:
83
85
  """
84
86
  if access_policy_id is not None:
85
87
  pulumi.set(__self__, "access_policy_id", access_policy_id)
88
+ if etag is not None:
89
+ pulumi.set(__self__, "etag", etag)
86
90
  if perimeter_name is not None:
87
91
  pulumi.set(__self__, "perimeter_name", perimeter_name)
88
92
  if resource is not None:
@@ -100,6 +104,18 @@ class _ServicePerimeterDryRunResourceState:
100
104
  def access_policy_id(self, value: Optional[pulumi.Input[str]]):
101
105
  pulumi.set(self, "access_policy_id", value)
102
106
 
107
+ @property
108
+ @pulumi.getter
109
+ def etag(self) -> Optional[pulumi.Input[str]]:
110
+ """
111
+ The perimeter etag is internally used to prevent overwriting the list of perimeter resources on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of resources. The resource to add or remove is merged into that list and then this etag is sent with the PATCH call along with the updated resource list.
112
+ """
113
+ return pulumi.get(self, "etag")
114
+
115
+ @etag.setter
116
+ def etag(self, value: Optional[pulumi.Input[str]]):
117
+ pulumi.set(self, "etag", value)
118
+
103
119
  @property
104
120
  @pulumi.getter(name="perimeterName")
105
121
  def perimeter_name(self) -> Optional[pulumi.Input[str]]:
@@ -305,6 +321,7 @@ class ServicePerimeterDryRunResource(pulumi.CustomResource):
305
321
  raise TypeError("Missing required property 'resource'")
306
322
  __props__.__dict__["resource"] = resource
307
323
  __props__.__dict__["access_policy_id"] = None
324
+ __props__.__dict__["etag"] = None
308
325
  super(ServicePerimeterDryRunResource, __self__).__init__(
309
326
  'gcp:accesscontextmanager/servicePerimeterDryRunResource:ServicePerimeterDryRunResource',
310
327
  resource_name,
@@ -316,6 +333,7 @@ class ServicePerimeterDryRunResource(pulumi.CustomResource):
316
333
  id: pulumi.Input[str],
317
334
  opts: Optional[pulumi.ResourceOptions] = None,
318
335
  access_policy_id: Optional[pulumi.Input[str]] = None,
336
+ etag: Optional[pulumi.Input[str]] = None,
319
337
  perimeter_name: Optional[pulumi.Input[str]] = None,
320
338
  resource: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunResource':
321
339
  """
@@ -326,6 +344,7 @@ class ServicePerimeterDryRunResource(pulumi.CustomResource):
326
344
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
327
345
  :param pulumi.ResourceOptions opts: Options for the resource.
328
346
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
347
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of perimeter resources on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of resources. The resource to add or remove is merged into that list and then this etag is sent with the PATCH call along with the updated resource list.
329
348
  :param pulumi.Input[str] perimeter_name: The name of the Service Perimeter to add this resource to.
330
349
 
331
350
 
@@ -339,6 +358,7 @@ class ServicePerimeterDryRunResource(pulumi.CustomResource):
339
358
  __props__ = _ServicePerimeterDryRunResourceState.__new__(_ServicePerimeterDryRunResourceState)
340
359
 
341
360
  __props__.__dict__["access_policy_id"] = access_policy_id
361
+ __props__.__dict__["etag"] = etag
342
362
  __props__.__dict__["perimeter_name"] = perimeter_name
343
363
  __props__.__dict__["resource"] = resource
344
364
  return ServicePerimeterDryRunResource(resource_name, opts=opts, __props__=__props__)
@@ -351,6 +371,14 @@ class ServicePerimeterDryRunResource(pulumi.CustomResource):
351
371
  """
352
372
  return pulumi.get(self, "access_policy_id")
353
373
 
374
+ @property
375
+ @pulumi.getter
376
+ def etag(self) -> pulumi.Output[str]:
377
+ """
378
+ The perimeter etag is internally used to prevent overwriting the list of perimeter resources on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of resources. The resource to add or remove is merged into that list and then this etag is sent with the PATCH call along with the updated resource list.
379
+ """
380
+ return pulumi.get(self, "etag")
381
+
354
382
  @property
355
383
  @pulumi.getter(name="perimeterName")
356
384
  def perimeter_name(self) -> pulumi.Output[str]:
@@ -36,6 +36,7 @@ class UserArgs:
36
36
  - - -
37
37
  :param pulumi.Input[Sequence[pulumi.Input[str]]] database_roles: List of database roles this database user has.
38
38
  :param pulumi.Input[str] password: Password for this database user.
39
+ **Note**: This property is sensitive and will not be displayed in the plan.
39
40
  """
40
41
  pulumi.set(__self__, "cluster", cluster)
41
42
  pulumi.set(__self__, "user_id", user_id)
@@ -103,6 +104,7 @@ class UserArgs:
103
104
  def password(self) -> Optional[pulumi.Input[str]]:
104
105
  """
105
106
  Password for this database user.
107
+ **Note**: This property is sensitive and will not be displayed in the plan.
106
108
  """
107
109
  return pulumi.get(self, "password")
108
110
 
@@ -127,6 +129,7 @@ class _UserState:
127
129
  :param pulumi.Input[Sequence[pulumi.Input[str]]] database_roles: List of database roles this database user has.
128
130
  :param pulumi.Input[str] name: Name of the resource in the form of projects/{project}/locations/{location}/clusters/{cluster}/users/{user}.
129
131
  :param pulumi.Input[str] password: Password for this database user.
132
+ **Note**: This property is sensitive and will not be displayed in the plan.
130
133
  :param pulumi.Input[str] user_id: The database role name of the user.
131
134
  :param pulumi.Input[str] user_type: The type of this user.
132
135
  Possible values are: `ALLOYDB_BUILT_IN`, `ALLOYDB_IAM_USER`.
@@ -189,6 +192,7 @@ class _UserState:
189
192
  def password(self) -> Optional[pulumi.Input[str]]:
190
193
  """
191
194
  Password for this database user.
195
+ **Note**: This property is sensitive and will not be displayed in the plan.
192
196
  """
193
197
  return pulumi.get(self, "password")
194
198
 
@@ -357,6 +361,7 @@ class User(pulumi.CustomResource):
357
361
  'projects/{project}/locations/{location}/clusters/{cluster_id}'
358
362
  :param pulumi.Input[Sequence[pulumi.Input[str]]] database_roles: List of database roles this database user has.
359
363
  :param pulumi.Input[str] password: Password for this database user.
364
+ **Note**: This property is sensitive and will not be displayed in the plan.
360
365
  :param pulumi.Input[str] user_id: The database role name of the user.
361
366
  :param pulumi.Input[str] user_type: The type of this user.
362
367
  Possible values are: `ALLOYDB_BUILT_IN`, `ALLOYDB_IAM_USER`.
@@ -518,7 +523,7 @@ class User(pulumi.CustomResource):
518
523
  raise TypeError("Missing required property 'cluster'")
519
524
  __props__.__dict__["cluster"] = cluster
520
525
  __props__.__dict__["database_roles"] = database_roles
521
- __props__.__dict__["password"] = password
526
+ __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
522
527
  if user_id is None and not opts.urn:
523
528
  raise TypeError("Missing required property 'user_id'")
524
529
  __props__.__dict__["user_id"] = user_id
@@ -526,6 +531,8 @@ class User(pulumi.CustomResource):
526
531
  raise TypeError("Missing required property 'user_type'")
527
532
  __props__.__dict__["user_type"] = user_type
528
533
  __props__.__dict__["name"] = None
534
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"])
535
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
529
536
  super(User, __self__).__init__(
530
537
  'gcp:alloydb/user:User',
531
538
  resource_name,
@@ -554,6 +561,7 @@ class User(pulumi.CustomResource):
554
561
  :param pulumi.Input[Sequence[pulumi.Input[str]]] database_roles: List of database roles this database user has.
555
562
  :param pulumi.Input[str] name: Name of the resource in the form of projects/{project}/locations/{location}/clusters/{cluster}/users/{user}.
556
563
  :param pulumi.Input[str] password: Password for this database user.
564
+ **Note**: This property is sensitive and will not be displayed in the plan.
557
565
  :param pulumi.Input[str] user_id: The database role name of the user.
558
566
  :param pulumi.Input[str] user_type: The type of this user.
559
567
  Possible values are: `ALLOYDB_BUILT_IN`, `ALLOYDB_IAM_USER`.
@@ -603,6 +611,7 @@ class User(pulumi.CustomResource):
603
611
  def password(self) -> pulumi.Output[Optional[str]]:
604
612
  """
605
613
  Password for this database user.
614
+ **Note**: This property is sensitive and will not be displayed in the plan.
606
615
  """
607
616
  return pulumi.get(self, "password")
608
617
 
@@ -38,7 +38,7 @@ class WorkloadArgs:
38
38
  workload_options: Optional[pulumi.Input['WorkloadWorkloadOptionsArgs']] = None):
39
39
  """
40
40
  The set of arguments for constructing a Workload resource.
41
- :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
41
+ :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
42
42
  :param pulumi.Input[str] display_name: Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
43
43
  :param pulumi.Input[str] location: The location for the resource
44
44
  :param pulumi.Input[str] organization: The organization for the resource
@@ -92,7 +92,7 @@ class WorkloadArgs:
92
92
  @pulumi.getter(name="complianceRegime")
93
93
  def compliance_regime(self) -> pulumi.Input[str]:
94
94
  """
95
- Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
95
+ Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
96
96
  """
97
97
  return pulumi.get(self, "compliance_regime")
98
98
 
@@ -307,7 +307,7 @@ class _WorkloadState:
307
307
  """
308
308
  Input properties used for looking up and filtering Workload resources.
309
309
  :param pulumi.Input[str] billing_account: Optional. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.
310
- :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
310
+ :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
311
311
  :param pulumi.Input[Sequence[pulumi.Input['WorkloadComplianceStatusArgs']]] compliance_statuses: Output only. Count of active Violations in the Workload.
312
312
  :param pulumi.Input[Sequence[pulumi.Input[str]]] compliant_but_disallowed_services: Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke workloads.restrictAllowedResources endpoint to allow your project developers to use these services in their environment.
313
313
  :param pulumi.Input[str] create_time: Output only. Immutable. The Workload creation timestamp.
@@ -406,7 +406,7 @@ class _WorkloadState:
406
406
  @pulumi.getter(name="complianceRegime")
407
407
  def compliance_regime(self) -> Optional[pulumi.Input[str]]:
408
408
  """
409
- Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
409
+ Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
410
410
  """
411
411
  return pulumi.get(self, "compliance_regime")
412
412
 
@@ -853,7 +853,7 @@ class Workload(pulumi.CustomResource):
853
853
  :param str resource_name: The name of the resource.
854
854
  :param pulumi.ResourceOptions opts: Options for the resource.
855
855
  :param pulumi.Input[str] billing_account: Optional. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.
856
- :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
856
+ :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
857
857
  :param pulumi.Input[str] display_name: Required. The user-assigned display name of the Workload. When present it must be between 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, and spaces. Example: My Workload
858
858
  :param pulumi.Input[bool] enable_sovereign_controls: Optional. Indicates the sovereignty status of the given workload. Currently meant to be used by Europe/Canada customers.
859
859
  :param pulumi.Input[Union['WorkloadKmsSettingsArgs', 'WorkloadKmsSettingsArgsDict']] kms_settings: **DEPRECATED** Input only. Settings used to create a CMEK crypto key. When set, a project with a KMS CMEK key is provisioned. This field is deprecated as of Feb 28, 2022. In order to create a Keyring, callers should specify, ENCRYPTION_KEYS_PROJECT or KEYRING in ResourceSettings.resource_type field.
@@ -1129,7 +1129,7 @@ class Workload(pulumi.CustomResource):
1129
1129
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1130
1130
  :param pulumi.ResourceOptions opts: Options for the resource.
1131
1131
  :param pulumi.Input[str] billing_account: Optional. Input only. The billing account used for the resources which are direct children of workload. This billing account is initially associated with the resources created as part of Workload creation. After the initial creation of these resources, the customer can change the assigned billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF`.
1132
- :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
1132
+ :param pulumi.Input[str] compliance_regime: Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
1133
1133
  :param pulumi.Input[Sequence[pulumi.Input[Union['WorkloadComplianceStatusArgs', 'WorkloadComplianceStatusArgsDict']]]] compliance_statuses: Output only. Count of active Violations in the Workload.
1134
1134
  :param pulumi.Input[Sequence[pulumi.Input[str]]] compliant_but_disallowed_services: Output only. Urls for services which are compliant for this Assured Workload, but which are currently disallowed by the ResourceUsageRestriction org policy. Invoke workloads.restrictAllowedResources endpoint to allow your project developers to use these services in their environment.
1135
1135
  :param pulumi.Input[str] create_time: Output only. Immutable. The Workload creation timestamp.
@@ -1204,7 +1204,7 @@ class Workload(pulumi.CustomResource):
1204
1204
  @pulumi.getter(name="complianceRegime")
1205
1205
  def compliance_regime(self) -> pulumi.Output[str]:
1206
1206
  """
1207
- Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_WITH_US_SUPPORT, IRS_1075
1207
+ Required. Immutable. Compliance Regime associated with this workload. Possible values: COMPLIANCE_REGIME_UNSPECIFIED, IL4, CJIS, FEDRAMP_HIGH, FEDRAMP_MODERATE, US_REGIONAL_ACCESS, HIPAA, HITRUST, EU_REGIONS_AND_SUPPORT, CA_REGIONS_AND_SUPPORT, ITAR, AU_REGIONS_AND_US_SUPPORT, ASSURED_WORKLOADS_FOR_PARTNERS, ISR_REGIONS, ISR_REGIONS_AND_SUPPORT, CA_PROTECTED_B, IL5, IL2, JP_REGIONS_AND_SUPPORT, KSA_REGIONS_AND_SUPPORT_WITH_SOVEREIGNTY_CONTROLS, REGIONAL_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS, HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT, IRS_1075
1208
1208
  """
1209
1209
  return pulumi.get(self, "compliance_regime")
1210
1210
 
@@ -11,6 +11,10 @@ from .app_gateway import *
11
11
  from .get_app_connection import *
12
12
  from .get_app_connector import *
13
13
  from .get_app_gateway import *
14
+ from .get_security_gateway_iam_policy import *
14
15
  from .security_gateway import *
16
+ from .security_gateway_iam_binding import *
17
+ from .security_gateway_iam_member import *
18
+ from .security_gateway_iam_policy import *
15
19
  from ._inputs import *
16
20
  from . import outputs
@@ -29,6 +29,10 @@ __all__ = [
29
29
  'SecurityGatewayHubArgsDict',
30
30
  'SecurityGatewayHubInternetGatewayArgs',
31
31
  'SecurityGatewayHubInternetGatewayArgsDict',
32
+ 'SecurityGatewayIamBindingConditionArgs',
33
+ 'SecurityGatewayIamBindingConditionArgsDict',
34
+ 'SecurityGatewayIamMemberConditionArgs',
35
+ 'SecurityGatewayIamMemberConditionArgsDict',
32
36
  ]
33
37
 
34
38
  MYPY = False
@@ -404,3 +408,129 @@ class SecurityGatewayHubInternetGatewayArgs:
404
408
  pulumi.set(self, "assigned_ips", value)
405
409
 
406
410
 
411
+ if not MYPY:
412
+ class SecurityGatewayIamBindingConditionArgsDict(TypedDict):
413
+ expression: pulumi.Input[str]
414
+ """
415
+ Textual representation of an expression in Common Expression Language syntax.
416
+ """
417
+ title: pulumi.Input[str]
418
+ """
419
+ A title for the expression, i.e. a short string describing its purpose.
420
+ """
421
+ description: NotRequired[pulumi.Input[str]]
422
+ elif False:
423
+ SecurityGatewayIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
424
+
425
+ @pulumi.input_type
426
+ class SecurityGatewayIamBindingConditionArgs:
427
+ def __init__(__self__, *,
428
+ expression: pulumi.Input[str],
429
+ title: pulumi.Input[str],
430
+ description: Optional[pulumi.Input[str]] = None):
431
+ """
432
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
433
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
434
+ """
435
+ pulumi.set(__self__, "expression", expression)
436
+ pulumi.set(__self__, "title", title)
437
+ if description is not None:
438
+ pulumi.set(__self__, "description", description)
439
+
440
+ @property
441
+ @pulumi.getter
442
+ def expression(self) -> pulumi.Input[str]:
443
+ """
444
+ Textual representation of an expression in Common Expression Language syntax.
445
+ """
446
+ return pulumi.get(self, "expression")
447
+
448
+ @expression.setter
449
+ def expression(self, value: pulumi.Input[str]):
450
+ pulumi.set(self, "expression", value)
451
+
452
+ @property
453
+ @pulumi.getter
454
+ def title(self) -> pulumi.Input[str]:
455
+ """
456
+ A title for the expression, i.e. a short string describing its purpose.
457
+ """
458
+ return pulumi.get(self, "title")
459
+
460
+ @title.setter
461
+ def title(self, value: pulumi.Input[str]):
462
+ pulumi.set(self, "title", value)
463
+
464
+ @property
465
+ @pulumi.getter
466
+ def description(self) -> Optional[pulumi.Input[str]]:
467
+ return pulumi.get(self, "description")
468
+
469
+ @description.setter
470
+ def description(self, value: Optional[pulumi.Input[str]]):
471
+ pulumi.set(self, "description", value)
472
+
473
+
474
+ if not MYPY:
475
+ class SecurityGatewayIamMemberConditionArgsDict(TypedDict):
476
+ expression: pulumi.Input[str]
477
+ """
478
+ Textual representation of an expression in Common Expression Language syntax.
479
+ """
480
+ title: pulumi.Input[str]
481
+ """
482
+ A title for the expression, i.e. a short string describing its purpose.
483
+ """
484
+ description: NotRequired[pulumi.Input[str]]
485
+ elif False:
486
+ SecurityGatewayIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
487
+
488
+ @pulumi.input_type
489
+ class SecurityGatewayIamMemberConditionArgs:
490
+ def __init__(__self__, *,
491
+ expression: pulumi.Input[str],
492
+ title: pulumi.Input[str],
493
+ description: Optional[pulumi.Input[str]] = None):
494
+ """
495
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
496
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
497
+ """
498
+ pulumi.set(__self__, "expression", expression)
499
+ pulumi.set(__self__, "title", title)
500
+ if description is not None:
501
+ pulumi.set(__self__, "description", description)
502
+
503
+ @property
504
+ @pulumi.getter
505
+ def expression(self) -> pulumi.Input[str]:
506
+ """
507
+ Textual representation of an expression in Common Expression Language syntax.
508
+ """
509
+ return pulumi.get(self, "expression")
510
+
511
+ @expression.setter
512
+ def expression(self, value: pulumi.Input[str]):
513
+ pulumi.set(self, "expression", value)
514
+
515
+ @property
516
+ @pulumi.getter
517
+ def title(self) -> pulumi.Input[str]:
518
+ """
519
+ A title for the expression, i.e. a short string describing its purpose.
520
+ """
521
+ return pulumi.get(self, "title")
522
+
523
+ @title.setter
524
+ def title(self, value: pulumi.Input[str]):
525
+ pulumi.set(self, "title", value)
526
+
527
+ @property
528
+ @pulumi.getter
529
+ def description(self) -> Optional[pulumi.Input[str]]:
530
+ return pulumi.get(self, "description")
531
+
532
+ @description.setter
533
+ def description(self, value: Optional[pulumi.Input[str]]):
534
+ pulumi.set(self, "description", value)
535
+
536
+
@@ -0,0 +1,180 @@
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
+
17
+ __all__ = [
18
+ 'GetSecurityGatewayIamPolicyResult',
19
+ 'AwaitableGetSecurityGatewayIamPolicyResult',
20
+ 'get_security_gateway_iam_policy',
21
+ 'get_security_gateway_iam_policy_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetSecurityGatewayIamPolicyResult:
26
+ """
27
+ A collection of values returned by getSecurityGatewayIamPolicy.
28
+ """
29
+ def __init__(__self__, etag=None, id=None, location=None, policy_data=None, project=None, security_gateway_id=None):
30
+ if etag and not isinstance(etag, str):
31
+ raise TypeError("Expected argument 'etag' to be a str")
32
+ pulumi.set(__self__, "etag", etag)
33
+ if id and not isinstance(id, str):
34
+ raise TypeError("Expected argument 'id' to be a str")
35
+ pulumi.set(__self__, "id", id)
36
+ if location and not isinstance(location, str):
37
+ raise TypeError("Expected argument 'location' to be a str")
38
+ pulumi.set(__self__, "location", location)
39
+ if policy_data and not isinstance(policy_data, str):
40
+ raise TypeError("Expected argument 'policy_data' to be a str")
41
+ pulumi.set(__self__, "policy_data", policy_data)
42
+ if project and not isinstance(project, str):
43
+ raise TypeError("Expected argument 'project' to be a str")
44
+ pulumi.set(__self__, "project", project)
45
+ if security_gateway_id and not isinstance(security_gateway_id, str):
46
+ raise TypeError("Expected argument 'security_gateway_id' to be a str")
47
+ pulumi.set(__self__, "security_gateway_id", security_gateway_id)
48
+
49
+ @property
50
+ @pulumi.getter
51
+ def etag(self) -> str:
52
+ """
53
+ (Computed) The etag of the IAM policy.
54
+ """
55
+ return pulumi.get(self, "etag")
56
+
57
+ @property
58
+ @pulumi.getter
59
+ def id(self) -> str:
60
+ """
61
+ The provider-assigned unique ID for this managed resource.
62
+ """
63
+ return pulumi.get(self, "id")
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def location(self) -> str:
68
+ return pulumi.get(self, "location")
69
+
70
+ @property
71
+ @pulumi.getter(name="policyData")
72
+ def policy_data(self) -> str:
73
+ """
74
+ (Required only by `beyondcorp.SecurityGatewayIamPolicy`) The policy data generated by
75
+ a `organizations_get_iam_policy` data source.
76
+ """
77
+ return pulumi.get(self, "policy_data")
78
+
79
+ @property
80
+ @pulumi.getter
81
+ def project(self) -> str:
82
+ return pulumi.get(self, "project")
83
+
84
+ @property
85
+ @pulumi.getter(name="securityGatewayId")
86
+ def security_gateway_id(self) -> str:
87
+ return pulumi.get(self, "security_gateway_id")
88
+
89
+
90
+ class AwaitableGetSecurityGatewayIamPolicyResult(GetSecurityGatewayIamPolicyResult):
91
+ # pylint: disable=using-constant-test
92
+ def __await__(self):
93
+ if False:
94
+ yield self
95
+ return GetSecurityGatewayIamPolicyResult(
96
+ etag=self.etag,
97
+ id=self.id,
98
+ location=self.location,
99
+ policy_data=self.policy_data,
100
+ project=self.project,
101
+ security_gateway_id=self.security_gateway_id)
102
+
103
+
104
+ def get_security_gateway_iam_policy(location: Optional[str] = None,
105
+ project: Optional[str] = None,
106
+ security_gateway_id: Optional[str] = None,
107
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGatewayIamPolicyResult:
108
+ """
109
+ Retrieves the current IAM policy data for securitygateway
110
+
111
+ ## example
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumi_gcp as gcp
116
+
117
+ policy = gcp.beyondcorp.get_security_gateway_iam_policy(project=example["project"],
118
+ location=example["location"],
119
+ security_gateway_id=example["securityGatewayId"])
120
+ ```
121
+
122
+
123
+ :param str location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. Must be omitted or set to `global`. Used to find the parent resource to bind the IAM policy to. If not specified,
124
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
125
+ location is specified, it is taken from the provider configuration.
126
+ :param str project: The ID of the project in which the resource belongs.
127
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
128
+ """
129
+ __args__ = dict()
130
+ __args__['location'] = location
131
+ __args__['project'] = project
132
+ __args__['securityGatewayId'] = security_gateway_id
133
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
134
+ __ret__ = pulumi.runtime.invoke('gcp:beyondcorp/getSecurityGatewayIamPolicy:getSecurityGatewayIamPolicy', __args__, opts=opts, typ=GetSecurityGatewayIamPolicyResult).value
135
+
136
+ return AwaitableGetSecurityGatewayIamPolicyResult(
137
+ etag=pulumi.get(__ret__, 'etag'),
138
+ id=pulumi.get(__ret__, 'id'),
139
+ location=pulumi.get(__ret__, 'location'),
140
+ policy_data=pulumi.get(__ret__, 'policy_data'),
141
+ project=pulumi.get(__ret__, 'project'),
142
+ security_gateway_id=pulumi.get(__ret__, 'security_gateway_id'))
143
+ def get_security_gateway_iam_policy_output(location: Optional[pulumi.Input[Optional[str]]] = None,
144
+ project: Optional[pulumi.Input[Optional[str]]] = None,
145
+ security_gateway_id: Optional[pulumi.Input[str]] = None,
146
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGatewayIamPolicyResult]:
147
+ """
148
+ Retrieves the current IAM policy data for securitygateway
149
+
150
+ ## example
151
+
152
+ ```python
153
+ import pulumi
154
+ import pulumi_gcp as gcp
155
+
156
+ policy = gcp.beyondcorp.get_security_gateway_iam_policy(project=example["project"],
157
+ location=example["location"],
158
+ security_gateway_id=example["securityGatewayId"])
159
+ ```
160
+
161
+
162
+ :param str location: Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122. Must be omitted or set to `global`. Used to find the parent resource to bind the IAM policy to. If not specified,
163
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
164
+ location is specified, it is taken from the provider configuration.
165
+ :param str project: The ID of the project in which the resource belongs.
166
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
167
+ """
168
+ __args__ = dict()
169
+ __args__['location'] = location
170
+ __args__['project'] = project
171
+ __args__['securityGatewayId'] = security_gateway_id
172
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
173
+ __ret__ = pulumi.runtime.invoke_output('gcp:beyondcorp/getSecurityGatewayIamPolicy:getSecurityGatewayIamPolicy', __args__, opts=opts, typ=GetSecurityGatewayIamPolicyResult)
174
+ return __ret__.apply(lambda __response__: GetSecurityGatewayIamPolicyResult(
175
+ etag=pulumi.get(__response__, 'etag'),
176
+ id=pulumi.get(__response__, 'id'),
177
+ location=pulumi.get(__response__, 'location'),
178
+ policy_data=pulumi.get(__response__, 'policy_data'),
179
+ project=pulumi.get(__response__, 'project'),
180
+ security_gateway_id=pulumi.get(__response__, 'security_gateway_id')))