pulumi-gcp 7.17.0a1712402830__py3-none-any.whl → 7.17.0a1712602552__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.
- pulumi_gcp/__init__.py +27 -0
- pulumi_gcp/apphub/__init__.py +1 -0
- pulumi_gcp/apphub/get_application.py +220 -0
- pulumi_gcp/apphub/outputs.py +214 -0
- pulumi_gcp/applicationintegration/__init__.py +10 -0
- pulumi_gcp/applicationintegration/_inputs.py +119 -0
- pulumi_gcp/applicationintegration/client.py +566 -0
- pulumi_gcp/applicationintegration/outputs.py +122 -0
- pulumi_gcp/bigquery/_inputs.py +16 -0
- pulumi_gcp/bigquery/outputs.py +14 -0
- pulumi_gcp/bigquery/routine.py +98 -0
- pulumi_gcp/billing/project_info.py +4 -4
- pulumi_gcp/cloudquota/__init__.py +2 -0
- pulumi_gcp/cloudquota/_inputs.py +131 -0
- pulumi_gcp/cloudquota/outputs.py +118 -0
- pulumi_gcp/cloudquota/s_quota_preference.py +777 -0
- pulumi_gcp/compute/interconnect_attachment.py +64 -0
- pulumi_gcp/compute/network_endpoint.py +8 -0
- pulumi_gcp/compute/network_endpoint_list.py +8 -0
- pulumi_gcp/compute/region_backend_service.py +28 -0
- pulumi_gcp/compute/target_instance.py +4 -4
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/databasemigrationservice/connection_profile.py +6 -6
- pulumi_gcp/dataflow/flex_template_job.py +84 -112
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/_inputs.py +71 -0
- pulumi_gcp/dataproc/get_metastore_service.py +11 -1
- pulumi_gcp/dataproc/metastore_service.py +120 -0
- pulumi_gcp/dataproc/outputs.py +128 -0
- pulumi_gcp/firebase/app_check_service_config.py +2 -2
- pulumi_gcp/firestore/backup_schedule.py +14 -14
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/kms/_inputs.py +46 -0
- pulumi_gcp/kms/crypto_key.py +54 -0
- pulumi_gcp/kms/crypto_key_version.py +54 -0
- pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
- pulumi_gcp/kms/outputs.py +54 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/vertex/__init__.py +1 -0
- pulumi_gcp/vertex/_inputs.py +169 -0
- pulumi_gcp/vertex/ai_deployment_resource_pool.py +477 -0
- pulumi_gcp/vertex/outputs.py +194 -0
- pulumi_gcp/vpcaccess/connector.py +77 -28
- {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/RECORD +55 -47
- {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.17.0a1712402830.dist-info → pulumi_gcp-7.17.0a1712602552.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,566 @@
|
|
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", location="us-central1")
|
275
|
+
```
|
276
|
+
<!--End PulumiCodeChooser -->
|
277
|
+
### Integrations Client Advance
|
278
|
+
|
279
|
+
<!--Start PulumiCodeChooser -->
|
280
|
+
```python
|
281
|
+
import pulumi
|
282
|
+
import pulumi_gcp as gcp
|
283
|
+
|
284
|
+
test_project = gcp.organizations.get_project()
|
285
|
+
keyring = gcp.kms.KeyRing("keyring",
|
286
|
+
name="my-keyring",
|
287
|
+
location="us-central1")
|
288
|
+
cryptokey = gcp.kms.CryptoKey("cryptokey",
|
289
|
+
name="crypto-key-example",
|
290
|
+
key_ring=keyring.id,
|
291
|
+
rotation_period="7776000s")
|
292
|
+
test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
|
293
|
+
example = gcp.applicationintegration.Client("example",
|
294
|
+
location="us-central1",
|
295
|
+
create_sample_workflows=True,
|
296
|
+
provision_gmek=True,
|
297
|
+
run_as_service_account="radndom-service-account",
|
298
|
+
cloud_kms_config=gcp.applicationintegration.ClientCloudKmsConfigArgs(
|
299
|
+
kms_location="us-central1",
|
300
|
+
kms_ring=keyring.id,
|
301
|
+
key=cryptokey.id,
|
302
|
+
key_version=test_key.id,
|
303
|
+
kms_project_id=test_project.id,
|
304
|
+
))
|
305
|
+
```
|
306
|
+
<!--End PulumiCodeChooser -->
|
307
|
+
|
308
|
+
## Import
|
309
|
+
|
310
|
+
Client can be imported using any of these accepted formats:
|
311
|
+
|
312
|
+
* `projects/{{project}}/locations/{{location}}/clients`
|
313
|
+
|
314
|
+
* `{{project}}/{{location}}`
|
315
|
+
|
316
|
+
* `{{location}}`
|
317
|
+
|
318
|
+
When using the `pulumi import` command, Client can be imported using one of the formats above. For example:
|
319
|
+
|
320
|
+
```sh
|
321
|
+
$ pulumi import gcp:applicationintegration/client:Client default projects/{{project}}/locations/{{location}}/clients
|
322
|
+
```
|
323
|
+
|
324
|
+
```sh
|
325
|
+
$ pulumi import gcp:applicationintegration/client:Client default {{project}}/{{location}}
|
326
|
+
```
|
327
|
+
|
328
|
+
```sh
|
329
|
+
$ pulumi import gcp:applicationintegration/client:Client default {{location}}
|
330
|
+
```
|
331
|
+
|
332
|
+
:param str resource_name: The name of the resource.
|
333
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
334
|
+
:param pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
|
335
|
+
Structure is documented below.
|
336
|
+
:param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
|
337
|
+
:param pulumi.Input[str] location: Location in which client needs to be provisioned.
|
338
|
+
|
339
|
+
|
340
|
+
- - -
|
341
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
342
|
+
If it is not provided, the provider project is used.
|
343
|
+
:param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
|
344
|
+
:param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
|
345
|
+
"""
|
346
|
+
...
|
347
|
+
@overload
|
348
|
+
def __init__(__self__,
|
349
|
+
resource_name: str,
|
350
|
+
args: ClientArgs,
|
351
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
352
|
+
"""
|
353
|
+
Application Integration Client.
|
354
|
+
|
355
|
+
To get more information about Client, see:
|
356
|
+
|
357
|
+
* [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.clients)
|
358
|
+
* How-to Guides
|
359
|
+
* [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
|
360
|
+
* [Set up Application Integration](https://cloud.google.com/application-integration/docs/setup-application-integration)
|
361
|
+
|
362
|
+
## Example Usage
|
363
|
+
|
364
|
+
### Integrations Client Basic
|
365
|
+
|
366
|
+
<!--Start PulumiCodeChooser -->
|
367
|
+
```python
|
368
|
+
import pulumi
|
369
|
+
import pulumi_gcp as gcp
|
370
|
+
|
371
|
+
example = gcp.applicationintegration.Client("example", location="us-central1")
|
372
|
+
```
|
373
|
+
<!--End PulumiCodeChooser -->
|
374
|
+
### Integrations Client Advance
|
375
|
+
|
376
|
+
<!--Start PulumiCodeChooser -->
|
377
|
+
```python
|
378
|
+
import pulumi
|
379
|
+
import pulumi_gcp as gcp
|
380
|
+
|
381
|
+
test_project = gcp.organizations.get_project()
|
382
|
+
keyring = gcp.kms.KeyRing("keyring",
|
383
|
+
name="my-keyring",
|
384
|
+
location="us-central1")
|
385
|
+
cryptokey = gcp.kms.CryptoKey("cryptokey",
|
386
|
+
name="crypto-key-example",
|
387
|
+
key_ring=keyring.id,
|
388
|
+
rotation_period="7776000s")
|
389
|
+
test_key = gcp.kms.CryptoKeyVersion("test_key", crypto_key=cryptokey.id)
|
390
|
+
example = gcp.applicationintegration.Client("example",
|
391
|
+
location="us-central1",
|
392
|
+
create_sample_workflows=True,
|
393
|
+
provision_gmek=True,
|
394
|
+
run_as_service_account="radndom-service-account",
|
395
|
+
cloud_kms_config=gcp.applicationintegration.ClientCloudKmsConfigArgs(
|
396
|
+
kms_location="us-central1",
|
397
|
+
kms_ring=keyring.id,
|
398
|
+
key=cryptokey.id,
|
399
|
+
key_version=test_key.id,
|
400
|
+
kms_project_id=test_project.id,
|
401
|
+
))
|
402
|
+
```
|
403
|
+
<!--End PulumiCodeChooser -->
|
404
|
+
|
405
|
+
## Import
|
406
|
+
|
407
|
+
Client can be imported using any of these accepted formats:
|
408
|
+
|
409
|
+
* `projects/{{project}}/locations/{{location}}/clients`
|
410
|
+
|
411
|
+
* `{{project}}/{{location}}`
|
412
|
+
|
413
|
+
* `{{location}}`
|
414
|
+
|
415
|
+
When using the `pulumi import` command, Client can be imported using one of the formats above. For example:
|
416
|
+
|
417
|
+
```sh
|
418
|
+
$ pulumi import gcp:applicationintegration/client:Client default projects/{{project}}/locations/{{location}}/clients
|
419
|
+
```
|
420
|
+
|
421
|
+
```sh
|
422
|
+
$ pulumi import gcp:applicationintegration/client:Client default {{project}}/{{location}}
|
423
|
+
```
|
424
|
+
|
425
|
+
```sh
|
426
|
+
$ pulumi import gcp:applicationintegration/client:Client default {{location}}
|
427
|
+
```
|
428
|
+
|
429
|
+
:param str resource_name: The name of the resource.
|
430
|
+
:param ClientArgs args: The arguments to use to populate this resource's properties.
|
431
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
432
|
+
"""
|
433
|
+
...
|
434
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
435
|
+
resource_args, opts = _utilities.get_resource_args_opts(ClientArgs, pulumi.ResourceOptions, *args, **kwargs)
|
436
|
+
if resource_args is not None:
|
437
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
438
|
+
else:
|
439
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
440
|
+
|
441
|
+
def _internal_init(__self__,
|
442
|
+
resource_name: str,
|
443
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
444
|
+
cloud_kms_config: Optional[pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']]] = None,
|
445
|
+
create_sample_workflows: Optional[pulumi.Input[bool]] = None,
|
446
|
+
location: Optional[pulumi.Input[str]] = None,
|
447
|
+
project: Optional[pulumi.Input[str]] = None,
|
448
|
+
provision_gmek: Optional[pulumi.Input[bool]] = None,
|
449
|
+
run_as_service_account: Optional[pulumi.Input[str]] = None,
|
450
|
+
__props__=None):
|
451
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
452
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
453
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
454
|
+
if opts.id is None:
|
455
|
+
if __props__ is not None:
|
456
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
457
|
+
__props__ = ClientArgs.__new__(ClientArgs)
|
458
|
+
|
459
|
+
__props__.__dict__["cloud_kms_config"] = cloud_kms_config
|
460
|
+
__props__.__dict__["create_sample_workflows"] = create_sample_workflows
|
461
|
+
if location is None and not opts.urn:
|
462
|
+
raise TypeError("Missing required property 'location'")
|
463
|
+
__props__.__dict__["location"] = location
|
464
|
+
__props__.__dict__["project"] = project
|
465
|
+
__props__.__dict__["provision_gmek"] = provision_gmek
|
466
|
+
__props__.__dict__["run_as_service_account"] = run_as_service_account
|
467
|
+
super(Client, __self__).__init__(
|
468
|
+
'gcp:applicationintegration/client:Client',
|
469
|
+
resource_name,
|
470
|
+
__props__,
|
471
|
+
opts)
|
472
|
+
|
473
|
+
@staticmethod
|
474
|
+
def get(resource_name: str,
|
475
|
+
id: pulumi.Input[str],
|
476
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
477
|
+
cloud_kms_config: Optional[pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']]] = None,
|
478
|
+
create_sample_workflows: Optional[pulumi.Input[bool]] = None,
|
479
|
+
location: Optional[pulumi.Input[str]] = None,
|
480
|
+
project: Optional[pulumi.Input[str]] = None,
|
481
|
+
provision_gmek: Optional[pulumi.Input[bool]] = None,
|
482
|
+
run_as_service_account: Optional[pulumi.Input[str]] = None) -> 'Client':
|
483
|
+
"""
|
484
|
+
Get an existing Client resource's state with the given name, id, and optional extra
|
485
|
+
properties used to qualify the lookup.
|
486
|
+
|
487
|
+
:param str resource_name: The unique name of the resulting resource.
|
488
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
489
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
490
|
+
:param pulumi.Input[pulumi.InputType['ClientCloudKmsConfigArgs']] cloud_kms_config: Cloud KMS config for AuthModule to encrypt/decrypt credentials.
|
491
|
+
Structure is documented below.
|
492
|
+
:param pulumi.Input[bool] create_sample_workflows: Indicates if sample workflow should be created along with provisioning.
|
493
|
+
:param pulumi.Input[str] location: Location in which client needs to be provisioned.
|
494
|
+
|
495
|
+
|
496
|
+
- - -
|
497
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
498
|
+
If it is not provided, the provider project is used.
|
499
|
+
:param pulumi.Input[bool] provision_gmek: Indicates provision with GMEK or CMEK.
|
500
|
+
:param pulumi.Input[str] run_as_service_account: User input run-as service account, if empty, will bring up a new default service account.
|
501
|
+
"""
|
502
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
503
|
+
|
504
|
+
__props__ = _ClientState.__new__(_ClientState)
|
505
|
+
|
506
|
+
__props__.__dict__["cloud_kms_config"] = cloud_kms_config
|
507
|
+
__props__.__dict__["create_sample_workflows"] = create_sample_workflows
|
508
|
+
__props__.__dict__["location"] = location
|
509
|
+
__props__.__dict__["project"] = project
|
510
|
+
__props__.__dict__["provision_gmek"] = provision_gmek
|
511
|
+
__props__.__dict__["run_as_service_account"] = run_as_service_account
|
512
|
+
return Client(resource_name, opts=opts, __props__=__props__)
|
513
|
+
|
514
|
+
@property
|
515
|
+
@pulumi.getter(name="cloudKmsConfig")
|
516
|
+
def cloud_kms_config(self) -> pulumi.Output[Optional['outputs.ClientCloudKmsConfig']]:
|
517
|
+
"""
|
518
|
+
Cloud KMS config for AuthModule to encrypt/decrypt credentials.
|
519
|
+
Structure is documented below.
|
520
|
+
"""
|
521
|
+
return pulumi.get(self, "cloud_kms_config")
|
522
|
+
|
523
|
+
@property
|
524
|
+
@pulumi.getter(name="createSampleWorkflows")
|
525
|
+
def create_sample_workflows(self) -> pulumi.Output[Optional[bool]]:
|
526
|
+
"""
|
527
|
+
Indicates if sample workflow should be created along with provisioning.
|
528
|
+
"""
|
529
|
+
return pulumi.get(self, "create_sample_workflows")
|
530
|
+
|
531
|
+
@property
|
532
|
+
@pulumi.getter
|
533
|
+
def location(self) -> pulumi.Output[str]:
|
534
|
+
"""
|
535
|
+
Location in which client needs to be provisioned.
|
536
|
+
|
537
|
+
|
538
|
+
- - -
|
539
|
+
"""
|
540
|
+
return pulumi.get(self, "location")
|
541
|
+
|
542
|
+
@property
|
543
|
+
@pulumi.getter
|
544
|
+
def project(self) -> pulumi.Output[str]:
|
545
|
+
"""
|
546
|
+
The ID of the project in which the resource belongs.
|
547
|
+
If it is not provided, the provider project is used.
|
548
|
+
"""
|
549
|
+
return pulumi.get(self, "project")
|
550
|
+
|
551
|
+
@property
|
552
|
+
@pulumi.getter(name="provisionGmek")
|
553
|
+
def provision_gmek(self) -> pulumi.Output[Optional[bool]]:
|
554
|
+
"""
|
555
|
+
Indicates provision with GMEK or CMEK.
|
556
|
+
"""
|
557
|
+
return pulumi.get(self, "provision_gmek")
|
558
|
+
|
559
|
+
@property
|
560
|
+
@pulumi.getter(name="runAsServiceAccount")
|
561
|
+
def run_as_service_account(self) -> pulumi.Output[Optional[str]]:
|
562
|
+
"""
|
563
|
+
User input run-as service account, if empty, will bring up a new default service account.
|
564
|
+
"""
|
565
|
+
return pulumi.get(self, "run_as_service_account")
|
566
|
+
|
@@ -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
|
+
|