pulumi-gcp 7.17.0a1712402830__py3-none-any.whl → 7.18.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/apphub/__init__.py +1 -0
  3. pulumi_gcp/apphub/get_application.py +220 -0
  4. pulumi_gcp/apphub/outputs.py +214 -0
  5. pulumi_gcp/applicationintegration/__init__.py +10 -0
  6. pulumi_gcp/applicationintegration/_inputs.py +119 -0
  7. pulumi_gcp/applicationintegration/client.py +574 -0
  8. pulumi_gcp/applicationintegration/outputs.py +122 -0
  9. pulumi_gcp/bigquery/_inputs.py +16 -0
  10. pulumi_gcp/bigquery/outputs.py +14 -0
  11. pulumi_gcp/bigquery/routine.py +98 -0
  12. pulumi_gcp/billing/project_info.py +4 -4
  13. pulumi_gcp/cloudquota/__init__.py +2 -0
  14. pulumi_gcp/cloudquota/_inputs.py +131 -0
  15. pulumi_gcp/cloudquota/outputs.py +118 -0
  16. pulumi_gcp/cloudquota/s_quota_preference.py +777 -0
  17. pulumi_gcp/cloudrunv2/_inputs.py +73 -0
  18. pulumi_gcp/cloudrunv2/outputs.py +126 -0
  19. pulumi_gcp/compute/interconnect_attachment.py +64 -0
  20. pulumi_gcp/compute/network_endpoint.py +8 -0
  21. pulumi_gcp/compute/network_endpoint_list.py +8 -0
  22. pulumi_gcp/compute/region_backend_service.py +28 -0
  23. pulumi_gcp/compute/target_instance.py +4 -4
  24. pulumi_gcp/config/__init__.pyi +2 -0
  25. pulumi_gcp/config/vars.py +4 -0
  26. pulumi_gcp/container/_inputs.py +17 -1
  27. pulumi_gcp/container/cluster.py +47 -0
  28. pulumi_gcp/container/get_cluster.py +11 -1
  29. pulumi_gcp/container/outputs.py +27 -2
  30. pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
  31. pulumi_gcp/dataflow/flex_template_job.py +84 -112
  32. pulumi_gcp/dataplex/task.py +16 -16
  33. pulumi_gcp/dataproc/_inputs.py +71 -0
  34. pulumi_gcp/dataproc/get_metastore_service.py +11 -1
  35. pulumi_gcp/dataproc/metastore_service.py +120 -0
  36. pulumi_gcp/dataproc/outputs.py +128 -0
  37. pulumi_gcp/firebase/app_check_service_config.py +2 -2
  38. pulumi_gcp/firestore/backup_schedule.py +23 -23
  39. pulumi_gcp/firestore/field.py +4 -4
  40. pulumi_gcp/gkehub/membership_binding.py +6 -6
  41. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  42. pulumi_gcp/gkehub/namespace.py +4 -4
  43. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  44. pulumi_gcp/gkeonprem/v_mware_cluster.py +49 -0
  45. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  46. pulumi_gcp/kms/_inputs.py +46 -0
  47. pulumi_gcp/kms/crypto_key.py +54 -0
  48. pulumi_gcp/kms/crypto_key_version.py +54 -0
  49. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  50. pulumi_gcp/kms/outputs.py +54 -0
  51. pulumi_gcp/looker/instance.py +20 -30
  52. pulumi_gcp/orgpolicy/policy.py +2 -2
  53. pulumi_gcp/provider.py +20 -0
  54. pulumi_gcp/pubsub/subscription.py +4 -4
  55. pulumi_gcp/redis/cluster.py +91 -0
  56. pulumi_gcp/storage/bucket.py +28 -0
  57. pulumi_gcp/storage/get_bucket.py +17 -2
  58. pulumi_gcp/vertex/__init__.py +1 -0
  59. pulumi_gcp/vertex/_inputs.py +169 -0
  60. pulumi_gcp/vertex/ai_deployment_resource_pool.py +477 -0
  61. pulumi_gcp/vertex/outputs.py +194 -0
  62. pulumi_gcp/vpcaccess/connector.py +77 -28
  63. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.18.0.dist-info}/METADATA +1 -1
  64. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.18.0.dist-info}/RECORD +66 -58
  65. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.18.0.dist-info}/WHEEL +0 -0
  66. {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.18.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,574 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['ClientArgs', 'Client']
15
+
16
+ @pulumi.input_type
17
+ class ClientArgs:
18
+ def __init__(__self__, *,
19
+ location: pulumi.Input[str],
20
+ cloud_kms_config: Optional[pulumi.Input['ClientCloudKmsConfigArgs']] = None,
21
+ create_sample_workflows: Optional[pulumi.Input[bool]] = None,
22
+ project: Optional[pulumi.Input[str]] = None,
23
+ provision_gmek: Optional[pulumi.Input[bool]] = None,
24
+ run_as_service_account: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a Client resource.
27
+ :param pulumi.Input[str] location: Location in which client needs to be provisioned.
28
+
29
+
30
+ - - -
31
+ :param pulumi.Input['ClientCloudKmsConfigArgs'] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
32
+ Structure is documented below.
33
+ :param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
34
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
35
+ If it is not provided, the provider project is used.
36
+ :param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
37
+ :param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
38
+ """
39
+ pulumi.set(__self__, "location", location)
40
+ if cloud_kms_config is not None:
41
+ pulumi.set(__self__, "cloud_kms_config", cloud_kms_config)
42
+ if create_sample_workflows is not None:
43
+ pulumi.set(__self__, "create_sample_workflows", create_sample_workflows)
44
+ if project is not None:
45
+ pulumi.set(__self__, "project", project)
46
+ if provision_gmek is not None:
47
+ pulumi.set(__self__, "provision_gmek", provision_gmek)
48
+ if run_as_service_account is not None:
49
+ pulumi.set(__self__, "run_as_service_account", run_as_service_account)
50
+
51
+ @property
52
+ @pulumi.getter
53
+ def location(self) -> pulumi.Input[str]:
54
+ """
55
+ Location in which client needs to be provisioned.
56
+
57
+
58
+ - - -
59
+ """
60
+ return pulumi.get(self, "location")
61
+
62
+ @location.setter
63
+ def location(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "location", value)
65
+
66
+ @property
67
+ @pulumi.getter(name="cloudKmsConfig")
68
+ def cloud_kms_config(self) -> Optional[pulumi.Input['ClientCloudKmsConfigArgs']]:
69
+ """
70
+ Cloud KMS config for AuthModule to encrypt/decrypt credentials.
71
+ Structure is documented below.
72
+ """
73
+ return pulumi.get(self, "cloud_kms_config")
74
+
75
+ @cloud_kms_config.setter
76
+ def cloud_kms_config(self, value: Optional[pulumi.Input['ClientCloudKmsConfigArgs']]):
77
+ pulumi.set(self, "cloud_kms_config", value)
78
+
79
+ @property
80
+ @pulumi.getter(name="createSampleWorkflows")
81
+ def create_sample_workflows(self) -> Optional[pulumi.Input[bool]]:
82
+ """
83
+ Indicates if sample workflow should be created along with provisioning.
84
+ """
85
+ return pulumi.get(self, "create_sample_workflows")
86
+
87
+ @create_sample_workflows.setter
88
+ def create_sample_workflows(self, value: Optional[pulumi.Input[bool]]):
89
+ pulumi.set(self, "create_sample_workflows", value)
90
+
91
+ @property
92
+ @pulumi.getter
93
+ def project(self) -> Optional[pulumi.Input[str]]:
94
+ """
95
+ The ID of the project in which the resource belongs.
96
+ If it is not provided, the provider project is used.
97
+ """
98
+ return pulumi.get(self, "project")
99
+
100
+ @project.setter
101
+ def project(self, value: Optional[pulumi.Input[str]]):
102
+ pulumi.set(self, "project", value)
103
+
104
+ @property
105
+ @pulumi.getter(name="provisionGmek")
106
+ def provision_gmek(self) -> Optional[pulumi.Input[bool]]:
107
+ """
108
+ Indicates provision with GMEK or CMEK.
109
+ """
110
+ return pulumi.get(self, "provision_gmek")
111
+
112
+ @provision_gmek.setter
113
+ def provision_gmek(self, value: Optional[pulumi.Input[bool]]):
114
+ pulumi.set(self, "provision_gmek", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="runAsServiceAccount")
118
+ def run_as_service_account(self) -> Optional[pulumi.Input[str]]:
119
+ """
120
+ User input run-as service account, if empty, will bring up a new default service account.
121
+ """
122
+ return pulumi.get(self, "run_as_service_account")
123
+
124
+ @run_as_service_account.setter
125
+ def run_as_service_account(self, value: Optional[pulumi.Input[str]]):
126
+ pulumi.set(self, "run_as_service_account", value)
127
+
128
+
129
+ @pulumi.input_type
130
+ class _ClientState:
131
+ def __init__(__self__, *,
132
+ cloud_kms_config: Optional[pulumi.Input['ClientCloudKmsConfigArgs']] = None,
133
+ create_sample_workflows: Optional[pulumi.Input[bool]] = None,
134
+ location: Optional[pulumi.Input[str]] = None,
135
+ project: Optional[pulumi.Input[str]] = None,
136
+ provision_gmek: Optional[pulumi.Input[bool]] = None,
137
+ run_as_service_account: Optional[pulumi.Input[str]] = None):
138
+ """
139
+ Input properties used for looking up and filtering Client resources.
140
+ :param pulumi.Input['ClientCloudKmsConfigArgs'] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
141
+ Structure is documented below.
142
+ :param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
143
+ :param pulumi.Input[str] location: Location in which client needs to be provisioned.
144
+
145
+
146
+ - - -
147
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
148
+ If it is not provided, the provider project is used.
149
+ :param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
150
+ :param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
151
+ """
152
+ if cloud_kms_config is not None:
153
+ pulumi.set(__self__, "cloud_kms_config", cloud_kms_config)
154
+ if create_sample_workflows is not None:
155
+ pulumi.set(__self__, "create_sample_workflows", create_sample_workflows)
156
+ if location is not None:
157
+ pulumi.set(__self__, "location", location)
158
+ if project is not None:
159
+ pulumi.set(__self__, "project", project)
160
+ if provision_gmek is not None:
161
+ pulumi.set(__self__, "provision_gmek", provision_gmek)
162
+ if run_as_service_account is not None:
163
+ pulumi.set(__self__, "run_as_service_account", run_as_service_account)
164
+
165
+ @property
166
+ @pulumi.getter(name="cloudKmsConfig")
167
+ def cloud_kms_config(self) -> Optional[pulumi.Input['ClientCloudKmsConfigArgs']]:
168
+ """
169
+ Cloud KMS config for AuthModule to encrypt/decrypt credentials.
170
+ Structure is documented below.
171
+ """
172
+ return pulumi.get(self, "cloud_kms_config")
173
+
174
+ @cloud_kms_config.setter
175
+ def cloud_kms_config(self, value: Optional[pulumi.Input['ClientCloudKmsConfigArgs']]):
176
+ pulumi.set(self, "cloud_kms_config", value)
177
+
178
+ @property
179
+ @pulumi.getter(name="createSampleWorkflows")
180
+ def create_sample_workflows(self) -> Optional[pulumi.Input[bool]]:
181
+ """
182
+ Indicates if sample workflow should be created along with provisioning.
183
+ """
184
+ return pulumi.get(self, "create_sample_workflows")
185
+
186
+ @create_sample_workflows.setter
187
+ def create_sample_workflows(self, value: Optional[pulumi.Input[bool]]):
188
+ pulumi.set(self, "create_sample_workflows", value)
189
+
190
+ @property
191
+ @pulumi.getter
192
+ def location(self) -> Optional[pulumi.Input[str]]:
193
+ """
194
+ Location in which client needs to be provisioned.
195
+
196
+
197
+ - - -
198
+ """
199
+ return pulumi.get(self, "location")
200
+
201
+ @location.setter
202
+ def location(self, value: Optional[pulumi.Input[str]]):
203
+ pulumi.set(self, "location", value)
204
+
205
+ @property
206
+ @pulumi.getter
207
+ def project(self) -> Optional[pulumi.Input[str]]:
208
+ """
209
+ The ID of the project in which the resource belongs.
210
+ If it is not provided, the provider project is used.
211
+ """
212
+ return pulumi.get(self, "project")
213
+
214
+ @project.setter
215
+ def project(self, value: Optional[pulumi.Input[str]]):
216
+ pulumi.set(self, "project", value)
217
+
218
+ @property
219
+ @pulumi.getter(name="provisionGmek")
220
+ def provision_gmek(self) -> Optional[pulumi.Input[bool]]:
221
+ """
222
+ Indicates provision with GMEK or CMEK.
223
+ """
224
+ return pulumi.get(self, "provision_gmek")
225
+
226
+ @provision_gmek.setter
227
+ def provision_gmek(self, value: Optional[pulumi.Input[bool]]):
228
+ pulumi.set(self, "provision_gmek", value)
229
+
230
+ @property
231
+ @pulumi.getter(name="runAsServiceAccount")
232
+ def run_as_service_account(self) -> Optional[pulumi.Input[str]]:
233
+ """
234
+ User input run-as service account, if empty, will bring up a new default service account.
235
+ """
236
+ return pulumi.get(self, "run_as_service_account")
237
+
238
+ @run_as_service_account.setter
239
+ def run_as_service_account(self, value: Optional[pulumi.Input[str]]):
240
+ pulumi.set(self, "run_as_service_account", value)
241
+
242
+
243
+ class Client(pulumi.CustomResource):
244
+ @overload
245
+ def __init__(__self__,
246
+ resource_name: str,
247
+ opts: Optional[pulumi.ResourceOptions] = None,
248
+ cloud_kms_config: Optional[pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']]] = None,
249
+ create_sample_workflows: Optional[pulumi.Input[bool]] = None,
250
+ location: Optional[pulumi.Input[str]] = None,
251
+ project: Optional[pulumi.Input[str]] = None,
252
+ provision_gmek: Optional[pulumi.Input[bool]] = None,
253
+ run_as_service_account: Optional[pulumi.Input[str]] = None,
254
+ __props__=None):
255
+ """
256
+ Application Integration Client.
257
+
258
+ To get more information about Client, see:
259
+
260
+ * [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.clients)
261
+ * How-to Guides
262
+ * [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
263
+ * [Set up Application Integration](https://cloud.google.com/application-integration/docs/setup-application-integration)
264
+
265
+ ## Example Usage
266
+
267
+ ### Integrations Client Basic
268
+
269
+ <!--Start PulumiCodeChooser -->
270
+ ```python
271
+ import pulumi
272
+ import pulumi_gcp as gcp
273
+
274
+ example = gcp.applicationintegration.Client("example",
275
+ location="us-central1",
276
+ provision_gmek=True)
277
+ ```
278
+ <!--End PulumiCodeChooser -->
279
+ ### Integrations Client Advance
280
+
281
+ <!--Start PulumiCodeChooser -->
282
+ ```python
283
+ import pulumi
284
+ import pulumi_gcp as gcp
285
+
286
+ test_project = gcp.organizations.get_project()
287
+ keyring = gcp.kms.KeyRing("keyring",
288
+ name="my-keyring",
289
+ location="us-east1")
290
+ cryptokey = gcp.kms.CryptoKey("cryptokey",
291
+ name="crypto-key-example",
292
+ key_ring=keyring.id,
293
+ rotation_period="7776000s")
294
+ test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
295
+ service_account = gcp.serviceaccount.Account("service_account",
296
+ account_id="service-account-id",
297
+ display_name="Service Account")
298
+ example = gcp.applicationintegration.Client("example",
299
+ location="us-east1",
300
+ create_sample_workflows=True,
301
+ run_as_service_account=service_account.email,
302
+ cloud_kms_config=gcp.applicationintegration.ClientCloudKmsConfigArgs(
303
+ kms_location="us-east1",
304
+ kms_ring=keyring.id,
305
+ key=cryptokey.id,
306
+ key_version=test_key.id,
307
+ kms_project_id=test_project.project_id,
308
+ ))
309
+ ```
310
+ <!--End PulumiCodeChooser -->
311
+
312
+ ## Import
313
+
314
+ Client can be imported using any of these accepted formats:
315
+
316
+ * `projects/{{project}}/locations/{{location}}/clients`
317
+
318
+ * `{{project}}/{{location}}`
319
+
320
+ * `{{location}}`
321
+
322
+ When using the `pulumi import` command, Client can be imported using one of the formats above. For example:
323
+
324
+ ```sh
325
+ $ pulumi import gcp:applicationintegration/client:Client default projects/{{project}}/locations/{{location}}/clients
326
+ ```
327
+
328
+ ```sh
329
+ $ pulumi import gcp:applicationintegration/client:Client default {{project}}/{{location}}
330
+ ```
331
+
332
+ ```sh
333
+ $ pulumi import gcp:applicationintegration/client:Client default {{location}}
334
+ ```
335
+
336
+ :param str resource_name: The name of the resource.
337
+ :param pulumi.ResourceOptions opts: Options for the resource.
338
+ :param pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
339
+ Structure is documented below.
340
+ :param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
341
+ :param pulumi.Input[str] location: Location in which client needs to be provisioned.
342
+
343
+
344
+ - - -
345
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
346
+ If it is not provided, the provider project is used.
347
+ :param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
348
+ :param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
349
+ """
350
+ ...
351
+ @overload
352
+ def __init__(__self__,
353
+ resource_name: str,
354
+ args: ClientArgs,
355
+ opts: Optional[pulumi.ResourceOptions] = None):
356
+ """
357
+ Application Integration Client.
358
+
359
+ To get more information about Client, see:
360
+
361
+ * [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.clients)
362
+ * How-to Guides
363
+ * [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
364
+ * [Set up Application Integration](https://cloud.google.com/application-integration/docs/setup-application-integration)
365
+
366
+ ## Example Usage
367
+
368
+ ### Integrations Client Basic
369
+
370
+ <!--Start PulumiCodeChooser -->
371
+ ```python
372
+ import pulumi
373
+ import pulumi_gcp as gcp
374
+
375
+ example = gcp.applicationintegration.Client("example",
376
+ location="us-central1",
377
+ provision_gmek=True)
378
+ ```
379
+ <!--End PulumiCodeChooser -->
380
+ ### Integrations Client Advance
381
+
382
+ <!--Start PulumiCodeChooser -->
383
+ ```python
384
+ import pulumi
385
+ import pulumi_gcp as gcp
386
+
387
+ test_project = gcp.organizations.get_project()
388
+ keyring = gcp.kms.KeyRing("keyring",
389
+ name="my-keyring",
390
+ location="us-east1")
391
+ cryptokey = gcp.kms.CryptoKey("cryptokey",
392
+ name="crypto-key-example",
393
+ key_ring=keyring.id,
394
+ rotation_period="7776000s")
395
+ test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
396
+ service_account = gcp.serviceaccount.Account("service_account",
397
+ account_id="service-account-id",
398
+ display_name="Service Account")
399
+ example = gcp.applicationintegration.Client("example",
400
+ location="us-east1",
401
+ create_sample_workflows=True,
402
+ run_as_service_account=service_account.email,
403
+ cloud_kms_config=gcp.applicationintegration.ClientCloudKmsConfigArgs(
404
+ kms_location="us-east1",
405
+ kms_ring=keyring.id,
406
+ key=cryptokey.id,
407
+ key_version=test_key.id,
408
+ kms_project_id=test_project.project_id,
409
+ ))
410
+ ```
411
+ <!--End PulumiCodeChooser -->
412
+
413
+ ## Import
414
+
415
+ Client can be imported using any of these accepted formats:
416
+
417
+ * `projects/{{project}}/locations/{{location}}/clients`
418
+
419
+ * `{{project}}/{{location}}`
420
+
421
+ * `{{location}}`
422
+
423
+ When using the `pulumi import` command, Client can be imported using one of the formats above. For example:
424
+
425
+ ```sh
426
+ $ pulumi import gcp:applicationintegration/client:Client default projects/{{project}}/locations/{{location}}/clients
427
+ ```
428
+
429
+ ```sh
430
+ $ pulumi import gcp:applicationintegration/client:Client default {{project}}/{{location}}
431
+ ```
432
+
433
+ ```sh
434
+ $ pulumi import gcp:applicationintegration/client:Client default {{location}}
435
+ ```
436
+
437
+ :param str resource_name: The name of the resource.
438
+ :param ClientArgs args: The arguments to use to populate this resource's properties.
439
+ :param pulumi.ResourceOptions opts: Options for the resource.
440
+ """
441
+ ...
442
+ def __init__(__self__, resource_name: str, *args, **kwargs):
443
+ resource_args, opts = _utilities.get_resource_args_opts(ClientArgs, pulumi.ResourceOptions, *args, **kwargs)
444
+ if resource_args is not None:
445
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
446
+ else:
447
+ __self__._internal_init(resource_name, *args, **kwargs)
448
+
449
+ def _internal_init(__self__,
450
+ resource_name: str,
451
+ opts: Optional[pulumi.ResourceOptions] = None,
452
+ cloud_kms_config: Optional[pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']]] = None,
453
+ create_sample_workflows: Optional[pulumi.Input[bool]] = None,
454
+ location: Optional[pulumi.Input[str]] = None,
455
+ project: Optional[pulumi.Input[str]] = None,
456
+ provision_gmek: Optional[pulumi.Input[bool]] = None,
457
+ run_as_service_account: Optional[pulumi.Input[str]] = None,
458
+ __props__=None):
459
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
460
+ if not isinstance(opts, pulumi.ResourceOptions):
461
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
462
+ if opts.id is None:
463
+ if __props__ is not None:
464
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
465
+ __props__ = ClientArgs.__new__(ClientArgs)
466
+
467
+ __props__.__dict__["cloud_kms_config"] = cloud_kms_config
468
+ __props__.__dict__["create_sample_workflows"] = create_sample_workflows
469
+ if location is None and not opts.urn:
470
+ raise TypeError("Missing required property 'location'")
471
+ __props__.__dict__["location"] = location
472
+ __props__.__dict__["project"] = project
473
+ __props__.__dict__["provision_gmek"] = provision_gmek
474
+ __props__.__dict__["run_as_service_account"] = run_as_service_account
475
+ super(Client, __self__).__init__(
476
+ 'gcp:applicationintegration/client:Client',
477
+ resource_name,
478
+ __props__,
479
+ opts)
480
+
481
+ @staticmethod
482
+ def get(resource_name: str,
483
+ id: pulumi.Input[str],
484
+ opts: Optional[pulumi.ResourceOptions] = None,
485
+ cloud_kms_config: Optional[pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']]] = None,
486
+ create_sample_workflows: Optional[pulumi.Input[bool]] = None,
487
+ location: Optional[pulumi.Input[str]] = None,
488
+ project: Optional[pulumi.Input[str]] = None,
489
+ provision_gmek: Optional[pulumi.Input[bool]] = None,
490
+ run_as_service_account: Optional[pulumi.Input[str]] = None) -> 'Client':
491
+ """
492
+ Get an existing Client resource's state with the given name, id, and optional extra
493
+ properties used to qualify the lookup.
494
+
495
+ :param str resource_name: The unique name of the resulting resource.
496
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
497
+ :param pulumi.ResourceOptions opts: Options for the resource.
498
+ :param pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
499
+ Structure is documented below.
500
+ :param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
501
+ :param pulumi.Input[str] location: Location in which client needs to be provisioned.
502
+
503
+
504
+ - - -
505
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
506
+ If it is not provided, the provider project is used.
507
+ :param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
508
+ :param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
509
+ """
510
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
511
+
512
+ __props__ = _ClientState.__new__(_ClientState)
513
+
514
+ __props__.__dict__["cloud_kms_config"] = cloud_kms_config
515
+ __props__.__dict__["create_sample_workflows"] = create_sample_workflows
516
+ __props__.__dict__["location"] = location
517
+ __props__.__dict__["project"] = project
518
+ __props__.__dict__["provision_gmek"] = provision_gmek
519
+ __props__.__dict__["run_as_service_account"] = run_as_service_account
520
+ return Client(resource_name, opts=opts, __props__=__props__)
521
+
522
+ @property
523
+ @pulumi.getter(name="cloudKmsConfig")
524
+ def cloud_kms_config(self) -> pulumi.Output[Optional['outputs.ClientCloudKmsConfig']]:
525
+ """
526
+ Cloud KMS config for AuthModule to encrypt/decrypt credentials.
527
+ Structure is documented below.
528
+ """
529
+ return pulumi.get(self, "cloud_kms_config")
530
+
531
+ @property
532
+ @pulumi.getter(name="createSampleWorkflows")
533
+ def create_sample_workflows(self) -> pulumi.Output[Optional[bool]]:
534
+ """
535
+ Indicates if sample workflow should be created along with provisioning.
536
+ """
537
+ return pulumi.get(self, "create_sample_workflows")
538
+
539
+ @property
540
+ @pulumi.getter
541
+ def location(self) -> pulumi.Output[str]:
542
+ """
543
+ Location in which client needs to be provisioned.
544
+
545
+
546
+ - - -
547
+ """
548
+ return pulumi.get(self, "location")
549
+
550
+ @property
551
+ @pulumi.getter
552
+ def project(self) -> pulumi.Output[str]:
553
+ """
554
+ The ID of the project in which the resource belongs.
555
+ If it is not provided, the provider project is used.
556
+ """
557
+ return pulumi.get(self, "project")
558
+
559
+ @property
560
+ @pulumi.getter(name="provisionGmek")
561
+ def provision_gmek(self) -> pulumi.Output[Optional[bool]]:
562
+ """
563
+ Indicates provision with GMEK or CMEK.
564
+ """
565
+ return pulumi.get(self, "provision_gmek")
566
+
567
+ @property
568
+ @pulumi.getter(name="runAsServiceAccount")
569
+ def run_as_service_account(self) -> pulumi.Output[Optional[str]]:
570
+ """
571
+ User input run-as service account, if empty, will bring up a new default service account.
572
+ """
573
+ return pulumi.get(self, "run_as_service_account")
574
+
@@ -0,0 +1,122 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+
12
+ __all__ = [
13
+ 'ClientCloudKmsConfig',
14
+ ]
15
+
16
+ @pulumi.output_type
17
+ class ClientCloudKmsConfig(dict):
18
+ @staticmethod
19
+ def __key_warning(key: str):
20
+ suggest = None
21
+ if key == "kmsLocation":
22
+ suggest = "kms_location"
23
+ elif key == "kmsRing":
24
+ suggest = "kms_ring"
25
+ elif key == "keyVersion":
26
+ suggest = "key_version"
27
+ elif key == "kmsProjectId":
28
+ suggest = "kms_project_id"
29
+
30
+ if suggest:
31
+ pulumi.log.warn(f"Key '{key}' not found in ClientCloudKmsConfig. Access the value via the '{suggest}' property getter instead.")
32
+
33
+ def __getitem__(self, key: str) -> Any:
34
+ ClientCloudKmsConfig.__key_warning(key)
35
+ return super().__getitem__(key)
36
+
37
+ def get(self, key: str, default = None) -> Any:
38
+ ClientCloudKmsConfig.__key_warning(key)
39
+ return super().get(key, default)
40
+
41
+ def __init__(__self__, *,
42
+ key: str,
43
+ kms_location: str,
44
+ kms_ring: str,
45
+ key_version: Optional[str] = None,
46
+ kms_project_id: Optional[str] = None):
47
+ """
48
+ :param str key: A Cloud KMS key is a named object containing one or more key versions, along
49
+ with metadata for the key. A key exists on exactly one key ring tied to a
50
+ specific location.
51
+ :param str kms_location: Location name of the key ring, e.g. "us-west1".
52
+ :param str kms_ring: A key ring organizes keys in a specific Google Cloud location and allows you to
53
+ manage access control on groups of keys. A key ring's name does not need to be
54
+ unique across a Google Cloud project, but must be unique within a given location.
55
+ :param str key_version: Each version of a key contains key material used for encryption or signing.
56
+ A key's version is represented by an integer, starting at 1. To decrypt data
57
+ or verify a signature, you must use the same key version that was used to
58
+ encrypt or sign the data.
59
+ :param str kms_project_id: The Google Cloud project id of the project where the kms key stored. If empty,
60
+ the kms key is stored at the same project as customer's project and ecrypted
61
+ with CMEK, otherwise, the kms key is stored in the tenant project and
62
+ encrypted with GMEK.
63
+ """
64
+ pulumi.set(__self__, "key", key)
65
+ pulumi.set(__self__, "kms_location", kms_location)
66
+ pulumi.set(__self__, "kms_ring", kms_ring)
67
+ if key_version is not None:
68
+ pulumi.set(__self__, "key_version", key_version)
69
+ if kms_project_id is not None:
70
+ pulumi.set(__self__, "kms_project_id", kms_project_id)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def key(self) -> str:
75
+ """
76
+ A Cloud KMS key is a named object containing one or more key versions, along
77
+ with metadata for the key. A key exists on exactly one key ring tied to a
78
+ specific location.
79
+ """
80
+ return pulumi.get(self, "key")
81
+
82
+ @property
83
+ @pulumi.getter(name="kmsLocation")
84
+ def kms_location(self) -> str:
85
+ """
86
+ Location name of the key ring, e.g. "us-west1".
87
+ """
88
+ return pulumi.get(self, "kms_location")
89
+
90
+ @property
91
+ @pulumi.getter(name="kmsRing")
92
+ def kms_ring(self) -> str:
93
+ """
94
+ A key ring organizes keys in a specific Google Cloud location and allows you to
95
+ manage access control on groups of keys. A key ring's name does not need to be
96
+ unique across a Google Cloud project, but must be unique within a given location.
97
+ """
98
+ return pulumi.get(self, "kms_ring")
99
+
100
+ @property
101
+ @pulumi.getter(name="keyVersion")
102
+ def key_version(self) -> Optional[str]:
103
+ """
104
+ Each version of a key contains key material used for encryption or signing.
105
+ A key's version is represented by an integer, starting at 1. To decrypt data
106
+ or verify a signature, you must use the same key version that was used to
107
+ encrypt or sign the data.
108
+ """
109
+ return pulumi.get(self, "key_version")
110
+
111
+ @property
112
+ @pulumi.getter(name="kmsProjectId")
113
+ def kms_project_id(self) -> Optional[str]:
114
+ """
115
+ The Google Cloud project id of the project where the kms key stored. If empty,
116
+ the kms key is stored at the same project as customer's project and ecrypted
117
+ with CMEK, otherwise, the kms key is stored in the tenant project and
118
+ encrypted with GMEK.
119
+ """
120
+ return pulumi.get(self, "kms_project_id")
121
+
122
+