pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.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 (137) hide show
  1. pulumi_gcp/__init__.py +115 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/cluster.py +75 -7
  4. pulumi_gcp/alloydb/user.py +10 -1
  5. pulumi_gcp/apigee/_inputs.py +91 -0
  6. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  7. pulumi_gcp/apigee/environment.py +54 -0
  8. pulumi_gcp/apigee/outputs.py +54 -0
  9. pulumi_gcp/apihub/__init__.py +10 -0
  10. pulumi_gcp/apihub/_inputs.py +154 -0
  11. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  12. pulumi_gcp/apihub/outputs.py +124 -0
  13. pulumi_gcp/assuredworkloads/workload.py +7 -7
  14. pulumi_gcp/beyondcorp/__init__.py +4 -0
  15. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +76 -0
  18. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  19. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  20. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  21. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  22. pulumi_gcp/bigquery/_inputs.py +33 -0
  23. pulumi_gcp/bigquery/dataset.py +7 -7
  24. pulumi_gcp/bigquery/outputs.py +36 -0
  25. pulumi_gcp/bigquery/table.py +61 -7
  26. pulumi_gcp/chronicle/__init__.py +1 -0
  27. pulumi_gcp/chronicle/_inputs.py +124 -0
  28. pulumi_gcp/chronicle/outputs.py +112 -0
  29. pulumi_gcp/chronicle/retrohunt.py +629 -0
  30. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  31. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  32. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  33. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  34. pulumi_gcp/cloudrunv2/service.py +159 -0
  35. pulumi_gcp/colab/__init__.py +5 -0
  36. pulumi_gcp/colab/_inputs.py +131 -0
  37. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  38. pulumi_gcp/colab/outputs.py +92 -0
  39. pulumi_gcp/colab/runtime.py +696 -0
  40. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  41. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  42. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  43. pulumi_gcp/compute/__init__.py +4 -0
  44. pulumi_gcp/compute/_inputs.py +535 -9
  45. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  46. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  47. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  48. pulumi_gcp/compute/get_network.py +3 -3
  49. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  50. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  51. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  52. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  55. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  56. pulumi_gcp/compute/outputs.py +358 -6
  57. pulumi_gcp/compute/project_metadata_item.py +12 -0
  58. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  59. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  60. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  61. pulumi_gcp/compute/router_peer.py +227 -3
  62. pulumi_gcp/config/__init__.pyi +2 -0
  63. pulumi_gcp/config/vars.py +4 -0
  64. pulumi_gcp/container/_inputs.py +79 -20
  65. pulumi_gcp/container/outputs.py +75 -12
  66. pulumi_gcp/dataproc/_inputs.py +34 -0
  67. pulumi_gcp/dataproc/outputs.py +37 -0
  68. pulumi_gcp/dataproc/workflow_template.py +47 -0
  69. pulumi_gcp/filestore/get_instance.py +12 -1
  70. pulumi_gcp/filestore/instance.py +75 -0
  71. pulumi_gcp/firestore/field.py +60 -0
  72. pulumi_gcp/gemini/code_repository_index.py +29 -33
  73. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  74. pulumi_gcp/gemini/repository_group.py +76 -26
  75. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  76. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  77. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  78. pulumi_gcp/gkehub/_inputs.py +20 -0
  79. pulumi_gcp/gkehub/membership_binding.py +6 -6
  80. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  81. pulumi_gcp/gkehub/namespace.py +4 -4
  82. pulumi_gcp/gkehub/outputs.py +26 -1
  83. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  84. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  85. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  86. pulumi_gcp/kms/__init__.py +1 -0
  87. pulumi_gcp/kms/get_key_handles.py +172 -0
  88. pulumi_gcp/kms/outputs.py +45 -0
  89. pulumi_gcp/netapp/storage_pool.py +1 -1
  90. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  91. pulumi_gcp/networksecurity/_inputs.py +72 -0
  92. pulumi_gcp/networksecurity/outputs.py +76 -0
  93. pulumi_gcp/networksecurity/security_profile.py +233 -7
  94. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  95. pulumi_gcp/organizations/__init__.py +1 -0
  96. pulumi_gcp/organizations/get_s.py +128 -0
  97. pulumi_gcp/organizations/outputs.py +63 -0
  98. pulumi_gcp/orgpolicy/policy.py +2 -2
  99. pulumi_gcp/parametermanager/__init__.py +6 -0
  100. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  101. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  102. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  103. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  104. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  105. pulumi_gcp/parametermanager/outputs.py +366 -0
  106. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  107. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  108. pulumi_gcp/provider.py +20 -0
  109. pulumi_gcp/pubsub/_inputs.py +477 -1
  110. pulumi_gcp/pubsub/outputs.py +631 -2
  111. pulumi_gcp/pubsub/subscription.py +6 -6
  112. pulumi_gcp/pubsub/topic.py +112 -0
  113. pulumi_gcp/pulumi-plugin.json +1 -1
  114. pulumi_gcp/redis/__init__.py +1 -0
  115. pulumi_gcp/redis/_inputs.py +342 -6
  116. pulumi_gcp/redis/cluster.py +223 -102
  117. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  118. pulumi_gcp/redis/outputs.py +268 -4
  119. pulumi_gcp/resourcemanager/lien.py +12 -0
  120. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  121. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  122. pulumi_gcp/secretmanager/secret.py +4 -0
  123. pulumi_gcp/secretmanager/secret_version.py +12 -0
  124. pulumi_gcp/securityposture/posture.py +4 -0
  125. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  126. pulumi_gcp/serviceaccount/get_s.py +98 -8
  127. pulumi_gcp/spanner/_inputs.py +68 -0
  128. pulumi_gcp/spanner/backup_schedule.py +70 -4
  129. pulumi_gcp/spanner/outputs.py +60 -0
  130. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  131. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  132. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  133. pulumi_gcp/workflows/workflow.py +175 -0
  134. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
  135. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +137 -110
  136. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
  137. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,124 @@
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
+ 'ApiHubInstanceConfig',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class ApiHubInstanceConfig(dict):
23
+ @staticmethod
24
+ def __key_warning(key: str):
25
+ suggest = None
26
+ if key == "cmekKeyName":
27
+ suggest = "cmek_key_name"
28
+ elif key == "disableSearch":
29
+ suggest = "disable_search"
30
+ elif key == "encryptionType":
31
+ suggest = "encryption_type"
32
+ elif key == "vertexLocation":
33
+ suggest = "vertex_location"
34
+
35
+ if suggest:
36
+ pulumi.log.warn(f"Key '{key}' not found in ApiHubInstanceConfig. Access the value via the '{suggest}' property getter instead.")
37
+
38
+ def __getitem__(self, key: str) -> Any:
39
+ ApiHubInstanceConfig.__key_warning(key)
40
+ return super().__getitem__(key)
41
+
42
+ def get(self, key: str, default = None) -> Any:
43
+ ApiHubInstanceConfig.__key_warning(key)
44
+ return super().get(key, default)
45
+
46
+ def __init__(__self__, *,
47
+ cmek_key_name: Optional[str] = None,
48
+ disable_search: Optional[bool] = None,
49
+ encryption_type: Optional[str] = None,
50
+ vertex_location: Optional[str] = None):
51
+ """
52
+ :param str cmek_key_name: Optional. The Customer Managed Encryption Key (CMEK) used for data encryption.
53
+ The CMEK name should follow the format of
54
+ `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`,
55
+ where the location must match the instance location.
56
+ If the CMEK is not provided, a GMEK will be created for the instance.
57
+ :param bool disable_search: Optional. If true, the search will be disabled for the instance. The default value
58
+ is false.
59
+ :param str encryption_type: Optional. Encryption type for the region. If the encryption type is CMEK, the
60
+ cmek_key_name must be provided. If no encryption type is provided,
61
+ GMEK will be used.
62
+ Possible values:
63
+ ENCRYPTION_TYPE_UNSPECIFIED
64
+ GMEK
65
+ CMEK
66
+ :param str vertex_location: Optional. The name of the Vertex AI location where the data store is stored.
67
+
68
+ - - -
69
+ """
70
+ if cmek_key_name is not None:
71
+ pulumi.set(__self__, "cmek_key_name", cmek_key_name)
72
+ if disable_search is not None:
73
+ pulumi.set(__self__, "disable_search", disable_search)
74
+ if encryption_type is not None:
75
+ pulumi.set(__self__, "encryption_type", encryption_type)
76
+ if vertex_location is not None:
77
+ pulumi.set(__self__, "vertex_location", vertex_location)
78
+
79
+ @property
80
+ @pulumi.getter(name="cmekKeyName")
81
+ def cmek_key_name(self) -> Optional[str]:
82
+ """
83
+ Optional. The Customer Managed Encryption Key (CMEK) used for data encryption.
84
+ The CMEK name should follow the format of
85
+ `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`,
86
+ where the location must match the instance location.
87
+ If the CMEK is not provided, a GMEK will be created for the instance.
88
+ """
89
+ return pulumi.get(self, "cmek_key_name")
90
+
91
+ @property
92
+ @pulumi.getter(name="disableSearch")
93
+ def disable_search(self) -> Optional[bool]:
94
+ """
95
+ Optional. If true, the search will be disabled for the instance. The default value
96
+ is false.
97
+ """
98
+ return pulumi.get(self, "disable_search")
99
+
100
+ @property
101
+ @pulumi.getter(name="encryptionType")
102
+ def encryption_type(self) -> Optional[str]:
103
+ """
104
+ Optional. Encryption type for the region. If the encryption type is CMEK, the
105
+ cmek_key_name must be provided. If no encryption type is provided,
106
+ GMEK will be used.
107
+ Possible values:
108
+ ENCRYPTION_TYPE_UNSPECIFIED
109
+ GMEK
110
+ CMEK
111
+ """
112
+ return pulumi.get(self, "encryption_type")
113
+
114
+ @property
115
+ @pulumi.getter(name="vertexLocation")
116
+ def vertex_location(self) -> Optional[str]:
117
+ """
118
+ Optional. The name of the Vertex AI location where the data store is stored.
119
+
120
+ - - -
121
+ """
122
+ return pulumi.get(self, "vertex_location")
123
+
124
+
@@ -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')))
@@ -23,6 +23,8 @@ __all__ = [
23
23
  'AppGatewayAllocatedConnection',
24
24
  'SecurityGatewayHub',
25
25
  'SecurityGatewayHubInternetGateway',
26
+ 'SecurityGatewayIamBindingCondition',
27
+ 'SecurityGatewayIamMemberCondition',
26
28
  'GetAppConnectionApplicationEndpointResult',
27
29
  'GetAppConnectionGatewayResult',
28
30
  'GetAppConnectorPrincipalInfoResult',
@@ -340,6 +342,80 @@ class SecurityGatewayHubInternetGateway(dict):
340
342
  return pulumi.get(self, "assigned_ips")
341
343
 
342
344
 
345
+ @pulumi.output_type
346
+ class SecurityGatewayIamBindingCondition(dict):
347
+ def __init__(__self__, *,
348
+ expression: str,
349
+ title: str,
350
+ description: Optional[str] = None):
351
+ """
352
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
353
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
354
+ """
355
+ pulumi.set(__self__, "expression", expression)
356
+ pulumi.set(__self__, "title", title)
357
+ if description is not None:
358
+ pulumi.set(__self__, "description", description)
359
+
360
+ @property
361
+ @pulumi.getter
362
+ def expression(self) -> str:
363
+ """
364
+ Textual representation of an expression in Common Expression Language syntax.
365
+ """
366
+ return pulumi.get(self, "expression")
367
+
368
+ @property
369
+ @pulumi.getter
370
+ def title(self) -> str:
371
+ """
372
+ A title for the expression, i.e. a short string describing its purpose.
373
+ """
374
+ return pulumi.get(self, "title")
375
+
376
+ @property
377
+ @pulumi.getter
378
+ def description(self) -> Optional[str]:
379
+ return pulumi.get(self, "description")
380
+
381
+
382
+ @pulumi.output_type
383
+ class SecurityGatewayIamMemberCondition(dict):
384
+ def __init__(__self__, *,
385
+ expression: str,
386
+ title: str,
387
+ description: Optional[str] = None):
388
+ """
389
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
390
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
391
+ """
392
+ pulumi.set(__self__, "expression", expression)
393
+ pulumi.set(__self__, "title", title)
394
+ if description is not None:
395
+ pulumi.set(__self__, "description", description)
396
+
397
+ @property
398
+ @pulumi.getter
399
+ def expression(self) -> str:
400
+ """
401
+ Textual representation of an expression in Common Expression Language syntax.
402
+ """
403
+ return pulumi.get(self, "expression")
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def title(self) -> str:
408
+ """
409
+ A title for the expression, i.e. a short string describing its purpose.
410
+ """
411
+ return pulumi.get(self, "title")
412
+
413
+ @property
414
+ @pulumi.getter
415
+ def description(self) -> Optional[str]:
416
+ return pulumi.get(self, "description")
417
+
418
+
343
419
  @pulumi.output_type
344
420
  class GetAppConnectionApplicationEndpointResult(dict):
345
421
  def __init__(__self__, *,