pulumi-gcp 8.42.0a1756925793__py3-none-any.whl → 9.0.0a1__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 (149) hide show
  1. pulumi_gcp/__init__.py +35 -48
  2. pulumi_gcp/alloydb/backup.py +8 -4
  3. pulumi_gcp/alloydb/cluster.py +56 -10
  4. pulumi_gcp/alloydb/get_cluster.py +12 -1
  5. pulumi_gcp/alloydb/instance.py +10 -4
  6. pulumi_gcp/alloydb/user.py +8 -4
  7. pulumi_gcp/apigee/_inputs.py +151 -108
  8. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  9. pulumi_gcp/apigee/outputs.py +92 -88
  10. pulumi_gcp/artifactregistry/__init__.py +1 -0
  11. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  12. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  13. pulumi_gcp/artifactregistry/outputs.py +8 -16
  14. pulumi_gcp/beyondcorp/__init__.py +0 -5
  15. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  16. pulumi_gcp/beyondcorp/outputs.py +0 -200
  17. pulumi_gcp/bigquery/_inputs.py +114 -4
  18. pulumi_gcp/bigquery/app_profile.py +52 -19
  19. pulumi_gcp/bigquery/dataset_access.py +8 -4
  20. pulumi_gcp/bigquery/outputs.py +75 -5
  21. pulumi_gcp/bigquery/table.py +21 -7
  22. pulumi_gcp/bigtable/app_profile.py +50 -15
  23. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  24. pulumi_gcp/bigtable/table.py +42 -42
  25. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  26. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  27. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  28. pulumi_gcp/billing/_inputs.py +0 -6
  29. pulumi_gcp/billing/outputs.py +0 -4
  30. pulumi_gcp/certificatemanager/__init__.py +1 -0
  31. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  32. pulumi_gcp/certificatemanager/outputs.py +41 -0
  33. pulumi_gcp/cloudbuild/_inputs.py +289 -45
  34. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  35. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  36. pulumi_gcp/cloudbuild/outputs.py +366 -30
  37. pulumi_gcp/cloudbuild/trigger.py +156 -0
  38. pulumi_gcp/cloudbuild/worker_pool.py +23 -34
  39. pulumi_gcp/cloudfunctions/function.py +8 -4
  40. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  41. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  42. pulumi_gcp/cloudrunv2/_inputs.py +23 -26
  43. pulumi_gcp/cloudrunv2/outputs.py +28 -30
  44. pulumi_gcp/cloudrunv2/service.py +18 -12
  45. pulumi_gcp/cloudtasks/queue.py +98 -2
  46. pulumi_gcp/colab/_inputs.py +1 -114
  47. pulumi_gcp/colab/outputs.py +1 -106
  48. pulumi_gcp/composer/environment.py +49 -28
  49. pulumi_gcp/compute/_inputs.py +80 -0
  50. pulumi_gcp/compute/backend_bucket.py +54 -0
  51. pulumi_gcp/compute/backend_service.py +54 -0
  52. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  53. pulumi_gcp/compute/get_backend_service.py +12 -1
  54. pulumi_gcp/compute/instance_from_machine_image.py +110 -75
  55. pulumi_gcp/compute/instance_from_template.py +110 -75
  56. pulumi_gcp/compute/instance_group_manager.py +14 -7
  57. pulumi_gcp/compute/instance_template.py +14 -7
  58. pulumi_gcp/compute/interconnect.py +8 -4
  59. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  60. pulumi_gcp/compute/organization_security_policy.py +83 -51
  61. pulumi_gcp/compute/outputs.py +128 -0
  62. pulumi_gcp/compute/packet_mirroring.py +6 -0
  63. pulumi_gcp/compute/region_instance_group_manager.py +14 -7
  64. pulumi_gcp/compute/subnetwork.py +0 -98
  65. pulumi_gcp/config/__init__.pyi +2 -2
  66. pulumi_gcp/config/vars.py +4 -4
  67. pulumi_gcp/container/_inputs.py +20 -0
  68. pulumi_gcp/container/aws_cluster.py +42 -28
  69. pulumi_gcp/container/aws_node_pool.py +42 -28
  70. pulumi_gcp/container/azure_cluster.py +70 -35
  71. pulumi_gcp/container/azure_node_pool.py +42 -28
  72. pulumi_gcp/container/outputs.py +25 -0
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  74. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  75. pulumi_gcp/dataplex/asset.py +21 -28
  76. pulumi_gcp/dataplex/zone.py +21 -28
  77. pulumi_gcp/dataproc/cluster.py +14 -21
  78. pulumi_gcp/dataproc/workflow_template.py +105 -42
  79. pulumi_gcp/diagflow/_inputs.py +152 -0
  80. pulumi_gcp/diagflow/cx_agent.py +425 -0
  81. pulumi_gcp/diagflow/outputs.py +143 -0
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  84. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  85. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  86. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  87. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  88. pulumi_gcp/firebase/data_connect_service.py +4 -8
  89. pulumi_gcp/firebase/database_instance.py +4 -8
  90. pulumi_gcp/gkehub/_inputs.py +0 -60
  91. pulumi_gcp/gkehub/get_membership.py +1 -12
  92. pulumi_gcp/gkehub/membership.py +0 -70
  93. pulumi_gcp/gkehub/outputs.py +0 -36
  94. pulumi_gcp/iap/__init__.py +4 -0
  95. pulumi_gcp/iap/_inputs.py +130 -0
  96. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  97. pulumi_gcp/iap/outputs.py +76 -0
  98. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
  99. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
  100. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  101. pulumi_gcp/kms/autokey_config.py +0 -2
  102. pulumi_gcp/kms/key_handle.py +0 -2
  103. pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
  104. pulumi_gcp/logging/folder_bucket_config.py +21 -7
  105. pulumi_gcp/logging/organization_bucket_config.py +21 -7
  106. pulumi_gcp/memorystore/get_instance.py +1 -12
  107. pulumi_gcp/memorystore/instance.py +0 -70
  108. pulumi_gcp/monitoring/dashboard.py +14 -7
  109. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  110. pulumi_gcp/notebooks/__init__.py +0 -1
  111. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  112. pulumi_gcp/organizations/project.py +21 -7
  113. pulumi_gcp/projects/service.py +2 -4
  114. pulumi_gcp/provider.py +20 -20
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/cluster.py +0 -70
  117. pulumi_gcp/redis/get_cluster.py +1 -12
  118. pulumi_gcp/saasruntime/__init__.py +11 -0
  119. pulumi_gcp/saasruntime/_inputs.py +55 -0
  120. pulumi_gcp/saasruntime/outputs.py +39 -0
  121. pulumi_gcp/saasruntime/saa_s.py +815 -0
  122. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  123. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  124. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  125. pulumi_gcp/sql/database_instance.py +61 -7
  126. pulumi_gcp/sql/get_database_instance.py +12 -1
  127. pulumi_gcp/sql/outputs.py +11 -0
  128. pulumi_gcp/sql/user.py +61 -0
  129. pulumi_gcp/storage/_inputs.py +7 -7
  130. pulumi_gcp/storage/bucket.py +14 -7
  131. pulumi_gcp/storage/outputs.py +7 -7
  132. pulumi_gcp/tpu/__init__.py +0 -2
  133. pulumi_gcp/tpu/_inputs.py +0 -93
  134. pulumi_gcp/tpu/outputs.py +0 -72
  135. pulumi_gcp/vertex/_inputs.py +8 -9
  136. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  138. pulumi_gcp/vertex/ai_index.py +24 -23
  139. pulumi_gcp/vertex/outputs.py +7 -8
  140. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
  141. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
  142. pulumi_gcp/beyondcorp/application.py +0 -746
  143. pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
  144. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  145. pulumi_gcp/notebooks/location.py +0 -285
  146. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  147. pulumi_gcp/tpu/node.py +0 -1062
  148. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
  149. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/top_level.txt +0 -0
@@ -1,903 +0,0 @@
1
- # coding=utf-8
2
- # *** WARNING: this file was generated by pulumi-language-python. ***
3
- # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
-
5
- import builtins as _builtins
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__ = ['ApplicationIamPolicyArgs', 'ApplicationIamPolicy']
18
-
19
- @pulumi.input_type
20
- class ApplicationIamPolicyArgs:
21
- def __init__(__self__, *,
22
- application_id: pulumi.Input[_builtins.str],
23
- policy_data: pulumi.Input[_builtins.str],
24
- security_gateways_id: pulumi.Input[_builtins.str],
25
- project: Optional[pulumi.Input[_builtins.str]] = None):
26
- """
27
- The set of arguments for constructing a ApplicationIamPolicy resource.
28
- :param pulumi.Input[_builtins.str] application_id: Used to find the parent resource to bind the IAM policy to
29
- :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
30
- a `organizations_get_iam_policy` data source.
31
- :param pulumi.Input[_builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
32
- :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
33
- 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.
34
- """
35
- pulumi.set(__self__, "application_id", application_id)
36
- pulumi.set(__self__, "policy_data", policy_data)
37
- pulumi.set(__self__, "security_gateways_id", security_gateways_id)
38
- if project is not None:
39
- pulumi.set(__self__, "project", project)
40
-
41
- @_builtins.property
42
- @pulumi.getter(name="applicationId")
43
- def application_id(self) -> pulumi.Input[_builtins.str]:
44
- """
45
- Used to find the parent resource to bind the IAM policy to
46
- """
47
- return pulumi.get(self, "application_id")
48
-
49
- @application_id.setter
50
- def application_id(self, value: pulumi.Input[_builtins.str]):
51
- pulumi.set(self, "application_id", value)
52
-
53
- @_builtins.property
54
- @pulumi.getter(name="policyData")
55
- def policy_data(self) -> pulumi.Input[_builtins.str]:
56
- """
57
- The policy data generated by
58
- a `organizations_get_iam_policy` data source.
59
- """
60
- return pulumi.get(self, "policy_data")
61
-
62
- @policy_data.setter
63
- def policy_data(self, value: pulumi.Input[_builtins.str]):
64
- pulumi.set(self, "policy_data", value)
65
-
66
- @_builtins.property
67
- @pulumi.getter(name="securityGatewaysId")
68
- def security_gateways_id(self) -> pulumi.Input[_builtins.str]:
69
- """
70
- Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
71
- """
72
- return pulumi.get(self, "security_gateways_id")
73
-
74
- @security_gateways_id.setter
75
- def security_gateways_id(self, value: pulumi.Input[_builtins.str]):
76
- pulumi.set(self, "security_gateways_id", value)
77
-
78
- @_builtins.property
79
- @pulumi.getter
80
- def project(self) -> Optional[pulumi.Input[_builtins.str]]:
81
- """
82
- The ID of the project in which the resource belongs.
83
- 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.
84
- """
85
- return pulumi.get(self, "project")
86
-
87
- @project.setter
88
- def project(self, value: Optional[pulumi.Input[_builtins.str]]):
89
- pulumi.set(self, "project", value)
90
-
91
-
92
- @pulumi.input_type
93
- class _ApplicationIamPolicyState:
94
- def __init__(__self__, *,
95
- application_id: Optional[pulumi.Input[_builtins.str]] = None,
96
- etag: Optional[pulumi.Input[_builtins.str]] = None,
97
- policy_data: Optional[pulumi.Input[_builtins.str]] = None,
98
- project: Optional[pulumi.Input[_builtins.str]] = None,
99
- security_gateways_id: Optional[pulumi.Input[_builtins.str]] = None):
100
- """
101
- Input properties used for looking up and filtering ApplicationIamPolicy resources.
102
- :param pulumi.Input[_builtins.str] application_id: Used to find the parent resource to bind the IAM policy to
103
- :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
104
- :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
105
- a `organizations_get_iam_policy` data source.
106
- :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
107
- 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.
108
- :param pulumi.Input[_builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
109
- """
110
- if application_id is not None:
111
- pulumi.set(__self__, "application_id", application_id)
112
- if etag is not None:
113
- pulumi.set(__self__, "etag", etag)
114
- if policy_data is not None:
115
- pulumi.set(__self__, "policy_data", policy_data)
116
- if project is not None:
117
- pulumi.set(__self__, "project", project)
118
- if security_gateways_id is not None:
119
- pulumi.set(__self__, "security_gateways_id", security_gateways_id)
120
-
121
- @_builtins.property
122
- @pulumi.getter(name="applicationId")
123
- def application_id(self) -> Optional[pulumi.Input[_builtins.str]]:
124
- """
125
- Used to find the parent resource to bind the IAM policy to
126
- """
127
- return pulumi.get(self, "application_id")
128
-
129
- @application_id.setter
130
- def application_id(self, value: Optional[pulumi.Input[_builtins.str]]):
131
- pulumi.set(self, "application_id", value)
132
-
133
- @_builtins.property
134
- @pulumi.getter
135
- def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
136
- """
137
- (Computed) The etag of the IAM policy.
138
- """
139
- return pulumi.get(self, "etag")
140
-
141
- @etag.setter
142
- def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
143
- pulumi.set(self, "etag", value)
144
-
145
- @_builtins.property
146
- @pulumi.getter(name="policyData")
147
- def policy_data(self) -> Optional[pulumi.Input[_builtins.str]]:
148
- """
149
- The policy data generated by
150
- a `organizations_get_iam_policy` data source.
151
- """
152
- return pulumi.get(self, "policy_data")
153
-
154
- @policy_data.setter
155
- def policy_data(self, value: Optional[pulumi.Input[_builtins.str]]):
156
- pulumi.set(self, "policy_data", value)
157
-
158
- @_builtins.property
159
- @pulumi.getter
160
- def project(self) -> Optional[pulumi.Input[_builtins.str]]:
161
- """
162
- The ID of the project in which the resource belongs.
163
- 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.
164
- """
165
- return pulumi.get(self, "project")
166
-
167
- @project.setter
168
- def project(self, value: Optional[pulumi.Input[_builtins.str]]):
169
- pulumi.set(self, "project", value)
170
-
171
- @_builtins.property
172
- @pulumi.getter(name="securityGatewaysId")
173
- def security_gateways_id(self) -> Optional[pulumi.Input[_builtins.str]]:
174
- """
175
- Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
176
- """
177
- return pulumi.get(self, "security_gateways_id")
178
-
179
- @security_gateways_id.setter
180
- def security_gateways_id(self, value: Optional[pulumi.Input[_builtins.str]]):
181
- pulumi.set(self, "security_gateways_id", value)
182
-
183
-
184
- @pulumi.type_token("gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy")
185
- class ApplicationIamPolicy(pulumi.CustomResource):
186
- @overload
187
- def __init__(__self__,
188
- resource_name: str,
189
- opts: Optional[pulumi.ResourceOptions] = None,
190
- application_id: Optional[pulumi.Input[_builtins.str]] = None,
191
- policy_data: Optional[pulumi.Input[_builtins.str]] = None,
192
- project: Optional[pulumi.Input[_builtins.str]] = None,
193
- security_gateways_id: Optional[pulumi.Input[_builtins.str]] = None,
194
- __props__=None):
195
- """
196
- > **Warning:** `beyondcorp.Application` and associated IAM resources are deprecated. Use `beyondcorp.SecurityGatewayApplication` instead.
197
-
198
- Three different resources help you manage your IAM policy for BeyondCorp Application. Each of these resources serves a different use case:
199
-
200
- * `beyondcorp.ApplicationIamPolicy`: Authoritative. Sets the IAM policy for the application and replaces any existing policy already attached.
201
- * `beyondcorp.ApplicationIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the application are preserved.
202
- * `beyondcorp.ApplicationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the application are preserved.
203
-
204
- A data source can be used to retrieve policy data in advent you do not need creation
205
-
206
- * `beyondcorp.ApplicationIamPolicy`: Retrieves the IAM policy for the application
207
-
208
- > **Note:** `beyondcorp.ApplicationIamPolicy` **cannot** be used in conjunction with `beyondcorp.ApplicationIamBinding` and `beyondcorp.ApplicationIamMember` or they will fight over what your policy should be.
209
-
210
- > **Note:** `beyondcorp.ApplicationIamBinding` resources **can be** used in conjunction with `beyondcorp.ApplicationIamMember` resources **only if** they do not grant privilege to the same role.
211
-
212
- > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
213
-
214
- ## beyondcorp.ApplicationIamPolicy
215
-
216
- ```python
217
- import pulumi
218
- import pulumi_gcp as gcp
219
-
220
- admin = gcp.organizations.get_iam_policy(bindings=[{
221
- "role": "roles/beyondcorp.securityGatewayUser",
222
- "members": ["user:jane@example.com"],
223
- }])
224
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
225
- project=example["project"],
226
- security_gateways_id=example["securityGatewaysId"],
227
- application_id=example["applicationId"],
228
- policy_data=admin.policy_data)
229
- ```
230
-
231
- With IAM Conditions:
232
-
233
- ```python
234
- import pulumi
235
- import pulumi_gcp as gcp
236
-
237
- admin = gcp.organizations.get_iam_policy(bindings=[{
238
- "role": "roles/beyondcorp.securityGatewayUser",
239
- "members": ["user:jane@example.com"],
240
- "condition": {
241
- "title": "expires_after_2019_12_31",
242
- "description": "Expiring at midnight of 2019-12-31",
243
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
244
- },
245
- }])
246
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
247
- project=example["project"],
248
- security_gateways_id=example["securityGatewaysId"],
249
- application_id=example["applicationId"],
250
- policy_data=admin.policy_data)
251
- ```
252
- ## beyondcorp.ApplicationIamBinding
253
-
254
- ```python
255
- import pulumi
256
- import pulumi_gcp as gcp
257
-
258
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
259
- project=example["project"],
260
- security_gateways_id=example["securityGatewaysId"],
261
- application_id=example["applicationId"],
262
- role="roles/beyondcorp.securityGatewayUser",
263
- members=["user:jane@example.com"])
264
- ```
265
-
266
- With IAM Conditions:
267
-
268
- ```python
269
- import pulumi
270
- import pulumi_gcp as gcp
271
-
272
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
273
- project=example["project"],
274
- security_gateways_id=example["securityGatewaysId"],
275
- application_id=example["applicationId"],
276
- role="roles/beyondcorp.securityGatewayUser",
277
- members=["user:jane@example.com"],
278
- condition={
279
- "title": "expires_after_2019_12_31",
280
- "description": "Expiring at midnight of 2019-12-31",
281
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
282
- })
283
- ```
284
- ## beyondcorp.ApplicationIamMember
285
-
286
- ```python
287
- import pulumi
288
- import pulumi_gcp as gcp
289
-
290
- member = gcp.beyondcorp.ApplicationIamMember("member",
291
- project=example["project"],
292
- security_gateways_id=example["securityGatewaysId"],
293
- application_id=example["applicationId"],
294
- role="roles/beyondcorp.securityGatewayUser",
295
- member="user:jane@example.com")
296
- ```
297
-
298
- With IAM Conditions:
299
-
300
- ```python
301
- import pulumi
302
- import pulumi_gcp as gcp
303
-
304
- member = gcp.beyondcorp.ApplicationIamMember("member",
305
- project=example["project"],
306
- security_gateways_id=example["securityGatewaysId"],
307
- application_id=example["applicationId"],
308
- role="roles/beyondcorp.securityGatewayUser",
309
- member="user:jane@example.com",
310
- condition={
311
- "title": "expires_after_2019_12_31",
312
- "description": "Expiring at midnight of 2019-12-31",
313
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
314
- })
315
- ```
316
-
317
- ## This resource supports User Project Overrides.
318
-
319
- -
320
-
321
- # IAM policy for BeyondCorp Application
322
- > **Warning:** `beyondcorp.Application` and associated IAM resources are deprecated. Use `beyondcorp.SecurityGatewayApplication` instead.
323
-
324
- Three different resources help you manage your IAM policy for BeyondCorp Application. Each of these resources serves a different use case:
325
-
326
- * `beyondcorp.ApplicationIamPolicy`: Authoritative. Sets the IAM policy for the application and replaces any existing policy already attached.
327
- * `beyondcorp.ApplicationIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the application are preserved.
328
- * `beyondcorp.ApplicationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the application are preserved.
329
-
330
- A data source can be used to retrieve policy data in advent you do not need creation
331
-
332
- * `beyondcorp.ApplicationIamPolicy`: Retrieves the IAM policy for the application
333
-
334
- > **Note:** `beyondcorp.ApplicationIamPolicy` **cannot** be used in conjunction with `beyondcorp.ApplicationIamBinding` and `beyondcorp.ApplicationIamMember` or they will fight over what your policy should be.
335
-
336
- > **Note:** `beyondcorp.ApplicationIamBinding` resources **can be** used in conjunction with `beyondcorp.ApplicationIamMember` resources **only if** they do not grant privilege to the same role.
337
-
338
- > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
339
-
340
- ## beyondcorp.ApplicationIamPolicy
341
-
342
- ```python
343
- import pulumi
344
- import pulumi_gcp as gcp
345
-
346
- admin = gcp.organizations.get_iam_policy(bindings=[{
347
- "role": "roles/beyondcorp.securityGatewayUser",
348
- "members": ["user:jane@example.com"],
349
- }])
350
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
351
- project=example["project"],
352
- security_gateways_id=example["securityGatewaysId"],
353
- application_id=example["applicationId"],
354
- policy_data=admin.policy_data)
355
- ```
356
-
357
- With IAM Conditions:
358
-
359
- ```python
360
- import pulumi
361
- import pulumi_gcp as gcp
362
-
363
- admin = gcp.organizations.get_iam_policy(bindings=[{
364
- "role": "roles/beyondcorp.securityGatewayUser",
365
- "members": ["user:jane@example.com"],
366
- "condition": {
367
- "title": "expires_after_2019_12_31",
368
- "description": "Expiring at midnight of 2019-12-31",
369
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
370
- },
371
- }])
372
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
373
- project=example["project"],
374
- security_gateways_id=example["securityGatewaysId"],
375
- application_id=example["applicationId"],
376
- policy_data=admin.policy_data)
377
- ```
378
- ## beyondcorp.ApplicationIamBinding
379
-
380
- ```python
381
- import pulumi
382
- import pulumi_gcp as gcp
383
-
384
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
385
- project=example["project"],
386
- security_gateways_id=example["securityGatewaysId"],
387
- application_id=example["applicationId"],
388
- role="roles/beyondcorp.securityGatewayUser",
389
- members=["user:jane@example.com"])
390
- ```
391
-
392
- With IAM Conditions:
393
-
394
- ```python
395
- import pulumi
396
- import pulumi_gcp as gcp
397
-
398
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
399
- project=example["project"],
400
- security_gateways_id=example["securityGatewaysId"],
401
- application_id=example["applicationId"],
402
- role="roles/beyondcorp.securityGatewayUser",
403
- members=["user:jane@example.com"],
404
- condition={
405
- "title": "expires_after_2019_12_31",
406
- "description": "Expiring at midnight of 2019-12-31",
407
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
408
- })
409
- ```
410
- ## beyondcorp.ApplicationIamMember
411
-
412
- ```python
413
- import pulumi
414
- import pulumi_gcp as gcp
415
-
416
- member = gcp.beyondcorp.ApplicationIamMember("member",
417
- project=example["project"],
418
- security_gateways_id=example["securityGatewaysId"],
419
- application_id=example["applicationId"],
420
- role="roles/beyondcorp.securityGatewayUser",
421
- member="user:jane@example.com")
422
- ```
423
-
424
- With IAM Conditions:
425
-
426
- ```python
427
- import pulumi
428
- import pulumi_gcp as gcp
429
-
430
- member = gcp.beyondcorp.ApplicationIamMember("member",
431
- project=example["project"],
432
- security_gateways_id=example["securityGatewaysId"],
433
- application_id=example["applicationId"],
434
- role="roles/beyondcorp.securityGatewayUser",
435
- member="user:jane@example.com",
436
- condition={
437
- "title": "expires_after_2019_12_31",
438
- "description": "Expiring at midnight of 2019-12-31",
439
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
440
- })
441
- ```
442
-
443
- ## Import
444
-
445
- For all import syntaxes, the "resource in question" can take any of the following forms:
446
-
447
- * projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
448
-
449
- * {{project}}/{{security_gateways_id}}/{{application_id}}
450
-
451
- * {{security_gateways_id}}/{{application_id}}
452
-
453
- * {{application_id}}
454
-
455
- Any variables not passed in the import command will be taken from the provider configuration.
456
-
457
- BeyondCorp application IAM resources can be imported using the resource identifiers, role, and member.
458
-
459
- IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
460
-
461
- ```sh
462
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor "projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}} roles/beyondcorp.securityGatewayUser user:jane@example.com"
463
- ```
464
-
465
- IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
466
-
467
- ```sh
468
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor "projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}} roles/beyondcorp.securityGatewayUser"
469
- ```
470
-
471
- IAM policy imports use the identifier of the resource in question, e.g.
472
-
473
- ```sh
474
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
475
- ```
476
-
477
- -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
478
-
479
- full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
480
-
481
- :param str resource_name: The name of the resource.
482
- :param pulumi.ResourceOptions opts: Options for the resource.
483
- :param pulumi.Input[_builtins.str] application_id: Used to find the parent resource to bind the IAM policy to
484
- :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
485
- a `organizations_get_iam_policy` data source.
486
- :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
487
- 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.
488
- :param pulumi.Input[_builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
489
- """
490
- ...
491
- @overload
492
- def __init__(__self__,
493
- resource_name: str,
494
- args: ApplicationIamPolicyArgs,
495
- opts: Optional[pulumi.ResourceOptions] = None):
496
- """
497
- > **Warning:** `beyondcorp.Application` and associated IAM resources are deprecated. Use `beyondcorp.SecurityGatewayApplication` instead.
498
-
499
- Three different resources help you manage your IAM policy for BeyondCorp Application. Each of these resources serves a different use case:
500
-
501
- * `beyondcorp.ApplicationIamPolicy`: Authoritative. Sets the IAM policy for the application and replaces any existing policy already attached.
502
- * `beyondcorp.ApplicationIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the application are preserved.
503
- * `beyondcorp.ApplicationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the application are preserved.
504
-
505
- A data source can be used to retrieve policy data in advent you do not need creation
506
-
507
- * `beyondcorp.ApplicationIamPolicy`: Retrieves the IAM policy for the application
508
-
509
- > **Note:** `beyondcorp.ApplicationIamPolicy` **cannot** be used in conjunction with `beyondcorp.ApplicationIamBinding` and `beyondcorp.ApplicationIamMember` or they will fight over what your policy should be.
510
-
511
- > **Note:** `beyondcorp.ApplicationIamBinding` resources **can be** used in conjunction with `beyondcorp.ApplicationIamMember` resources **only if** they do not grant privilege to the same role.
512
-
513
- > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
514
-
515
- ## beyondcorp.ApplicationIamPolicy
516
-
517
- ```python
518
- import pulumi
519
- import pulumi_gcp as gcp
520
-
521
- admin = gcp.organizations.get_iam_policy(bindings=[{
522
- "role": "roles/beyondcorp.securityGatewayUser",
523
- "members": ["user:jane@example.com"],
524
- }])
525
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
526
- project=example["project"],
527
- security_gateways_id=example["securityGatewaysId"],
528
- application_id=example["applicationId"],
529
- policy_data=admin.policy_data)
530
- ```
531
-
532
- With IAM Conditions:
533
-
534
- ```python
535
- import pulumi
536
- import pulumi_gcp as gcp
537
-
538
- admin = gcp.organizations.get_iam_policy(bindings=[{
539
- "role": "roles/beyondcorp.securityGatewayUser",
540
- "members": ["user:jane@example.com"],
541
- "condition": {
542
- "title": "expires_after_2019_12_31",
543
- "description": "Expiring at midnight of 2019-12-31",
544
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
545
- },
546
- }])
547
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
548
- project=example["project"],
549
- security_gateways_id=example["securityGatewaysId"],
550
- application_id=example["applicationId"],
551
- policy_data=admin.policy_data)
552
- ```
553
- ## beyondcorp.ApplicationIamBinding
554
-
555
- ```python
556
- import pulumi
557
- import pulumi_gcp as gcp
558
-
559
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
560
- project=example["project"],
561
- security_gateways_id=example["securityGatewaysId"],
562
- application_id=example["applicationId"],
563
- role="roles/beyondcorp.securityGatewayUser",
564
- members=["user:jane@example.com"])
565
- ```
566
-
567
- With IAM Conditions:
568
-
569
- ```python
570
- import pulumi
571
- import pulumi_gcp as gcp
572
-
573
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
574
- project=example["project"],
575
- security_gateways_id=example["securityGatewaysId"],
576
- application_id=example["applicationId"],
577
- role="roles/beyondcorp.securityGatewayUser",
578
- members=["user:jane@example.com"],
579
- condition={
580
- "title": "expires_after_2019_12_31",
581
- "description": "Expiring at midnight of 2019-12-31",
582
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
583
- })
584
- ```
585
- ## beyondcorp.ApplicationIamMember
586
-
587
- ```python
588
- import pulumi
589
- import pulumi_gcp as gcp
590
-
591
- member = gcp.beyondcorp.ApplicationIamMember("member",
592
- project=example["project"],
593
- security_gateways_id=example["securityGatewaysId"],
594
- application_id=example["applicationId"],
595
- role="roles/beyondcorp.securityGatewayUser",
596
- member="user:jane@example.com")
597
- ```
598
-
599
- With IAM Conditions:
600
-
601
- ```python
602
- import pulumi
603
- import pulumi_gcp as gcp
604
-
605
- member = gcp.beyondcorp.ApplicationIamMember("member",
606
- project=example["project"],
607
- security_gateways_id=example["securityGatewaysId"],
608
- application_id=example["applicationId"],
609
- role="roles/beyondcorp.securityGatewayUser",
610
- member="user:jane@example.com",
611
- condition={
612
- "title": "expires_after_2019_12_31",
613
- "description": "Expiring at midnight of 2019-12-31",
614
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
615
- })
616
- ```
617
-
618
- ## This resource supports User Project Overrides.
619
-
620
- -
621
-
622
- # IAM policy for BeyondCorp Application
623
- > **Warning:** `beyondcorp.Application` and associated IAM resources are deprecated. Use `beyondcorp.SecurityGatewayApplication` instead.
624
-
625
- Three different resources help you manage your IAM policy for BeyondCorp Application. Each of these resources serves a different use case:
626
-
627
- * `beyondcorp.ApplicationIamPolicy`: Authoritative. Sets the IAM policy for the application and replaces any existing policy already attached.
628
- * `beyondcorp.ApplicationIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the application are preserved.
629
- * `beyondcorp.ApplicationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the application are preserved.
630
-
631
- A data source can be used to retrieve policy data in advent you do not need creation
632
-
633
- * `beyondcorp.ApplicationIamPolicy`: Retrieves the IAM policy for the application
634
-
635
- > **Note:** `beyondcorp.ApplicationIamPolicy` **cannot** be used in conjunction with `beyondcorp.ApplicationIamBinding` and `beyondcorp.ApplicationIamMember` or they will fight over what your policy should be.
636
-
637
- > **Note:** `beyondcorp.ApplicationIamBinding` resources **can be** used in conjunction with `beyondcorp.ApplicationIamMember` resources **only if** they do not grant privilege to the same role.
638
-
639
- > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
640
-
641
- ## beyondcorp.ApplicationIamPolicy
642
-
643
- ```python
644
- import pulumi
645
- import pulumi_gcp as gcp
646
-
647
- admin = gcp.organizations.get_iam_policy(bindings=[{
648
- "role": "roles/beyondcorp.securityGatewayUser",
649
- "members": ["user:jane@example.com"],
650
- }])
651
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
652
- project=example["project"],
653
- security_gateways_id=example["securityGatewaysId"],
654
- application_id=example["applicationId"],
655
- policy_data=admin.policy_data)
656
- ```
657
-
658
- With IAM Conditions:
659
-
660
- ```python
661
- import pulumi
662
- import pulumi_gcp as gcp
663
-
664
- admin = gcp.organizations.get_iam_policy(bindings=[{
665
- "role": "roles/beyondcorp.securityGatewayUser",
666
- "members": ["user:jane@example.com"],
667
- "condition": {
668
- "title": "expires_after_2019_12_31",
669
- "description": "Expiring at midnight of 2019-12-31",
670
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
671
- },
672
- }])
673
- policy = gcp.beyondcorp.ApplicationIamPolicy("policy",
674
- project=example["project"],
675
- security_gateways_id=example["securityGatewaysId"],
676
- application_id=example["applicationId"],
677
- policy_data=admin.policy_data)
678
- ```
679
- ## beyondcorp.ApplicationIamBinding
680
-
681
- ```python
682
- import pulumi
683
- import pulumi_gcp as gcp
684
-
685
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
686
- project=example["project"],
687
- security_gateways_id=example["securityGatewaysId"],
688
- application_id=example["applicationId"],
689
- role="roles/beyondcorp.securityGatewayUser",
690
- members=["user:jane@example.com"])
691
- ```
692
-
693
- With IAM Conditions:
694
-
695
- ```python
696
- import pulumi
697
- import pulumi_gcp as gcp
698
-
699
- binding = gcp.beyondcorp.ApplicationIamBinding("binding",
700
- project=example["project"],
701
- security_gateways_id=example["securityGatewaysId"],
702
- application_id=example["applicationId"],
703
- role="roles/beyondcorp.securityGatewayUser",
704
- members=["user:jane@example.com"],
705
- condition={
706
- "title": "expires_after_2019_12_31",
707
- "description": "Expiring at midnight of 2019-12-31",
708
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
709
- })
710
- ```
711
- ## beyondcorp.ApplicationIamMember
712
-
713
- ```python
714
- import pulumi
715
- import pulumi_gcp as gcp
716
-
717
- member = gcp.beyondcorp.ApplicationIamMember("member",
718
- project=example["project"],
719
- security_gateways_id=example["securityGatewaysId"],
720
- application_id=example["applicationId"],
721
- role="roles/beyondcorp.securityGatewayUser",
722
- member="user:jane@example.com")
723
- ```
724
-
725
- With IAM Conditions:
726
-
727
- ```python
728
- import pulumi
729
- import pulumi_gcp as gcp
730
-
731
- member = gcp.beyondcorp.ApplicationIamMember("member",
732
- project=example["project"],
733
- security_gateways_id=example["securityGatewaysId"],
734
- application_id=example["applicationId"],
735
- role="roles/beyondcorp.securityGatewayUser",
736
- member="user:jane@example.com",
737
- condition={
738
- "title": "expires_after_2019_12_31",
739
- "description": "Expiring at midnight of 2019-12-31",
740
- "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
741
- })
742
- ```
743
-
744
- ## Import
745
-
746
- For all import syntaxes, the "resource in question" can take any of the following forms:
747
-
748
- * projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
749
-
750
- * {{project}}/{{security_gateways_id}}/{{application_id}}
751
-
752
- * {{security_gateways_id}}/{{application_id}}
753
-
754
- * {{application_id}}
755
-
756
- Any variables not passed in the import command will be taken from the provider configuration.
757
-
758
- BeyondCorp application IAM resources can be imported using the resource identifiers, role, and member.
759
-
760
- IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
761
-
762
- ```sh
763
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor "projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}} roles/beyondcorp.securityGatewayUser user:jane@example.com"
764
- ```
765
-
766
- IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
767
-
768
- ```sh
769
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor "projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}} roles/beyondcorp.securityGatewayUser"
770
- ```
771
-
772
- IAM policy imports use the identifier of the resource in question, e.g.
773
-
774
- ```sh
775
- $ pulumi import gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy editor projects/{{project}}/locations/global/securityGateways/{{security_gateways_id}}/applications/{{application_id}}
776
- ```
777
-
778
- -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
779
-
780
- full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
781
-
782
- :param str resource_name: The name of the resource.
783
- :param ApplicationIamPolicyArgs args: The arguments to use to populate this resource's properties.
784
- :param pulumi.ResourceOptions opts: Options for the resource.
785
- """
786
- ...
787
- def __init__(__self__, resource_name: str, *args, **kwargs):
788
- resource_args, opts = _utilities.get_resource_args_opts(ApplicationIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
789
- if resource_args is not None:
790
- __self__._internal_init(resource_name, opts, **resource_args.__dict__)
791
- else:
792
- __self__._internal_init(resource_name, *args, **kwargs)
793
-
794
- def _internal_init(__self__,
795
- resource_name: str,
796
- opts: Optional[pulumi.ResourceOptions] = None,
797
- application_id: Optional[pulumi.Input[_builtins.str]] = None,
798
- policy_data: Optional[pulumi.Input[_builtins.str]] = None,
799
- project: Optional[pulumi.Input[_builtins.str]] = None,
800
- security_gateways_id: Optional[pulumi.Input[_builtins.str]] = None,
801
- __props__=None):
802
- opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
803
- if not isinstance(opts, pulumi.ResourceOptions):
804
- raise TypeError('Expected resource options to be a ResourceOptions instance')
805
- if opts.id is None:
806
- if __props__ is not None:
807
- raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
808
- __props__ = ApplicationIamPolicyArgs.__new__(ApplicationIamPolicyArgs)
809
-
810
- if application_id is None and not opts.urn:
811
- raise TypeError("Missing required property 'application_id'")
812
- __props__.__dict__["application_id"] = application_id
813
- if policy_data is None and not opts.urn:
814
- raise TypeError("Missing required property 'policy_data'")
815
- __props__.__dict__["policy_data"] = policy_data
816
- __props__.__dict__["project"] = project
817
- if security_gateways_id is None and not opts.urn:
818
- raise TypeError("Missing required property 'security_gateways_id'")
819
- __props__.__dict__["security_gateways_id"] = security_gateways_id
820
- __props__.__dict__["etag"] = None
821
- super(ApplicationIamPolicy, __self__).__init__(
822
- 'gcp:beyondcorp/applicationIamPolicy:ApplicationIamPolicy',
823
- resource_name,
824
- __props__,
825
- opts)
826
-
827
- @staticmethod
828
- def get(resource_name: str,
829
- id: pulumi.Input[str],
830
- opts: Optional[pulumi.ResourceOptions] = None,
831
- application_id: Optional[pulumi.Input[_builtins.str]] = None,
832
- etag: Optional[pulumi.Input[_builtins.str]] = None,
833
- policy_data: Optional[pulumi.Input[_builtins.str]] = None,
834
- project: Optional[pulumi.Input[_builtins.str]] = None,
835
- security_gateways_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ApplicationIamPolicy':
836
- """
837
- Get an existing ApplicationIamPolicy resource's state with the given name, id, and optional extra
838
- properties used to qualify the lookup.
839
-
840
- :param str resource_name: The unique name of the resulting resource.
841
- :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
842
- :param pulumi.ResourceOptions opts: Options for the resource.
843
- :param pulumi.Input[_builtins.str] application_id: Used to find the parent resource to bind the IAM policy to
844
- :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
845
- :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
846
- a `organizations_get_iam_policy` data source.
847
- :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
848
- 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.
849
- :param pulumi.Input[_builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
850
- """
851
- opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
852
-
853
- __props__ = _ApplicationIamPolicyState.__new__(_ApplicationIamPolicyState)
854
-
855
- __props__.__dict__["application_id"] = application_id
856
- __props__.__dict__["etag"] = etag
857
- __props__.__dict__["policy_data"] = policy_data
858
- __props__.__dict__["project"] = project
859
- __props__.__dict__["security_gateways_id"] = security_gateways_id
860
- return ApplicationIamPolicy(resource_name, opts=opts, __props__=__props__)
861
-
862
- @_builtins.property
863
- @pulumi.getter(name="applicationId")
864
- def application_id(self) -> pulumi.Output[_builtins.str]:
865
- """
866
- Used to find the parent resource to bind the IAM policy to
867
- """
868
- return pulumi.get(self, "application_id")
869
-
870
- @_builtins.property
871
- @pulumi.getter
872
- def etag(self) -> pulumi.Output[_builtins.str]:
873
- """
874
- (Computed) The etag of the IAM policy.
875
- """
876
- return pulumi.get(self, "etag")
877
-
878
- @_builtins.property
879
- @pulumi.getter(name="policyData")
880
- def policy_data(self) -> pulumi.Output[_builtins.str]:
881
- """
882
- The policy data generated by
883
- a `organizations_get_iam_policy` data source.
884
- """
885
- return pulumi.get(self, "policy_data")
886
-
887
- @_builtins.property
888
- @pulumi.getter
889
- def project(self) -> pulumi.Output[_builtins.str]:
890
- """
891
- The ID of the project in which the resource belongs.
892
- 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.
893
- """
894
- return pulumi.get(self, "project")
895
-
896
- @_builtins.property
897
- @pulumi.getter(name="securityGatewaysId")
898
- def security_gateways_id(self) -> pulumi.Output[_builtins.str]:
899
- """
900
- Part of `parent`. See documentation of `projectsId`. Used to find the parent resource to bind the IAM policy to
901
- """
902
- return pulumi.get(self, "security_gateways_id")
903
-