pulumi-gcp 8.18.0a1738650987__py3-none-any.whl → 8.19.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 (130) hide show
  1. pulumi_gcp/__init__.py +104 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +288 -78
  3. pulumi_gcp/accesscontextmanager/outputs.py +186 -54
  4. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  5. pulumi_gcp/alloydb/user.py +10 -1
  6. pulumi_gcp/appengine/_inputs.py +3 -0
  7. pulumi_gcp/appengine/outputs.py +2 -0
  8. pulumi_gcp/assuredworkloads/workload.py +7 -7
  9. pulumi_gcp/beyondcorp/__init__.py +9 -0
  10. pulumi_gcp/beyondcorp/_inputs.py +319 -0
  11. pulumi_gcp/beyondcorp/application.py +604 -0
  12. pulumi_gcp/beyondcorp/application_iam_binding.py +1049 -0
  13. pulumi_gcp/beyondcorp/application_iam_member.py +1049 -0
  14. pulumi_gcp/beyondcorp/application_iam_policy.py +868 -0
  15. pulumi_gcp/beyondcorp/get_application_iam_policy.py +174 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +187 -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/bigqueryanalyticshub/__init__.py +1 -0
  27. pulumi_gcp/bigqueryanalyticshub/_inputs.py +318 -0
  28. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +808 -0
  29. pulumi_gcp/bigqueryanalyticshub/outputs.py +263 -0
  30. pulumi_gcp/certificateauthority/_inputs.py +54 -0
  31. pulumi_gcp/certificateauthority/authority.py +149 -3
  32. pulumi_gcp/certificateauthority/get_authority.py +15 -4
  33. pulumi_gcp/certificateauthority/outputs.py +81 -0
  34. pulumi_gcp/chronicle/retrohunt.py +0 -16
  35. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  36. pulumi_gcp/cloudrunv2/_inputs.py +112 -0
  37. pulumi_gcp/cloudrunv2/outputs.py +144 -1
  38. pulumi_gcp/cloudrunv2/service.py +2 -0
  39. pulumi_gcp/colab/__init__.py +2 -0
  40. pulumi_gcp/colab/_inputs.py +655 -0
  41. pulumi_gcp/colab/notebook_execution.py +1259 -0
  42. pulumi_gcp/colab/outputs.py +512 -0
  43. pulumi_gcp/colab/runtime.py +266 -2
  44. pulumi_gcp/colab/runtime_template.py +79 -3
  45. pulumi_gcp/colab/schedule.py +1318 -0
  46. pulumi_gcp/compute/__init__.py +1 -0
  47. pulumi_gcp/compute/_inputs.py +213 -9
  48. pulumi_gcp/compute/firewall_policy.py +54 -43
  49. pulumi_gcp/compute/forwarding_rule.py +103 -0
  50. pulumi_gcp/compute/get_forwarding_rule.py +12 -1
  51. pulumi_gcp/compute/get_network.py +3 -3
  52. pulumi_gcp/compute/interconnect_attachment.py +12 -0
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +1011 -0
  55. pulumi_gcp/compute/outputs.py +193 -6
  56. pulumi_gcp/compute/public_advertised_prefix.py +35 -7
  57. pulumi_gcp/compute/public_delegated_prefix.py +171 -7
  58. pulumi_gcp/compute/region_resize_request.py +21 -22
  59. pulumi_gcp/compute/resize_request.py +22 -23
  60. pulumi_gcp/compute/router_peer.py +112 -0
  61. pulumi_gcp/compute/subnetwork.py +14 -7
  62. pulumi_gcp/container/_inputs.py +133 -21
  63. pulumi_gcp/container/outputs.py +154 -13
  64. pulumi_gcp/dataproc/_inputs.py +34 -0
  65. pulumi_gcp/dataproc/outputs.py +37 -0
  66. pulumi_gcp/dataproc/workflow_template.py +47 -0
  67. pulumi_gcp/datastream/connection_profile.py +120 -46
  68. pulumi_gcp/discoveryengine/chat_engine.py +7 -7
  69. pulumi_gcp/filestore/_inputs.py +222 -0
  70. pulumi_gcp/filestore/get_instance.py +23 -1
  71. pulumi_gcp/filestore/instance.py +86 -0
  72. pulumi_gcp/filestore/outputs.py +282 -0
  73. pulumi_gcp/firestore/field.py +60 -0
  74. pulumi_gcp/gemini/__init__.py +2 -0
  75. pulumi_gcp/gemini/logging_setting.py +671 -0
  76. pulumi_gcp/gemini/release_channel_setting.py +639 -0
  77. pulumi_gcp/gkehub/_inputs.py +20 -0
  78. pulumi_gcp/gkehub/membership_binding.py +6 -6
  79. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  80. pulumi_gcp/gkehub/namespace.py +4 -4
  81. pulumi_gcp/gkehub/outputs.py +26 -1
  82. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  83. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  84. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  85. pulumi_gcp/memorystore/_inputs.py +296 -0
  86. pulumi_gcp/memorystore/instance.py +32 -28
  87. pulumi_gcp/memorystore/outputs.py +224 -0
  88. pulumi_gcp/monitoring/_inputs.py +12 -9
  89. pulumi_gcp/monitoring/outputs.py +8 -6
  90. pulumi_gcp/netapp/storage_pool.py +1 -1
  91. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  92. pulumi_gcp/networkservices/_inputs.py +89 -0
  93. pulumi_gcp/networkservices/outputs.py +75 -0
  94. pulumi_gcp/orgpolicy/policy.py +2 -2
  95. pulumi_gcp/parametermanager/__init__.py +5 -0
  96. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  97. pulumi_gcp/parametermanager/get_parameter_version_render.py +199 -0
  98. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  99. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  100. pulumi_gcp/parametermanager/get_regional_parameter_version_render.py +220 -0
  101. pulumi_gcp/parametermanager/outputs.py +156 -0
  102. pulumi_gcp/privilegedaccessmanager/entitlement.py +14 -0
  103. pulumi_gcp/pubsub/_inputs.py +264 -0
  104. pulumi_gcp/pubsub/outputs.py +353 -0
  105. pulumi_gcp/pubsub/subscription.py +6 -6
  106. pulumi_gcp/pubsub/topic.py +70 -0
  107. pulumi_gcp/pulumi-plugin.json +1 -1
  108. pulumi_gcp/resourcemanager/lien.py +12 -0
  109. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  110. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  111. pulumi_gcp/secretmanager/secret.py +4 -0
  112. pulumi_gcp/secretmanager/secret_version.py +12 -0
  113. pulumi_gcp/securesourcemanager/branch_rule.py +4 -0
  114. pulumi_gcp/securesourcemanager/repository.py +4 -0
  115. pulumi_gcp/securityposture/posture.py +4 -0
  116. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  117. pulumi_gcp/serviceaccount/get_s.py +98 -8
  118. pulumi_gcp/spanner/_inputs.py +68 -0
  119. pulumi_gcp/spanner/backup_schedule.py +70 -4
  120. pulumi_gcp/spanner/outputs.py +60 -0
  121. pulumi_gcp/storage/bucket_object.py +8 -0
  122. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  123. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  124. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  125. pulumi_gcp/workbench/instance.py +70 -2
  126. pulumi_gcp/workflows/workflow.py +175 -0
  127. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/METADATA +1 -1
  128. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/RECORD +130 -110
  129. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/WHEEL +0 -0
  130. {pulumi_gcp-8.18.0a1738650987.dist-info → pulumi_gcp-8.19.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,174 @@
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
+ 'GetApplicationIamPolicyResult',
19
+ 'AwaitableGetApplicationIamPolicyResult',
20
+ 'get_application_iam_policy',
21
+ 'get_application_iam_policy_output',
22
+ ]
23
+
24
+ @pulumi.output_type
25
+ class GetApplicationIamPolicyResult:
26
+ """
27
+ A collection of values returned by getApplicationIamPolicy.
28
+ """
29
+ def __init__(__self__, application_id=None, etag=None, id=None, policy_data=None, project=None, security_gateways_id=None):
30
+ if application_id and not isinstance(application_id, str):
31
+ raise TypeError("Expected argument 'application_id' to be a str")
32
+ pulumi.set(__self__, "application_id", application_id)
33
+ if etag and not isinstance(etag, str):
34
+ raise TypeError("Expected argument 'etag' to be a str")
35
+ pulumi.set(__self__, "etag", etag)
36
+ if id and not isinstance(id, str):
37
+ raise TypeError("Expected argument 'id' to be a str")
38
+ pulumi.set(__self__, "id", id)
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_gateways_id and not isinstance(security_gateways_id, str):
46
+ raise TypeError("Expected argument 'security_gateways_id' to be a str")
47
+ pulumi.set(__self__, "security_gateways_id", security_gateways_id)
48
+
49
+ @property
50
+ @pulumi.getter(name="applicationId")
51
+ def application_id(self) -> str:
52
+ return pulumi.get(self, "application_id")
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def etag(self) -> str:
57
+ """
58
+ (Computed) The etag of the IAM policy.
59
+ """
60
+ return pulumi.get(self, "etag")
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def id(self) -> str:
65
+ """
66
+ The provider-assigned unique ID for this managed resource.
67
+ """
68
+ return pulumi.get(self, "id")
69
+
70
+ @property
71
+ @pulumi.getter(name="policyData")
72
+ def policy_data(self) -> str:
73
+ """
74
+ (Required only by `beyondcorp.ApplicationIamPolicy`) 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="securityGatewaysId")
86
+ def security_gateways_id(self) -> str:
87
+ return pulumi.get(self, "security_gateways_id")
88
+
89
+
90
+ class AwaitableGetApplicationIamPolicyResult(GetApplicationIamPolicyResult):
91
+ # pylint: disable=using-constant-test
92
+ def __await__(self):
93
+ if False:
94
+ yield self
95
+ return GetApplicationIamPolicyResult(
96
+ application_id=self.application_id,
97
+ etag=self.etag,
98
+ id=self.id,
99
+ policy_data=self.policy_data,
100
+ project=self.project,
101
+ security_gateways_id=self.security_gateways_id)
102
+
103
+
104
+ def get_application_iam_policy(application_id: Optional[str] = None,
105
+ project: Optional[str] = None,
106
+ security_gateways_id: Optional[str] = None,
107
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetApplicationIamPolicyResult:
108
+ """
109
+ Retrieves the current IAM policy data for application
110
+
111
+ ## example
112
+
113
+ ```python
114
+ import pulumi
115
+ import pulumi_gcp as gcp
116
+
117
+ policy = gcp.beyondcorp.get_application_iam_policy(project=example["project"],
118
+ security_gateways_id=example["securityGatewaysId"],
119
+ application_id=example["applicationId"])
120
+ ```
121
+
122
+
123
+ :param str project: The ID of the project in which the resource belongs.
124
+ 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.
125
+ """
126
+ __args__ = dict()
127
+ __args__['applicationId'] = application_id
128
+ __args__['project'] = project
129
+ __args__['securityGatewaysId'] = security_gateways_id
130
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
131
+ __ret__ = pulumi.runtime.invoke('gcp:beyondcorp/getApplicationIamPolicy:getApplicationIamPolicy', __args__, opts=opts, typ=GetApplicationIamPolicyResult).value
132
+
133
+ return AwaitableGetApplicationIamPolicyResult(
134
+ application_id=pulumi.get(__ret__, 'application_id'),
135
+ etag=pulumi.get(__ret__, 'etag'),
136
+ id=pulumi.get(__ret__, 'id'),
137
+ policy_data=pulumi.get(__ret__, 'policy_data'),
138
+ project=pulumi.get(__ret__, 'project'),
139
+ security_gateways_id=pulumi.get(__ret__, 'security_gateways_id'))
140
+ def get_application_iam_policy_output(application_id: Optional[pulumi.Input[str]] = None,
141
+ project: Optional[pulumi.Input[Optional[str]]] = None,
142
+ security_gateways_id: Optional[pulumi.Input[str]] = None,
143
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetApplicationIamPolicyResult]:
144
+ """
145
+ Retrieves the current IAM policy data for application
146
+
147
+ ## example
148
+
149
+ ```python
150
+ import pulumi
151
+ import pulumi_gcp as gcp
152
+
153
+ policy = gcp.beyondcorp.get_application_iam_policy(project=example["project"],
154
+ security_gateways_id=example["securityGatewaysId"],
155
+ application_id=example["applicationId"])
156
+ ```
157
+
158
+
159
+ :param str project: The ID of the project in which the resource belongs.
160
+ 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.
161
+ """
162
+ __args__ = dict()
163
+ __args__['applicationId'] = application_id
164
+ __args__['project'] = project
165
+ __args__['securityGatewaysId'] = security_gateways_id
166
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
167
+ __ret__ = pulumi.runtime.invoke_output('gcp:beyondcorp/getApplicationIamPolicy:getApplicationIamPolicy', __args__, opts=opts, typ=GetApplicationIamPolicyResult)
168
+ return __ret__.apply(lambda __response__: GetApplicationIamPolicyResult(
169
+ application_id=pulumi.get(__response__, 'application_id'),
170
+ etag=pulumi.get(__response__, 'etag'),
171
+ id=pulumi.get(__response__, 'id'),
172
+ policy_data=pulumi.get(__response__, 'policy_data'),
173
+ project=pulumi.get(__response__, 'project'),
174
+ security_gateways_id=pulumi.get(__response__, 'security_gateways_id')))
@@ -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')))
@@ -21,8 +21,13 @@ __all__ = [
21
21
  'AppConnectorPrincipalInfo',
22
22
  'AppConnectorPrincipalInfoServiceAccount',
23
23
  'AppGatewayAllocatedConnection',
24
+ 'ApplicationEndpointMatcher',
25
+ 'ApplicationIamBindingCondition',
26
+ 'ApplicationIamMemberCondition',
24
27
  'SecurityGatewayHub',
25
28
  'SecurityGatewayHubInternetGateway',
29
+ 'SecurityGatewayIamBindingCondition',
30
+ 'SecurityGatewayIamMemberCondition',
26
31
  'GetAppConnectionApplicationEndpointResult',
27
32
  'GetAppConnectionGatewayResult',
28
33
  'GetAppConnectorPrincipalInfoResult',
@@ -253,6 +258,114 @@ class AppGatewayAllocatedConnection(dict):
253
258
  return pulumi.get(self, "psc_uri")
254
259
 
255
260
 
261
+ @pulumi.output_type
262
+ class ApplicationEndpointMatcher(dict):
263
+ def __init__(__self__, *,
264
+ hostname: str,
265
+ ports: Optional[Sequence[int]] = None):
266
+ """
267
+ :param str hostname: Required. Hostname of the application.
268
+ :param Sequence[int] ports: Optional. Ports of the application.
269
+
270
+ - - -
271
+ """
272
+ pulumi.set(__self__, "hostname", hostname)
273
+ if ports is not None:
274
+ pulumi.set(__self__, "ports", ports)
275
+
276
+ @property
277
+ @pulumi.getter
278
+ def hostname(self) -> str:
279
+ """
280
+ Required. Hostname of the application.
281
+ """
282
+ return pulumi.get(self, "hostname")
283
+
284
+ @property
285
+ @pulumi.getter
286
+ def ports(self) -> Optional[Sequence[int]]:
287
+ """
288
+ Optional. Ports of the application.
289
+
290
+ - - -
291
+ """
292
+ return pulumi.get(self, "ports")
293
+
294
+
295
+ @pulumi.output_type
296
+ class ApplicationIamBindingCondition(dict):
297
+ def __init__(__self__, *,
298
+ expression: str,
299
+ title: str,
300
+ description: Optional[str] = None):
301
+ """
302
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
303
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
304
+ """
305
+ pulumi.set(__self__, "expression", expression)
306
+ pulumi.set(__self__, "title", title)
307
+ if description is not None:
308
+ pulumi.set(__self__, "description", description)
309
+
310
+ @property
311
+ @pulumi.getter
312
+ def expression(self) -> str:
313
+ """
314
+ Textual representation of an expression in Common Expression Language syntax.
315
+ """
316
+ return pulumi.get(self, "expression")
317
+
318
+ @property
319
+ @pulumi.getter
320
+ def title(self) -> str:
321
+ """
322
+ A title for the expression, i.e. a short string describing its purpose.
323
+ """
324
+ return pulumi.get(self, "title")
325
+
326
+ @property
327
+ @pulumi.getter
328
+ def description(self) -> Optional[str]:
329
+ return pulumi.get(self, "description")
330
+
331
+
332
+ @pulumi.output_type
333
+ class ApplicationIamMemberCondition(dict):
334
+ def __init__(__self__, *,
335
+ expression: str,
336
+ title: str,
337
+ description: Optional[str] = None):
338
+ """
339
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
340
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
341
+ """
342
+ pulumi.set(__self__, "expression", expression)
343
+ pulumi.set(__self__, "title", title)
344
+ if description is not None:
345
+ pulumi.set(__self__, "description", description)
346
+
347
+ @property
348
+ @pulumi.getter
349
+ def expression(self) -> str:
350
+ """
351
+ Textual representation of an expression in Common Expression Language syntax.
352
+ """
353
+ return pulumi.get(self, "expression")
354
+
355
+ @property
356
+ @pulumi.getter
357
+ def title(self) -> str:
358
+ """
359
+ A title for the expression, i.e. a short string describing its purpose.
360
+ """
361
+ return pulumi.get(self, "title")
362
+
363
+ @property
364
+ @pulumi.getter
365
+ def description(self) -> Optional[str]:
366
+ return pulumi.get(self, "description")
367
+
368
+
256
369
  @pulumi.output_type
257
370
  class SecurityGatewayHub(dict):
258
371
  @staticmethod
@@ -340,6 +453,80 @@ class SecurityGatewayHubInternetGateway(dict):
340
453
  return pulumi.get(self, "assigned_ips")
341
454
 
342
455
 
456
+ @pulumi.output_type
457
+ class SecurityGatewayIamBindingCondition(dict):
458
+ def __init__(__self__, *,
459
+ expression: str,
460
+ title: str,
461
+ description: Optional[str] = None):
462
+ """
463
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
464
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
465
+ """
466
+ pulumi.set(__self__, "expression", expression)
467
+ pulumi.set(__self__, "title", title)
468
+ if description is not None:
469
+ pulumi.set(__self__, "description", description)
470
+
471
+ @property
472
+ @pulumi.getter
473
+ def expression(self) -> str:
474
+ """
475
+ Textual representation of an expression in Common Expression Language syntax.
476
+ """
477
+ return pulumi.get(self, "expression")
478
+
479
+ @property
480
+ @pulumi.getter
481
+ def title(self) -> str:
482
+ """
483
+ A title for the expression, i.e. a short string describing its purpose.
484
+ """
485
+ return pulumi.get(self, "title")
486
+
487
+ @property
488
+ @pulumi.getter
489
+ def description(self) -> Optional[str]:
490
+ return pulumi.get(self, "description")
491
+
492
+
493
+ @pulumi.output_type
494
+ class SecurityGatewayIamMemberCondition(dict):
495
+ def __init__(__self__, *,
496
+ expression: str,
497
+ title: str,
498
+ description: Optional[str] = None):
499
+ """
500
+ :param str expression: Textual representation of an expression in Common Expression Language syntax.
501
+ :param str title: A title for the expression, i.e. a short string describing its purpose.
502
+ """
503
+ pulumi.set(__self__, "expression", expression)
504
+ pulumi.set(__self__, "title", title)
505
+ if description is not None:
506
+ pulumi.set(__self__, "description", description)
507
+
508
+ @property
509
+ @pulumi.getter
510
+ def expression(self) -> str:
511
+ """
512
+ Textual representation of an expression in Common Expression Language syntax.
513
+ """
514
+ return pulumi.get(self, "expression")
515
+
516
+ @property
517
+ @pulumi.getter
518
+ def title(self) -> str:
519
+ """
520
+ A title for the expression, i.e. a short string describing its purpose.
521
+ """
522
+ return pulumi.get(self, "title")
523
+
524
+ @property
525
+ @pulumi.getter
526
+ def description(self) -> Optional[str]:
527
+ return pulumi.get(self, "description")
528
+
529
+
343
530
  @pulumi.output_type
344
531
  class GetAppConnectionApplicationEndpointResult(dict):
345
532
  def __init__(__self__, *,