pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.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 (124) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/_inputs.py +93 -1
  3. pulumi_gcp/alloydb/outputs.py +128 -2
  4. pulumi_gcp/applicationintegration/client.py +18 -24
  5. pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
  6. pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
  7. pulumi_gcp/bigquery/_inputs.py +20 -0
  8. pulumi_gcp/bigquery/outputs.py +12 -0
  9. pulumi_gcp/bigquery/table.py +61 -0
  10. pulumi_gcp/bigtable/table.py +7 -7
  11. pulumi_gcp/certificatemanager/certificate.py +53 -7
  12. pulumi_gcp/certificatemanager/outputs.py +8 -2
  13. pulumi_gcp/clouddeploy/_inputs.py +20 -0
  14. pulumi_gcp/clouddeploy/outputs.py +15 -1
  15. pulumi_gcp/cloudfunctions/function.py +11 -11
  16. pulumi_gcp/cloudfunctionsv2/function.py +24 -24
  17. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
  18. pulumi_gcp/cloudidentity/outputs.py +18 -38
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +600 -17
  21. pulumi_gcp/compute/backend_service.py +195 -7
  22. pulumi_gcp/compute/disk.py +108 -0
  23. pulumi_gcp/compute/firewall_policy.py +20 -0
  24. pulumi_gcp/compute/firewall_policy_association.py +28 -2
  25. pulumi_gcp/compute/get_backend_service.py +12 -1
  26. pulumi_gcp/compute/get_disk.py +23 -1
  27. pulumi_gcp/compute/get_region_disk.py +23 -1
  28. pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
  29. pulumi_gcp/compute/outputs.py +623 -23
  30. pulumi_gcp/compute/region_backend_service.py +193 -7
  31. pulumi_gcp/compute/region_disk.py +114 -0
  32. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  33. pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
  34. pulumi_gcp/compute/subnetwork.py +256 -1
  35. pulumi_gcp/compute/target_https_proxy.py +7 -7
  36. pulumi_gcp/config/__init__.pyi +2 -0
  37. pulumi_gcp/config/vars.py +4 -0
  38. pulumi_gcp/container/_inputs.py +6 -6
  39. pulumi_gcp/container/get_attached_versions.py +2 -2
  40. pulumi_gcp/container/outputs.py +8 -8
  41. pulumi_gcp/dataform/repository.py +49 -0
  42. pulumi_gcp/dataproc/get_metastore_service.py +26 -4
  43. pulumi_gcp/dataproc/metastore_federation.py +56 -0
  44. pulumi_gcp/dataproc/metastore_service.py +58 -2
  45. pulumi_gcp/datastream/_inputs.py +273 -0
  46. pulumi_gcp/datastream/connection_profile.py +54 -2
  47. pulumi_gcp/datastream/outputs.py +224 -0
  48. pulumi_gcp/eventarc/__init__.py +2 -0
  49. pulumi_gcp/eventarc/_inputs.py +1798 -0
  50. pulumi_gcp/eventarc/channel.py +85 -93
  51. pulumi_gcp/eventarc/google_api_source.py +997 -0
  52. pulumi_gcp/eventarc/outputs.py +1378 -0
  53. pulumi_gcp/eventarc/pipeline.py +1596 -0
  54. pulumi_gcp/firebase/__init__.py +1 -0
  55. pulumi_gcp/firebase/_inputs.py +154 -0
  56. pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
  57. pulumi_gcp/firebase/data_connect_service.py +40 -2
  58. pulumi_gcp/firebase/hosting_version.py +2 -2
  59. pulumi_gcp/firebase/outputs.py +127 -0
  60. pulumi_gcp/iam/__init__.py +2 -0
  61. pulumi_gcp/iam/_inputs.py +51 -18
  62. pulumi_gcp/iam/folders_policy_binding.py +10 -26
  63. pulumi_gcp/iam/oauth_client.py +979 -0
  64. pulumi_gcp/iam/oauth_client_credential.py +641 -0
  65. pulumi_gcp/iam/organizations_policy_binding.py +8 -24
  66. pulumi_gcp/iam/outputs.py +34 -12
  67. pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
  68. pulumi_gcp/iam/projects_policy_binding.py +8 -24
  69. pulumi_gcp/kms/crypto_key_version.py +14 -7
  70. pulumi_gcp/kms/get_key_rings.py +39 -2
  71. pulumi_gcp/managedkafka/__init__.py +2 -0
  72. pulumi_gcp/managedkafka/_inputs.py +263 -0
  73. pulumi_gcp/managedkafka/connect_cluster.py +795 -0
  74. pulumi_gcp/managedkafka/connector.py +695 -0
  75. pulumi_gcp/managedkafka/outputs.py +248 -0
  76. pulumi_gcp/memorystore/instance.py +7 -7
  77. pulumi_gcp/monitoring/_inputs.py +15 -18
  78. pulumi_gcp/monitoring/alert_policy.py +46 -0
  79. pulumi_gcp/monitoring/outputs.py +10 -12
  80. pulumi_gcp/monitoring/uptime_check_config.py +2 -2
  81. pulumi_gcp/networksecurity/__init__.py +1 -0
  82. pulumi_gcp/networksecurity/_inputs.py +673 -18
  83. pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
  84. pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
  85. pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
  86. pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
  87. pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
  88. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
  89. pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
  90. pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
  91. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
  92. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
  93. pulumi_gcp/networksecurity/outputs.py +495 -12
  94. pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
  95. pulumi_gcp/networkservices/endpoint_policy.py +12 -0
  96. pulumi_gcp/networkservices/gateway.py +242 -120
  97. pulumi_gcp/networkservices/grpc_route.py +12 -0
  98. pulumi_gcp/networkservices/http_route.py +16 -0
  99. pulumi_gcp/networkservices/mesh.py +16 -0
  100. pulumi_gcp/networkservices/service_binding.py +14 -0
  101. pulumi_gcp/networkservices/tcp_route.py +16 -0
  102. pulumi_gcp/networkservices/tls_route.py +12 -0
  103. pulumi_gcp/projects/__init__.py +2 -0
  104. pulumi_gcp/projects/get_iam_custom_role.py +198 -0
  105. pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
  106. pulumi_gcp/projects/outputs.py +96 -0
  107. pulumi_gcp/provider.py +20 -0
  108. pulumi_gcp/pulumi-plugin.json +1 -1
  109. pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
  110. pulumi_gcp/sql/outputs.py +8 -8
  111. pulumi_gcp/storage/_inputs.py +14 -6
  112. pulumi_gcp/storage/insights_report_config.py +121 -20
  113. pulumi_gcp/storage/outputs.py +7 -4
  114. pulumi_gcp/tpu/_inputs.py +21 -1
  115. pulumi_gcp/tpu/outputs.py +13 -1
  116. pulumi_gcp/tpu/v2_vm.py +2 -0
  117. pulumi_gcp/vmwareengine/_inputs.py +6 -0
  118. pulumi_gcp/vmwareengine/outputs.py +8 -0
  119. pulumi_gcp/workflows/workflow.py +75 -7
  120. pulumi_gcp/workstations/workstation_cluster.py +137 -1
  121. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
  122. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
  123. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
  124. {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,979 @@
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__ = ['OauthClientArgs', 'OauthClient']
18
+
19
+ @pulumi.input_type
20
+ class OauthClientArgs:
21
+ def __init__(__self__, *,
22
+ allowed_grant_types: pulumi.Input[Sequence[pulumi.Input[str]]],
23
+ allowed_redirect_uris: pulumi.Input[Sequence[pulumi.Input[str]]],
24
+ allowed_scopes: pulumi.Input[Sequence[pulumi.Input[str]]],
25
+ location: pulumi.Input[str],
26
+ oauth_client_id: pulumi.Input[str],
27
+ client_type: Optional[pulumi.Input[str]] = None,
28
+ description: Optional[pulumi.Input[str]] = None,
29
+ disabled: Optional[pulumi.Input[bool]] = None,
30
+ display_name: Optional[pulumi.Input[str]] = None,
31
+ project: Optional[pulumi.Input[str]] = None):
32
+ """
33
+ The set of arguments for constructing a OauthClient resource.
34
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_grant_types: Required. The list of OAuth grant types is allowed for the OauthClient.
35
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_redirect_uris: Required. The list of redirect uris that is allowed to redirect back
36
+ when authorization process is completed.
37
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_scopes: Required. The list of scopes that the OauthClient is allowed to request during
38
+ OAuth flows.
39
+ The following scopes are supported:
40
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
41
+ and delete your Google Cloud data and see the email address for your Google
42
+ Account.
43
+ :param pulumi.Input[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.
44
+ :param pulumi.Input[str] oauth_client_id: Required. The ID to use for the OauthClient, which becomes the final component of
45
+ the resource name. This value should be a string of 6 to 63 lowercase
46
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
47
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
48
+ not be specified.
49
+
50
+
51
+ - - -
52
+ :param pulumi.Input[str] client_type: Immutable. The type of OauthClient. Either public or private.
53
+ For private clients, the client secret can be managed using the dedicated
54
+ OauthClientCredential resource.
55
+ Possible values:
56
+ CLIENT_TYPE_UNSPECIFIED
57
+ PUBLIC_CLIENT
58
+ CONFIDENTIAL_CLIENT
59
+ :param pulumi.Input[str] description: A user-specified description of the OauthClient.
60
+ Cannot exceed 256 characters.
61
+ :param pulumi.Input[bool] disabled: Whether the OauthClient is disabled. You cannot use a disabled OAuth
62
+ client.
63
+ :param pulumi.Input[str] display_name: A user-specified display name of the OauthClient.
64
+ Cannot exceed 32 characters.
65
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
66
+ If it is not provided, the provider project is used.
67
+ """
68
+ pulumi.set(__self__, "allowed_grant_types", allowed_grant_types)
69
+ pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
70
+ pulumi.set(__self__, "allowed_scopes", allowed_scopes)
71
+ pulumi.set(__self__, "location", location)
72
+ pulumi.set(__self__, "oauth_client_id", oauth_client_id)
73
+ if client_type is not None:
74
+ pulumi.set(__self__, "client_type", client_type)
75
+ if description is not None:
76
+ pulumi.set(__self__, "description", description)
77
+ if disabled is not None:
78
+ pulumi.set(__self__, "disabled", disabled)
79
+ if display_name is not None:
80
+ pulumi.set(__self__, "display_name", display_name)
81
+ if project is not None:
82
+ pulumi.set(__self__, "project", project)
83
+
84
+ @property
85
+ @pulumi.getter(name="allowedGrantTypes")
86
+ def allowed_grant_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
87
+ """
88
+ Required. The list of OAuth grant types is allowed for the OauthClient.
89
+ """
90
+ return pulumi.get(self, "allowed_grant_types")
91
+
92
+ @allowed_grant_types.setter
93
+ def allowed_grant_types(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
94
+ pulumi.set(self, "allowed_grant_types", value)
95
+
96
+ @property
97
+ @pulumi.getter(name="allowedRedirectUris")
98
+ def allowed_redirect_uris(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
99
+ """
100
+ Required. The list of redirect uris that is allowed to redirect back
101
+ when authorization process is completed.
102
+ """
103
+ return pulumi.get(self, "allowed_redirect_uris")
104
+
105
+ @allowed_redirect_uris.setter
106
+ def allowed_redirect_uris(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
107
+ pulumi.set(self, "allowed_redirect_uris", value)
108
+
109
+ @property
110
+ @pulumi.getter(name="allowedScopes")
111
+ def allowed_scopes(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
112
+ """
113
+ Required. The list of scopes that the OauthClient is allowed to request during
114
+ OAuth flows.
115
+ The following scopes are supported:
116
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
117
+ and delete your Google Cloud data and see the email address for your Google
118
+ Account.
119
+ """
120
+ return pulumi.get(self, "allowed_scopes")
121
+
122
+ @allowed_scopes.setter
123
+ def allowed_scopes(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
124
+ pulumi.set(self, "allowed_scopes", value)
125
+
126
+ @property
127
+ @pulumi.getter
128
+ def location(self) -> pulumi.Input[str]:
129
+ """
130
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
131
+ """
132
+ return pulumi.get(self, "location")
133
+
134
+ @location.setter
135
+ def location(self, value: pulumi.Input[str]):
136
+ pulumi.set(self, "location", value)
137
+
138
+ @property
139
+ @pulumi.getter(name="oauthClientId")
140
+ def oauth_client_id(self) -> pulumi.Input[str]:
141
+ """
142
+ Required. The ID to use for the OauthClient, which becomes the final component of
143
+ the resource name. This value should be a string of 6 to 63 lowercase
144
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
145
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
146
+ not be specified.
147
+
148
+
149
+ - - -
150
+ """
151
+ return pulumi.get(self, "oauth_client_id")
152
+
153
+ @oauth_client_id.setter
154
+ def oauth_client_id(self, value: pulumi.Input[str]):
155
+ pulumi.set(self, "oauth_client_id", value)
156
+
157
+ @property
158
+ @pulumi.getter(name="clientType")
159
+ def client_type(self) -> Optional[pulumi.Input[str]]:
160
+ """
161
+ Immutable. The type of OauthClient. Either public or private.
162
+ For private clients, the client secret can be managed using the dedicated
163
+ OauthClientCredential resource.
164
+ Possible values:
165
+ CLIENT_TYPE_UNSPECIFIED
166
+ PUBLIC_CLIENT
167
+ CONFIDENTIAL_CLIENT
168
+ """
169
+ return pulumi.get(self, "client_type")
170
+
171
+ @client_type.setter
172
+ def client_type(self, value: Optional[pulumi.Input[str]]):
173
+ pulumi.set(self, "client_type", value)
174
+
175
+ @property
176
+ @pulumi.getter
177
+ def description(self) -> Optional[pulumi.Input[str]]:
178
+ """
179
+ A user-specified description of the OauthClient.
180
+ Cannot exceed 256 characters.
181
+ """
182
+ return pulumi.get(self, "description")
183
+
184
+ @description.setter
185
+ def description(self, value: Optional[pulumi.Input[str]]):
186
+ pulumi.set(self, "description", value)
187
+
188
+ @property
189
+ @pulumi.getter
190
+ def disabled(self) -> Optional[pulumi.Input[bool]]:
191
+ """
192
+ Whether the OauthClient is disabled. You cannot use a disabled OAuth
193
+ client.
194
+ """
195
+ return pulumi.get(self, "disabled")
196
+
197
+ @disabled.setter
198
+ def disabled(self, value: Optional[pulumi.Input[bool]]):
199
+ pulumi.set(self, "disabled", value)
200
+
201
+ @property
202
+ @pulumi.getter(name="displayName")
203
+ def display_name(self) -> Optional[pulumi.Input[str]]:
204
+ """
205
+ A user-specified display name of the OauthClient.
206
+ Cannot exceed 32 characters.
207
+ """
208
+ return pulumi.get(self, "display_name")
209
+
210
+ @display_name.setter
211
+ def display_name(self, value: Optional[pulumi.Input[str]]):
212
+ pulumi.set(self, "display_name", value)
213
+
214
+ @property
215
+ @pulumi.getter
216
+ def project(self) -> Optional[pulumi.Input[str]]:
217
+ """
218
+ The ID of the project in which the resource belongs.
219
+ If it is not provided, the provider project is used.
220
+ """
221
+ return pulumi.get(self, "project")
222
+
223
+ @project.setter
224
+ def project(self, value: Optional[pulumi.Input[str]]):
225
+ pulumi.set(self, "project", value)
226
+
227
+
228
+ @pulumi.input_type
229
+ class _OauthClientState:
230
+ def __init__(__self__, *,
231
+ allowed_grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
232
+ allowed_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
233
+ allowed_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
234
+ client_id: Optional[pulumi.Input[str]] = None,
235
+ client_type: Optional[pulumi.Input[str]] = None,
236
+ description: Optional[pulumi.Input[str]] = None,
237
+ disabled: Optional[pulumi.Input[bool]] = None,
238
+ display_name: Optional[pulumi.Input[str]] = None,
239
+ expire_time: Optional[pulumi.Input[str]] = None,
240
+ location: Optional[pulumi.Input[str]] = None,
241
+ name: Optional[pulumi.Input[str]] = None,
242
+ oauth_client_id: Optional[pulumi.Input[str]] = None,
243
+ project: Optional[pulumi.Input[str]] = None,
244
+ state: Optional[pulumi.Input[str]] = None):
245
+ """
246
+ Input properties used for looking up and filtering OauthClient resources.
247
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_grant_types: Required. The list of OAuth grant types is allowed for the OauthClient.
248
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_redirect_uris: Required. The list of redirect uris that is allowed to redirect back
249
+ when authorization process is completed.
250
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_scopes: Required. The list of scopes that the OauthClient is allowed to request during
251
+ OAuth flows.
252
+ The following scopes are supported:
253
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
254
+ and delete your Google Cloud data and see the email address for your Google
255
+ Account.
256
+ :param pulumi.Input[str] client_id: Output only. The system-generated OauthClient id.
257
+ :param pulumi.Input[str] client_type: Immutable. The type of OauthClient. Either public or private.
258
+ For private clients, the client secret can be managed using the dedicated
259
+ OauthClientCredential resource.
260
+ Possible values:
261
+ CLIENT_TYPE_UNSPECIFIED
262
+ PUBLIC_CLIENT
263
+ CONFIDENTIAL_CLIENT
264
+ :param pulumi.Input[str] description: A user-specified description of the OauthClient.
265
+ Cannot exceed 256 characters.
266
+ :param pulumi.Input[bool] disabled: Whether the OauthClient is disabled. You cannot use a disabled OAuth
267
+ client.
268
+ :param pulumi.Input[str] display_name: A user-specified display name of the OauthClient.
269
+ Cannot exceed 32 characters.
270
+ :param pulumi.Input[str] expire_time: Time after which the OauthClient will be permanently purged and cannot
271
+ be recovered.
272
+ :param pulumi.Input[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.
273
+ :param pulumi.Input[str] name: Immutable. Identifier. The resource name of the OauthClient.
274
+ Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.
275
+ :param pulumi.Input[str] oauth_client_id: Required. The ID to use for the OauthClient, which becomes the final component of
276
+ the resource name. This value should be a string of 6 to 63 lowercase
277
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
278
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
279
+ not be specified.
280
+
281
+
282
+ - - -
283
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
284
+ If it is not provided, the provider project is used.
285
+ :param pulumi.Input[str] state: The state of the OauthClient.
286
+ Possible values:
287
+ STATE_UNSPECIFIED
288
+ ACTIVE
289
+ DELETED
290
+ """
291
+ if allowed_grant_types is not None:
292
+ pulumi.set(__self__, "allowed_grant_types", allowed_grant_types)
293
+ if allowed_redirect_uris is not None:
294
+ pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
295
+ if allowed_scopes is not None:
296
+ pulumi.set(__self__, "allowed_scopes", allowed_scopes)
297
+ if client_id is not None:
298
+ pulumi.set(__self__, "client_id", client_id)
299
+ if client_type is not None:
300
+ pulumi.set(__self__, "client_type", client_type)
301
+ if description is not None:
302
+ pulumi.set(__self__, "description", description)
303
+ if disabled is not None:
304
+ pulumi.set(__self__, "disabled", disabled)
305
+ if display_name is not None:
306
+ pulumi.set(__self__, "display_name", display_name)
307
+ if expire_time is not None:
308
+ pulumi.set(__self__, "expire_time", expire_time)
309
+ if location is not None:
310
+ pulumi.set(__self__, "location", location)
311
+ if name is not None:
312
+ pulumi.set(__self__, "name", name)
313
+ if oauth_client_id is not None:
314
+ pulumi.set(__self__, "oauth_client_id", oauth_client_id)
315
+ if project is not None:
316
+ pulumi.set(__self__, "project", project)
317
+ if state is not None:
318
+ pulumi.set(__self__, "state", state)
319
+
320
+ @property
321
+ @pulumi.getter(name="allowedGrantTypes")
322
+ def allowed_grant_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
323
+ """
324
+ Required. The list of OAuth grant types is allowed for the OauthClient.
325
+ """
326
+ return pulumi.get(self, "allowed_grant_types")
327
+
328
+ @allowed_grant_types.setter
329
+ def allowed_grant_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
330
+ pulumi.set(self, "allowed_grant_types", value)
331
+
332
+ @property
333
+ @pulumi.getter(name="allowedRedirectUris")
334
+ def allowed_redirect_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
335
+ """
336
+ Required. The list of redirect uris that is allowed to redirect back
337
+ when authorization process is completed.
338
+ """
339
+ return pulumi.get(self, "allowed_redirect_uris")
340
+
341
+ @allowed_redirect_uris.setter
342
+ def allowed_redirect_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
343
+ pulumi.set(self, "allowed_redirect_uris", value)
344
+
345
+ @property
346
+ @pulumi.getter(name="allowedScopes")
347
+ def allowed_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
348
+ """
349
+ Required. The list of scopes that the OauthClient is allowed to request during
350
+ OAuth flows.
351
+ The following scopes are supported:
352
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
353
+ and delete your Google Cloud data and see the email address for your Google
354
+ Account.
355
+ """
356
+ return pulumi.get(self, "allowed_scopes")
357
+
358
+ @allowed_scopes.setter
359
+ def allowed_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
360
+ pulumi.set(self, "allowed_scopes", value)
361
+
362
+ @property
363
+ @pulumi.getter(name="clientId")
364
+ def client_id(self) -> Optional[pulumi.Input[str]]:
365
+ """
366
+ Output only. The system-generated OauthClient id.
367
+ """
368
+ return pulumi.get(self, "client_id")
369
+
370
+ @client_id.setter
371
+ def client_id(self, value: Optional[pulumi.Input[str]]):
372
+ pulumi.set(self, "client_id", value)
373
+
374
+ @property
375
+ @pulumi.getter(name="clientType")
376
+ def client_type(self) -> Optional[pulumi.Input[str]]:
377
+ """
378
+ Immutable. The type of OauthClient. Either public or private.
379
+ For private clients, the client secret can be managed using the dedicated
380
+ OauthClientCredential resource.
381
+ Possible values:
382
+ CLIENT_TYPE_UNSPECIFIED
383
+ PUBLIC_CLIENT
384
+ CONFIDENTIAL_CLIENT
385
+ """
386
+ return pulumi.get(self, "client_type")
387
+
388
+ @client_type.setter
389
+ def client_type(self, value: Optional[pulumi.Input[str]]):
390
+ pulumi.set(self, "client_type", value)
391
+
392
+ @property
393
+ @pulumi.getter
394
+ def description(self) -> Optional[pulumi.Input[str]]:
395
+ """
396
+ A user-specified description of the OauthClient.
397
+ Cannot exceed 256 characters.
398
+ """
399
+ return pulumi.get(self, "description")
400
+
401
+ @description.setter
402
+ def description(self, value: Optional[pulumi.Input[str]]):
403
+ pulumi.set(self, "description", value)
404
+
405
+ @property
406
+ @pulumi.getter
407
+ def disabled(self) -> Optional[pulumi.Input[bool]]:
408
+ """
409
+ Whether the OauthClient is disabled. You cannot use a disabled OAuth
410
+ client.
411
+ """
412
+ return pulumi.get(self, "disabled")
413
+
414
+ @disabled.setter
415
+ def disabled(self, value: Optional[pulumi.Input[bool]]):
416
+ pulumi.set(self, "disabled", value)
417
+
418
+ @property
419
+ @pulumi.getter(name="displayName")
420
+ def display_name(self) -> Optional[pulumi.Input[str]]:
421
+ """
422
+ A user-specified display name of the OauthClient.
423
+ Cannot exceed 32 characters.
424
+ """
425
+ return pulumi.get(self, "display_name")
426
+
427
+ @display_name.setter
428
+ def display_name(self, value: Optional[pulumi.Input[str]]):
429
+ pulumi.set(self, "display_name", value)
430
+
431
+ @property
432
+ @pulumi.getter(name="expireTime")
433
+ def expire_time(self) -> Optional[pulumi.Input[str]]:
434
+ """
435
+ Time after which the OauthClient will be permanently purged and cannot
436
+ be recovered.
437
+ """
438
+ return pulumi.get(self, "expire_time")
439
+
440
+ @expire_time.setter
441
+ def expire_time(self, value: Optional[pulumi.Input[str]]):
442
+ pulumi.set(self, "expire_time", value)
443
+
444
+ @property
445
+ @pulumi.getter
446
+ def location(self) -> Optional[pulumi.Input[str]]:
447
+ """
448
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
449
+ """
450
+ return pulumi.get(self, "location")
451
+
452
+ @location.setter
453
+ def location(self, value: Optional[pulumi.Input[str]]):
454
+ pulumi.set(self, "location", value)
455
+
456
+ @property
457
+ @pulumi.getter
458
+ def name(self) -> Optional[pulumi.Input[str]]:
459
+ """
460
+ Immutable. Identifier. The resource name of the OauthClient.
461
+ Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.
462
+ """
463
+ return pulumi.get(self, "name")
464
+
465
+ @name.setter
466
+ def name(self, value: Optional[pulumi.Input[str]]):
467
+ pulumi.set(self, "name", value)
468
+
469
+ @property
470
+ @pulumi.getter(name="oauthClientId")
471
+ def oauth_client_id(self) -> Optional[pulumi.Input[str]]:
472
+ """
473
+ Required. The ID to use for the OauthClient, which becomes the final component of
474
+ the resource name. This value should be a string of 6 to 63 lowercase
475
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
476
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
477
+ not be specified.
478
+
479
+
480
+ - - -
481
+ """
482
+ return pulumi.get(self, "oauth_client_id")
483
+
484
+ @oauth_client_id.setter
485
+ def oauth_client_id(self, value: Optional[pulumi.Input[str]]):
486
+ pulumi.set(self, "oauth_client_id", value)
487
+
488
+ @property
489
+ @pulumi.getter
490
+ def project(self) -> Optional[pulumi.Input[str]]:
491
+ """
492
+ The ID of the project in which the resource belongs.
493
+ If it is not provided, the provider project is used.
494
+ """
495
+ return pulumi.get(self, "project")
496
+
497
+ @project.setter
498
+ def project(self, value: Optional[pulumi.Input[str]]):
499
+ pulumi.set(self, "project", value)
500
+
501
+ @property
502
+ @pulumi.getter
503
+ def state(self) -> Optional[pulumi.Input[str]]:
504
+ """
505
+ The state of the OauthClient.
506
+ Possible values:
507
+ STATE_UNSPECIFIED
508
+ ACTIVE
509
+ DELETED
510
+ """
511
+ return pulumi.get(self, "state")
512
+
513
+ @state.setter
514
+ def state(self, value: Optional[pulumi.Input[str]]):
515
+ pulumi.set(self, "state", value)
516
+
517
+
518
+ class OauthClient(pulumi.CustomResource):
519
+ @overload
520
+ def __init__(__self__,
521
+ resource_name: str,
522
+ opts: Optional[pulumi.ResourceOptions] = None,
523
+ allowed_grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
524
+ allowed_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
525
+ allowed_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
526
+ client_type: Optional[pulumi.Input[str]] = None,
527
+ description: Optional[pulumi.Input[str]] = None,
528
+ disabled: Optional[pulumi.Input[bool]] = None,
529
+ display_name: Optional[pulumi.Input[str]] = None,
530
+ location: Optional[pulumi.Input[str]] = None,
531
+ oauth_client_id: Optional[pulumi.Input[str]] = None,
532
+ project: Optional[pulumi.Input[str]] = None,
533
+ __props__=None):
534
+ """
535
+ Represents an OAuth Client. Used to access Google Cloud resources on behalf of a
536
+ Workforce Identity Federation user by using OAuth 2.0 Protocol to obtain an access
537
+ token from Google Cloud.
538
+
539
+ To get more information about OauthClient, see:
540
+
541
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.oauthClients)
542
+ * How-to Guides
543
+ * [Managing OAuth clients](https://cloud.google.com/iam/docs/workforce-manage-oauth-app#manage-clients)
544
+
545
+ ## Example Usage
546
+
547
+ ### Iam Oauth Client Full
548
+
549
+ ```python
550
+ import pulumi
551
+ import pulumi_gcp as gcp
552
+
553
+ example = gcp.iam.OauthClient("example",
554
+ oauth_client_id="example-client-id",
555
+ display_name="Display Name of OAuth client",
556
+ description="A sample OAuth client",
557
+ location="global",
558
+ disabled=False,
559
+ allowed_grant_types=["AUTHORIZATION_CODE_GRANT"],
560
+ allowed_redirect_uris=["https://www.example.com"],
561
+ allowed_scopes=["https://www.googleapis.com/auth/cloud-platform"],
562
+ client_type="CONFIDENTIAL_CLIENT")
563
+ ```
564
+
565
+ ## Import
566
+
567
+ OauthClient can be imported using any of these accepted formats:
568
+
569
+ * `projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}`
570
+
571
+ * `{{project}}/{{location}}/{{oauth_client_id}}`
572
+
573
+ * `{{location}}/{{oauth_client_id}}`
574
+
575
+ When using the `pulumi import` command, OauthClient can be imported using one of the formats above. For example:
576
+
577
+ ```sh
578
+ $ pulumi import gcp:iam/oauthClient:OauthClient default projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}
579
+ ```
580
+
581
+ ```sh
582
+ $ pulumi import gcp:iam/oauthClient:OauthClient default {{project}}/{{location}}/{{oauth_client_id}}
583
+ ```
584
+
585
+ ```sh
586
+ $ pulumi import gcp:iam/oauthClient:OauthClient default {{location}}/{{oauth_client_id}}
587
+ ```
588
+
589
+ :param str resource_name: The name of the resource.
590
+ :param pulumi.ResourceOptions opts: Options for the resource.
591
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_grant_types: Required. The list of OAuth grant types is allowed for the OauthClient.
592
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_redirect_uris: Required. The list of redirect uris that is allowed to redirect back
593
+ when authorization process is completed.
594
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_scopes: Required. The list of scopes that the OauthClient is allowed to request during
595
+ OAuth flows.
596
+ The following scopes are supported:
597
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
598
+ and delete your Google Cloud data and see the email address for your Google
599
+ Account.
600
+ :param pulumi.Input[str] client_type: Immutable. The type of OauthClient. Either public or private.
601
+ For private clients, the client secret can be managed using the dedicated
602
+ OauthClientCredential resource.
603
+ Possible values:
604
+ CLIENT_TYPE_UNSPECIFIED
605
+ PUBLIC_CLIENT
606
+ CONFIDENTIAL_CLIENT
607
+ :param pulumi.Input[str] description: A user-specified description of the OauthClient.
608
+ Cannot exceed 256 characters.
609
+ :param pulumi.Input[bool] disabled: Whether the OauthClient is disabled. You cannot use a disabled OAuth
610
+ client.
611
+ :param pulumi.Input[str] display_name: A user-specified display name of the OauthClient.
612
+ Cannot exceed 32 characters.
613
+ :param pulumi.Input[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.
614
+ :param pulumi.Input[str] oauth_client_id: Required. The ID to use for the OauthClient, which becomes the final component of
615
+ the resource name. This value should be a string of 6 to 63 lowercase
616
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
617
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
618
+ not be specified.
619
+
620
+
621
+ - - -
622
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
623
+ If it is not provided, the provider project is used.
624
+ """
625
+ ...
626
+ @overload
627
+ def __init__(__self__,
628
+ resource_name: str,
629
+ args: OauthClientArgs,
630
+ opts: Optional[pulumi.ResourceOptions] = None):
631
+ """
632
+ Represents an OAuth Client. Used to access Google Cloud resources on behalf of a
633
+ Workforce Identity Federation user by using OAuth 2.0 Protocol to obtain an access
634
+ token from Google Cloud.
635
+
636
+ To get more information about OauthClient, see:
637
+
638
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.oauthClients)
639
+ * How-to Guides
640
+ * [Managing OAuth clients](https://cloud.google.com/iam/docs/workforce-manage-oauth-app#manage-clients)
641
+
642
+ ## Example Usage
643
+
644
+ ### Iam Oauth Client Full
645
+
646
+ ```python
647
+ import pulumi
648
+ import pulumi_gcp as gcp
649
+
650
+ example = gcp.iam.OauthClient("example",
651
+ oauth_client_id="example-client-id",
652
+ display_name="Display Name of OAuth client",
653
+ description="A sample OAuth client",
654
+ location="global",
655
+ disabled=False,
656
+ allowed_grant_types=["AUTHORIZATION_CODE_GRANT"],
657
+ allowed_redirect_uris=["https://www.example.com"],
658
+ allowed_scopes=["https://www.googleapis.com/auth/cloud-platform"],
659
+ client_type="CONFIDENTIAL_CLIENT")
660
+ ```
661
+
662
+ ## Import
663
+
664
+ OauthClient can be imported using any of these accepted formats:
665
+
666
+ * `projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}`
667
+
668
+ * `{{project}}/{{location}}/{{oauth_client_id}}`
669
+
670
+ * `{{location}}/{{oauth_client_id}}`
671
+
672
+ When using the `pulumi import` command, OauthClient can be imported using one of the formats above. For example:
673
+
674
+ ```sh
675
+ $ pulumi import gcp:iam/oauthClient:OauthClient default projects/{{project}}/locations/{{location}}/oauthClients/{{oauth_client_id}}
676
+ ```
677
+
678
+ ```sh
679
+ $ pulumi import gcp:iam/oauthClient:OauthClient default {{project}}/{{location}}/{{oauth_client_id}}
680
+ ```
681
+
682
+ ```sh
683
+ $ pulumi import gcp:iam/oauthClient:OauthClient default {{location}}/{{oauth_client_id}}
684
+ ```
685
+
686
+ :param str resource_name: The name of the resource.
687
+ :param OauthClientArgs args: The arguments to use to populate this resource's properties.
688
+ :param pulumi.ResourceOptions opts: Options for the resource.
689
+ """
690
+ ...
691
+ def __init__(__self__, resource_name: str, *args, **kwargs):
692
+ resource_args, opts = _utilities.get_resource_args_opts(OauthClientArgs, pulumi.ResourceOptions, *args, **kwargs)
693
+ if resource_args is not None:
694
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
695
+ else:
696
+ __self__._internal_init(resource_name, *args, **kwargs)
697
+
698
+ def _internal_init(__self__,
699
+ resource_name: str,
700
+ opts: Optional[pulumi.ResourceOptions] = None,
701
+ allowed_grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
702
+ allowed_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
703
+ allowed_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
704
+ client_type: Optional[pulumi.Input[str]] = None,
705
+ description: Optional[pulumi.Input[str]] = None,
706
+ disabled: Optional[pulumi.Input[bool]] = None,
707
+ display_name: Optional[pulumi.Input[str]] = None,
708
+ location: Optional[pulumi.Input[str]] = None,
709
+ oauth_client_id: Optional[pulumi.Input[str]] = None,
710
+ project: Optional[pulumi.Input[str]] = None,
711
+ __props__=None):
712
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
713
+ if not isinstance(opts, pulumi.ResourceOptions):
714
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
715
+ if opts.id is None:
716
+ if __props__ is not None:
717
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
718
+ __props__ = OauthClientArgs.__new__(OauthClientArgs)
719
+
720
+ if allowed_grant_types is None and not opts.urn:
721
+ raise TypeError("Missing required property 'allowed_grant_types'")
722
+ __props__.__dict__["allowed_grant_types"] = allowed_grant_types
723
+ if allowed_redirect_uris is None and not opts.urn:
724
+ raise TypeError("Missing required property 'allowed_redirect_uris'")
725
+ __props__.__dict__["allowed_redirect_uris"] = allowed_redirect_uris
726
+ if allowed_scopes is None and not opts.urn:
727
+ raise TypeError("Missing required property 'allowed_scopes'")
728
+ __props__.__dict__["allowed_scopes"] = allowed_scopes
729
+ __props__.__dict__["client_type"] = client_type
730
+ __props__.__dict__["description"] = description
731
+ __props__.__dict__["disabled"] = disabled
732
+ __props__.__dict__["display_name"] = display_name
733
+ if location is None and not opts.urn:
734
+ raise TypeError("Missing required property 'location'")
735
+ __props__.__dict__["location"] = location
736
+ if oauth_client_id is None and not opts.urn:
737
+ raise TypeError("Missing required property 'oauth_client_id'")
738
+ __props__.__dict__["oauth_client_id"] = oauth_client_id
739
+ __props__.__dict__["project"] = project
740
+ __props__.__dict__["client_id"] = None
741
+ __props__.__dict__["expire_time"] = None
742
+ __props__.__dict__["name"] = None
743
+ __props__.__dict__["state"] = None
744
+ super(OauthClient, __self__).__init__(
745
+ 'gcp:iam/oauthClient:OauthClient',
746
+ resource_name,
747
+ __props__,
748
+ opts)
749
+
750
+ @staticmethod
751
+ def get(resource_name: str,
752
+ id: pulumi.Input[str],
753
+ opts: Optional[pulumi.ResourceOptions] = None,
754
+ allowed_grant_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
755
+ allowed_redirect_uris: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
756
+ allowed_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
757
+ client_id: Optional[pulumi.Input[str]] = None,
758
+ client_type: Optional[pulumi.Input[str]] = None,
759
+ description: Optional[pulumi.Input[str]] = None,
760
+ disabled: Optional[pulumi.Input[bool]] = None,
761
+ display_name: Optional[pulumi.Input[str]] = None,
762
+ expire_time: Optional[pulumi.Input[str]] = None,
763
+ location: Optional[pulumi.Input[str]] = None,
764
+ name: Optional[pulumi.Input[str]] = None,
765
+ oauth_client_id: Optional[pulumi.Input[str]] = None,
766
+ project: Optional[pulumi.Input[str]] = None,
767
+ state: Optional[pulumi.Input[str]] = None) -> 'OauthClient':
768
+ """
769
+ Get an existing OauthClient resource's state with the given name, id, and optional extra
770
+ properties used to qualify the lookup.
771
+
772
+ :param str resource_name: The unique name of the resulting resource.
773
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
774
+ :param pulumi.ResourceOptions opts: Options for the resource.
775
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_grant_types: Required. The list of OAuth grant types is allowed for the OauthClient.
776
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_redirect_uris: Required. The list of redirect uris that is allowed to redirect back
777
+ when authorization process is completed.
778
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_scopes: Required. The list of scopes that the OauthClient is allowed to request during
779
+ OAuth flows.
780
+ The following scopes are supported:
781
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
782
+ and delete your Google Cloud data and see the email address for your Google
783
+ Account.
784
+ :param pulumi.Input[str] client_id: Output only. The system-generated OauthClient id.
785
+ :param pulumi.Input[str] client_type: Immutable. The type of OauthClient. Either public or private.
786
+ For private clients, the client secret can be managed using the dedicated
787
+ OauthClientCredential resource.
788
+ Possible values:
789
+ CLIENT_TYPE_UNSPECIFIED
790
+ PUBLIC_CLIENT
791
+ CONFIDENTIAL_CLIENT
792
+ :param pulumi.Input[str] description: A user-specified description of the OauthClient.
793
+ Cannot exceed 256 characters.
794
+ :param pulumi.Input[bool] disabled: Whether the OauthClient is disabled. You cannot use a disabled OAuth
795
+ client.
796
+ :param pulumi.Input[str] display_name: A user-specified display name of the OauthClient.
797
+ Cannot exceed 32 characters.
798
+ :param pulumi.Input[str] expire_time: Time after which the OauthClient will be permanently purged and cannot
799
+ be recovered.
800
+ :param pulumi.Input[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.
801
+ :param pulumi.Input[str] name: Immutable. Identifier. The resource name of the OauthClient.
802
+ Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.
803
+ :param pulumi.Input[str] oauth_client_id: Required. The ID to use for the OauthClient, which becomes the final component of
804
+ the resource name. This value should be a string of 6 to 63 lowercase
805
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
806
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
807
+ not be specified.
808
+
809
+
810
+ - - -
811
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
812
+ If it is not provided, the provider project is used.
813
+ :param pulumi.Input[str] state: The state of the OauthClient.
814
+ Possible values:
815
+ STATE_UNSPECIFIED
816
+ ACTIVE
817
+ DELETED
818
+ """
819
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
820
+
821
+ __props__ = _OauthClientState.__new__(_OauthClientState)
822
+
823
+ __props__.__dict__["allowed_grant_types"] = allowed_grant_types
824
+ __props__.__dict__["allowed_redirect_uris"] = allowed_redirect_uris
825
+ __props__.__dict__["allowed_scopes"] = allowed_scopes
826
+ __props__.__dict__["client_id"] = client_id
827
+ __props__.__dict__["client_type"] = client_type
828
+ __props__.__dict__["description"] = description
829
+ __props__.__dict__["disabled"] = disabled
830
+ __props__.__dict__["display_name"] = display_name
831
+ __props__.__dict__["expire_time"] = expire_time
832
+ __props__.__dict__["location"] = location
833
+ __props__.__dict__["name"] = name
834
+ __props__.__dict__["oauth_client_id"] = oauth_client_id
835
+ __props__.__dict__["project"] = project
836
+ __props__.__dict__["state"] = state
837
+ return OauthClient(resource_name, opts=opts, __props__=__props__)
838
+
839
+ @property
840
+ @pulumi.getter(name="allowedGrantTypes")
841
+ def allowed_grant_types(self) -> pulumi.Output[Sequence[str]]:
842
+ """
843
+ Required. The list of OAuth grant types is allowed for the OauthClient.
844
+ """
845
+ return pulumi.get(self, "allowed_grant_types")
846
+
847
+ @property
848
+ @pulumi.getter(name="allowedRedirectUris")
849
+ def allowed_redirect_uris(self) -> pulumi.Output[Sequence[str]]:
850
+ """
851
+ Required. The list of redirect uris that is allowed to redirect back
852
+ when authorization process is completed.
853
+ """
854
+ return pulumi.get(self, "allowed_redirect_uris")
855
+
856
+ @property
857
+ @pulumi.getter(name="allowedScopes")
858
+ def allowed_scopes(self) -> pulumi.Output[Sequence[str]]:
859
+ """
860
+ Required. The list of scopes that the OauthClient is allowed to request during
861
+ OAuth flows.
862
+ The following scopes are supported:
863
+ * `https://www.googleapis.com/auth/cloud-platform`: See, edit, configure,
864
+ and delete your Google Cloud data and see the email address for your Google
865
+ Account.
866
+ """
867
+ return pulumi.get(self, "allowed_scopes")
868
+
869
+ @property
870
+ @pulumi.getter(name="clientId")
871
+ def client_id(self) -> pulumi.Output[str]:
872
+ """
873
+ Output only. The system-generated OauthClient id.
874
+ """
875
+ return pulumi.get(self, "client_id")
876
+
877
+ @property
878
+ @pulumi.getter(name="clientType")
879
+ def client_type(self) -> pulumi.Output[Optional[str]]:
880
+ """
881
+ Immutable. The type of OauthClient. Either public or private.
882
+ For private clients, the client secret can be managed using the dedicated
883
+ OauthClientCredential resource.
884
+ Possible values:
885
+ CLIENT_TYPE_UNSPECIFIED
886
+ PUBLIC_CLIENT
887
+ CONFIDENTIAL_CLIENT
888
+ """
889
+ return pulumi.get(self, "client_type")
890
+
891
+ @property
892
+ @pulumi.getter
893
+ def description(self) -> pulumi.Output[Optional[str]]:
894
+ """
895
+ A user-specified description of the OauthClient.
896
+ Cannot exceed 256 characters.
897
+ """
898
+ return pulumi.get(self, "description")
899
+
900
+ @property
901
+ @pulumi.getter
902
+ def disabled(self) -> pulumi.Output[Optional[bool]]:
903
+ """
904
+ Whether the OauthClient is disabled. You cannot use a disabled OAuth
905
+ client.
906
+ """
907
+ return pulumi.get(self, "disabled")
908
+
909
+ @property
910
+ @pulumi.getter(name="displayName")
911
+ def display_name(self) -> pulumi.Output[Optional[str]]:
912
+ """
913
+ A user-specified display name of the OauthClient.
914
+ Cannot exceed 32 characters.
915
+ """
916
+ return pulumi.get(self, "display_name")
917
+
918
+ @property
919
+ @pulumi.getter(name="expireTime")
920
+ def expire_time(self) -> pulumi.Output[str]:
921
+ """
922
+ Time after which the OauthClient will be permanently purged and cannot
923
+ be recovered.
924
+ """
925
+ return pulumi.get(self, "expire_time")
926
+
927
+ @property
928
+ @pulumi.getter
929
+ def location(self) -> pulumi.Output[str]:
930
+ """
931
+ Resource ID segment making up resource `name`. It identifies the resource within its parent collection as described in https://google.aip.dev/122.
932
+ """
933
+ return pulumi.get(self, "location")
934
+
935
+ @property
936
+ @pulumi.getter
937
+ def name(self) -> pulumi.Output[str]:
938
+ """
939
+ Immutable. Identifier. The resource name of the OauthClient.
940
+ Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.
941
+ """
942
+ return pulumi.get(self, "name")
943
+
944
+ @property
945
+ @pulumi.getter(name="oauthClientId")
946
+ def oauth_client_id(self) -> pulumi.Output[str]:
947
+ """
948
+ Required. The ID to use for the OauthClient, which becomes the final component of
949
+ the resource name. This value should be a string of 6 to 63 lowercase
950
+ letters, digits, or hyphens. It must start with a letter, and cannot have a
951
+ trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may
952
+ not be specified.
953
+
954
+
955
+ - - -
956
+ """
957
+ return pulumi.get(self, "oauth_client_id")
958
+
959
+ @property
960
+ @pulumi.getter
961
+ def project(self) -> pulumi.Output[str]:
962
+ """
963
+ The ID of the project in which the resource belongs.
964
+ If it is not provided, the provider project is used.
965
+ """
966
+ return pulumi.get(self, "project")
967
+
968
+ @property
969
+ @pulumi.getter
970
+ def state(self) -> pulumi.Output[str]:
971
+ """
972
+ The state of the OauthClient.
973
+ Possible values:
974
+ STATE_UNSPECIFIED
975
+ ACTIVE
976
+ DELETED
977
+ """
978
+ return pulumi.get(self, "state")
979
+