pulumi-gcp 8.36.0a1750439108__py3-none-any.whl → 8.36.0a1751060819__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 +35 -0
- pulumi_gcp/alloydb/_inputs.py +26 -0
- pulumi_gcp/alloydb/outputs.py +34 -1
- pulumi_gcp/apihub/__init__.py +1 -0
- pulumi_gcp/apihub/_inputs.py +983 -0
- pulumi_gcp/apihub/outputs.py +807 -0
- pulumi_gcp/apihub/plugin_instance.py +808 -0
- pulumi_gcp/bigquery/table.py +16 -12
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +56 -6
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +73 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +201 -48
- pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +28 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +50 -4
- pulumi_gcp/bigtable/table.py +82 -0
- pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +64 -8
- pulumi_gcp/compute/_inputs.py +24 -12
- pulumi_gcp/compute/instance.py +2 -2
- pulumi_gcp/compute/instance_template.py +2 -2
- pulumi_gcp/compute/interconnect.py +43 -11
- pulumi_gcp/compute/node_template.py +21 -0
- pulumi_gcp/compute/outputs.py +16 -8
- pulumi_gcp/compute/service_attachment.py +76 -8
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/contactcenterinsights/__init__.py +9 -0
- pulumi_gcp/contactcenterinsights/view.py +526 -0
- pulumi_gcp/container/_inputs.py +72 -12
- pulumi_gcp/container/get_engine_versions.py +15 -1
- pulumi_gcp/container/outputs.py +73 -9
- pulumi_gcp/dataplex/_inputs.py +431 -6
- pulumi_gcp/dataplex/datascan.py +251 -0
- pulumi_gcp/dataplex/entry_type.py +2 -2
- pulumi_gcp/dataplex/glossary_category.py +8 -8
- pulumi_gcp/dataplex/glossary_term.py +8 -8
- pulumi_gcp/dataplex/outputs.py +353 -4
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataproc/__init__.py +1 -0
- pulumi_gcp/dataproc/_inputs.py +486 -0
- pulumi_gcp/dataproc/batch.py +10 -10
- pulumi_gcp/dataproc/outputs.py +407 -0
- pulumi_gcp/dataproc/session_template.py +1084 -0
- pulumi_gcp/diagflow/__init__.py +1 -0
- pulumi_gcp/diagflow/_inputs.py +48 -0
- pulumi_gcp/diagflow/cx_tool.py +2 -2
- pulumi_gcp/diagflow/encryption_spec.py +382 -0
- pulumi_gcp/diagflow/outputs.py +46 -0
- pulumi_gcp/firestore/field.py +6 -6
- 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 +8 -8
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/lustre/get_instance.py +12 -1
- pulumi_gcp/lustre/instance.py +143 -86
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/storage/bucket_object.py +56 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/METADATA +2 -2
- {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/RECORD +71 -66
- {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.36.0a1750439108.dist-info → pulumi_gcp-8.36.0a1751060819.dist-info}/top_level.txt +0 -0
pulumi_gcp/diagflow/__init__.py
CHANGED
pulumi_gcp/diagflow/_inputs.py
CHANGED
@@ -390,6 +390,8 @@ __all__ = [
|
|
390
390
|
'CxWebhookServiceDirectoryArgsDict',
|
391
391
|
'CxWebhookServiceDirectoryGenericWebServiceArgs',
|
392
392
|
'CxWebhookServiceDirectoryGenericWebServiceArgsDict',
|
393
|
+
'EncryptionSpecEncryptionSpecArgs',
|
394
|
+
'EncryptionSpecEncryptionSpecArgsDict',
|
393
395
|
'EntityTypeEntityArgs',
|
394
396
|
'EntityTypeEntityArgsDict',
|
395
397
|
'FulfillmentFeatureArgs',
|
@@ -14779,6 +14781,52 @@ class CxWebhookServiceDirectoryGenericWebServiceArgs:
|
|
14779
14781
|
pulumi.set(self, "request_headers", value)
|
14780
14782
|
|
14781
14783
|
|
14784
|
+
if not MYPY:
|
14785
|
+
class EncryptionSpecEncryptionSpecArgsDict(TypedDict):
|
14786
|
+
kms_key: pulumi.Input[builtins.str]
|
14787
|
+
"""
|
14788
|
+
The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
|
14789
|
+
If empty, the resource is secured by the default Google encryption key.
|
14790
|
+
Only the key in the same location as this resource is allowed to be used for encryption.
|
14791
|
+
Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
|
14792
|
+
|
14793
|
+
- - -
|
14794
|
+
"""
|
14795
|
+
elif False:
|
14796
|
+
EncryptionSpecEncryptionSpecArgsDict: TypeAlias = Mapping[str, Any]
|
14797
|
+
|
14798
|
+
@pulumi.input_type
|
14799
|
+
class EncryptionSpecEncryptionSpecArgs:
|
14800
|
+
def __init__(__self__, *,
|
14801
|
+
kms_key: pulumi.Input[builtins.str]):
|
14802
|
+
"""
|
14803
|
+
:param pulumi.Input[builtins.str] kms_key: The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
|
14804
|
+
If empty, the resource is secured by the default Google encryption key.
|
14805
|
+
Only the key in the same location as this resource is allowed to be used for encryption.
|
14806
|
+
Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
|
14807
|
+
|
14808
|
+
- - -
|
14809
|
+
"""
|
14810
|
+
pulumi.set(__self__, "kms_key", kms_key)
|
14811
|
+
|
14812
|
+
@property
|
14813
|
+
@pulumi.getter(name="kmsKey")
|
14814
|
+
def kms_key(self) -> pulumi.Input[builtins.str]:
|
14815
|
+
"""
|
14816
|
+
The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
|
14817
|
+
If empty, the resource is secured by the default Google encryption key.
|
14818
|
+
Only the key in the same location as this resource is allowed to be used for encryption.
|
14819
|
+
Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
|
14820
|
+
|
14821
|
+
- - -
|
14822
|
+
"""
|
14823
|
+
return pulumi.get(self, "kms_key")
|
14824
|
+
|
14825
|
+
@kms_key.setter
|
14826
|
+
def kms_key(self, value: pulumi.Input[builtins.str]):
|
14827
|
+
pulumi.set(self, "kms_key", value)
|
14828
|
+
|
14829
|
+
|
14782
14830
|
if not MYPY:
|
14783
14831
|
class EntityTypeEntityArgsDict(TypedDict):
|
14784
14832
|
synonyms: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
|
pulumi_gcp/diagflow/cx_tool.py
CHANGED
@@ -412,7 +412,7 @@ class CxTool(pulumi.CustomResource):
|
|
412
412
|
|
413
413
|
my_datastore = gcp.discoveryengine.DataStore("my_datastore",
|
414
414
|
location="global",
|
415
|
-
data_store_id="datastore-tool-test-
|
415
|
+
data_store_id="datastore-tool-test-_79169",
|
416
416
|
display_name="datastore for Tool test",
|
417
417
|
industry_vertical="GENERIC",
|
418
418
|
content_config="NO_CONTENT",
|
@@ -629,7 +629,7 @@ class CxTool(pulumi.CustomResource):
|
|
629
629
|
|
630
630
|
my_datastore = gcp.discoveryengine.DataStore("my_datastore",
|
631
631
|
location="global",
|
632
|
-
data_store_id="datastore-tool-test-
|
632
|
+
data_store_id="datastore-tool-test-_79169",
|
633
633
|
display_name="datastore for Tool test",
|
634
634
|
industry_vertical="GENERIC",
|
635
635
|
content_config="NO_CONTENT",
|
@@ -0,0 +1,382 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import builtins
|
6
|
+
import copy
|
7
|
+
import warnings
|
8
|
+
import sys
|
9
|
+
import pulumi
|
10
|
+
import pulumi.runtime
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
12
|
+
if sys.version_info >= (3, 11):
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
14
|
+
else:
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
16
|
+
from .. import _utilities
|
17
|
+
from . import outputs
|
18
|
+
from ._inputs import *
|
19
|
+
|
20
|
+
__all__ = ['EncryptionSpecArgs', 'EncryptionSpec']
|
21
|
+
|
22
|
+
@pulumi.input_type
|
23
|
+
class EncryptionSpecArgs:
|
24
|
+
def __init__(__self__, *,
|
25
|
+
encryption_spec: pulumi.Input['EncryptionSpecEncryptionSpecArgs'],
|
26
|
+
location: pulumi.Input[builtins.str],
|
27
|
+
project: Optional[pulumi.Input[builtins.str]] = None):
|
28
|
+
"""
|
29
|
+
The set of arguments for constructing a EncryptionSpec resource.
|
30
|
+
:param pulumi.Input['EncryptionSpecEncryptionSpecArgs'] encryption_spec: A nested object resource.
|
31
|
+
Structure is documented below.
|
32
|
+
:param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
|
33
|
+
"""
|
34
|
+
pulumi.set(__self__, "encryption_spec", encryption_spec)
|
35
|
+
pulumi.set(__self__, "location", location)
|
36
|
+
if project is not None:
|
37
|
+
pulumi.set(__self__, "project", project)
|
38
|
+
|
39
|
+
@property
|
40
|
+
@pulumi.getter(name="encryptionSpec")
|
41
|
+
def encryption_spec(self) -> pulumi.Input['EncryptionSpecEncryptionSpecArgs']:
|
42
|
+
"""
|
43
|
+
A nested object resource.
|
44
|
+
Structure is documented below.
|
45
|
+
"""
|
46
|
+
return pulumi.get(self, "encryption_spec")
|
47
|
+
|
48
|
+
@encryption_spec.setter
|
49
|
+
def encryption_spec(self, value: pulumi.Input['EncryptionSpecEncryptionSpecArgs']):
|
50
|
+
pulumi.set(self, "encryption_spec", value)
|
51
|
+
|
52
|
+
@property
|
53
|
+
@pulumi.getter
|
54
|
+
def location(self) -> pulumi.Input[builtins.str]:
|
55
|
+
"""
|
56
|
+
The location in which the encryptionSpec is to be initialized.
|
57
|
+
"""
|
58
|
+
return pulumi.get(self, "location")
|
59
|
+
|
60
|
+
@location.setter
|
61
|
+
def location(self, value: pulumi.Input[builtins.str]):
|
62
|
+
pulumi.set(self, "location", value)
|
63
|
+
|
64
|
+
@property
|
65
|
+
@pulumi.getter
|
66
|
+
def project(self) -> Optional[pulumi.Input[builtins.str]]:
|
67
|
+
return pulumi.get(self, "project")
|
68
|
+
|
69
|
+
@project.setter
|
70
|
+
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
71
|
+
pulumi.set(self, "project", value)
|
72
|
+
|
73
|
+
|
74
|
+
@pulumi.input_type
|
75
|
+
class _EncryptionSpecState:
|
76
|
+
def __init__(__self__, *,
|
77
|
+
encryption_spec: Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']] = None,
|
78
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
79
|
+
project: Optional[pulumi.Input[builtins.str]] = None):
|
80
|
+
"""
|
81
|
+
Input properties used for looking up and filtering EncryptionSpec resources.
|
82
|
+
:param pulumi.Input['EncryptionSpecEncryptionSpecArgs'] encryption_spec: A nested object resource.
|
83
|
+
Structure is documented below.
|
84
|
+
:param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
|
85
|
+
"""
|
86
|
+
if encryption_spec is not None:
|
87
|
+
pulumi.set(__self__, "encryption_spec", encryption_spec)
|
88
|
+
if location is not None:
|
89
|
+
pulumi.set(__self__, "location", location)
|
90
|
+
if project is not None:
|
91
|
+
pulumi.set(__self__, "project", project)
|
92
|
+
|
93
|
+
@property
|
94
|
+
@pulumi.getter(name="encryptionSpec")
|
95
|
+
def encryption_spec(self) -> Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']]:
|
96
|
+
"""
|
97
|
+
A nested object resource.
|
98
|
+
Structure is documented below.
|
99
|
+
"""
|
100
|
+
return pulumi.get(self, "encryption_spec")
|
101
|
+
|
102
|
+
@encryption_spec.setter
|
103
|
+
def encryption_spec(self, value: Optional[pulumi.Input['EncryptionSpecEncryptionSpecArgs']]):
|
104
|
+
pulumi.set(self, "encryption_spec", value)
|
105
|
+
|
106
|
+
@property
|
107
|
+
@pulumi.getter
|
108
|
+
def location(self) -> Optional[pulumi.Input[builtins.str]]:
|
109
|
+
"""
|
110
|
+
The location in which the encryptionSpec is to be initialized.
|
111
|
+
"""
|
112
|
+
return pulumi.get(self, "location")
|
113
|
+
|
114
|
+
@location.setter
|
115
|
+
def location(self, value: Optional[pulumi.Input[builtins.str]]):
|
116
|
+
pulumi.set(self, "location", value)
|
117
|
+
|
118
|
+
@property
|
119
|
+
@pulumi.getter
|
120
|
+
def project(self) -> Optional[pulumi.Input[builtins.str]]:
|
121
|
+
return pulumi.get(self, "project")
|
122
|
+
|
123
|
+
@project.setter
|
124
|
+
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
125
|
+
pulumi.set(self, "project", value)
|
126
|
+
|
127
|
+
|
128
|
+
@pulumi.type_token("gcp:diagflow/encryptionSpec:EncryptionSpec")
|
129
|
+
class EncryptionSpec(pulumi.CustomResource):
|
130
|
+
@overload
|
131
|
+
def __init__(__self__,
|
132
|
+
resource_name: str,
|
133
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
134
|
+
encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
|
135
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
136
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
137
|
+
__props__=None):
|
138
|
+
"""
|
139
|
+
Initializes a location-level encryption key specification.
|
140
|
+
|
141
|
+
To get more information about EncryptionSpec, see:
|
142
|
+
|
143
|
+
* [API documentation](https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.locations.encryptionSpec)
|
144
|
+
* How-to Guides
|
145
|
+
* [Official CX Documentation](https://cloud.google.com/dialogflow/cx/docs)
|
146
|
+
* [Official ES Documentation](https://cloud.google.com/dialogflow/es/docs)
|
147
|
+
|
148
|
+
## Example Usage
|
149
|
+
|
150
|
+
### Dialogflow Encryption Spec Basic
|
151
|
+
|
152
|
+
```python
|
153
|
+
import pulumi
|
154
|
+
import pulumi_gcp as gcp
|
155
|
+
import pulumi_std as std
|
156
|
+
import pulumi_time as time
|
157
|
+
|
158
|
+
project = gcp.organizations.Project("project",
|
159
|
+
project_id="my-proj",
|
160
|
+
name="my-proj",
|
161
|
+
org_id="123456789",
|
162
|
+
billing_account="000000-0000000-0000000-000000",
|
163
|
+
deletion_policy="DELETE")
|
164
|
+
cloudkms = gcp.projects.Service("cloudkms",
|
165
|
+
project=project.project_id,
|
166
|
+
service="cloudkms.googleapis.com")
|
167
|
+
dialogflow = gcp.projects.Service("dialogflow",
|
168
|
+
project=project.project_id,
|
169
|
+
service="dialogflow.googleapis.com")
|
170
|
+
wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
|
171
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
172
|
+
cloudkms,
|
173
|
+
dialogflow,
|
174
|
+
]))
|
175
|
+
gcp_sa = gcp.projects.ServiceIdentity("gcp_sa",
|
176
|
+
service="dialogflow.googleapis.com",
|
177
|
+
project=project.project_id,
|
178
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
179
|
+
wait_create_sa = time.index.Sleep("wait_create_sa", create_duration=30s,
|
180
|
+
opts = pulumi.ResourceOptions(depends_on=[gcp_sa]))
|
181
|
+
keyring = gcp.kms.KeyRing("keyring",
|
182
|
+
name="my-keyring",
|
183
|
+
location="us-central1",
|
184
|
+
project=project.project_id,
|
185
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
186
|
+
key = gcp.kms.CryptoKey("key",
|
187
|
+
name="my-key",
|
188
|
+
key_ring=keyring.id,
|
189
|
+
purpose="ENCRYPT_DECRYPT")
|
190
|
+
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
191
|
+
crypto_key_id=key.id,
|
192
|
+
member=std.replace_output(text=gcp_sa.member,
|
193
|
+
search="@gcp-sa-dialogflow.iam",
|
194
|
+
replace="@gcp-sa-ccai-cmek.iam").apply(lambda invoke: invoke.result),
|
195
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
196
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_create_sa]))
|
197
|
+
my_encryption_spec = gcp.diagflow.EncryptionSpec("my-encryption-spec",
|
198
|
+
project=project.project_id,
|
199
|
+
location="us-central1",
|
200
|
+
encryption_spec={
|
201
|
+
"kms_key": key.id,
|
202
|
+
},
|
203
|
+
opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
|
204
|
+
```
|
205
|
+
|
206
|
+
## Import
|
207
|
+
|
208
|
+
This resource does not support import.
|
209
|
+
|
210
|
+
:param str resource_name: The name of the resource.
|
211
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
212
|
+
:param pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']] encryption_spec: A nested object resource.
|
213
|
+
Structure is documented below.
|
214
|
+
:param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
|
215
|
+
"""
|
216
|
+
...
|
217
|
+
@overload
|
218
|
+
def __init__(__self__,
|
219
|
+
resource_name: str,
|
220
|
+
args: EncryptionSpecArgs,
|
221
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
222
|
+
"""
|
223
|
+
Initializes a location-level encryption key specification.
|
224
|
+
|
225
|
+
To get more information about EncryptionSpec, see:
|
226
|
+
|
227
|
+
* [API documentation](https://cloud.google.com/dialogflow/es/docs/reference/rest/v2/projects.locations.encryptionSpec)
|
228
|
+
* How-to Guides
|
229
|
+
* [Official CX Documentation](https://cloud.google.com/dialogflow/cx/docs)
|
230
|
+
* [Official ES Documentation](https://cloud.google.com/dialogflow/es/docs)
|
231
|
+
|
232
|
+
## Example Usage
|
233
|
+
|
234
|
+
### Dialogflow Encryption Spec Basic
|
235
|
+
|
236
|
+
```python
|
237
|
+
import pulumi
|
238
|
+
import pulumi_gcp as gcp
|
239
|
+
import pulumi_std as std
|
240
|
+
import pulumi_time as time
|
241
|
+
|
242
|
+
project = gcp.organizations.Project("project",
|
243
|
+
project_id="my-proj",
|
244
|
+
name="my-proj",
|
245
|
+
org_id="123456789",
|
246
|
+
billing_account="000000-0000000-0000000-000000",
|
247
|
+
deletion_policy="DELETE")
|
248
|
+
cloudkms = gcp.projects.Service("cloudkms",
|
249
|
+
project=project.project_id,
|
250
|
+
service="cloudkms.googleapis.com")
|
251
|
+
dialogflow = gcp.projects.Service("dialogflow",
|
252
|
+
project=project.project_id,
|
253
|
+
service="dialogflow.googleapis.com")
|
254
|
+
wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
|
255
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
256
|
+
cloudkms,
|
257
|
+
dialogflow,
|
258
|
+
]))
|
259
|
+
gcp_sa = gcp.projects.ServiceIdentity("gcp_sa",
|
260
|
+
service="dialogflow.googleapis.com",
|
261
|
+
project=project.project_id,
|
262
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
263
|
+
wait_create_sa = time.index.Sleep("wait_create_sa", create_duration=30s,
|
264
|
+
opts = pulumi.ResourceOptions(depends_on=[gcp_sa]))
|
265
|
+
keyring = gcp.kms.KeyRing("keyring",
|
266
|
+
name="my-keyring",
|
267
|
+
location="us-central1",
|
268
|
+
project=project.project_id,
|
269
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
270
|
+
key = gcp.kms.CryptoKey("key",
|
271
|
+
name="my-key",
|
272
|
+
key_ring=keyring.id,
|
273
|
+
purpose="ENCRYPT_DECRYPT")
|
274
|
+
crypto_key = gcp.kms.CryptoKeyIAMMember("crypto_key",
|
275
|
+
crypto_key_id=key.id,
|
276
|
+
member=std.replace_output(text=gcp_sa.member,
|
277
|
+
search="@gcp-sa-dialogflow.iam",
|
278
|
+
replace="@gcp-sa-ccai-cmek.iam").apply(lambda invoke: invoke.result),
|
279
|
+
role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
|
280
|
+
opts = pulumi.ResourceOptions(depends_on=[wait_create_sa]))
|
281
|
+
my_encryption_spec = gcp.diagflow.EncryptionSpec("my-encryption-spec",
|
282
|
+
project=project.project_id,
|
283
|
+
location="us-central1",
|
284
|
+
encryption_spec={
|
285
|
+
"kms_key": key.id,
|
286
|
+
},
|
287
|
+
opts = pulumi.ResourceOptions(depends_on=[crypto_key]))
|
288
|
+
```
|
289
|
+
|
290
|
+
## Import
|
291
|
+
|
292
|
+
This resource does not support import.
|
293
|
+
|
294
|
+
:param str resource_name: The name of the resource.
|
295
|
+
:param EncryptionSpecArgs args: The arguments to use to populate this resource's properties.
|
296
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
297
|
+
"""
|
298
|
+
...
|
299
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
300
|
+
resource_args, opts = _utilities.get_resource_args_opts(EncryptionSpecArgs, pulumi.ResourceOptions, *args, **kwargs)
|
301
|
+
if resource_args is not None:
|
302
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
303
|
+
else:
|
304
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
305
|
+
|
306
|
+
def _internal_init(__self__,
|
307
|
+
resource_name: str,
|
308
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
309
|
+
encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
|
310
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
311
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
312
|
+
__props__=None):
|
313
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
314
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
315
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
316
|
+
if opts.id is None:
|
317
|
+
if __props__ is not None:
|
318
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
319
|
+
__props__ = EncryptionSpecArgs.__new__(EncryptionSpecArgs)
|
320
|
+
|
321
|
+
if encryption_spec is None and not opts.urn:
|
322
|
+
raise TypeError("Missing required property 'encryption_spec'")
|
323
|
+
__props__.__dict__["encryption_spec"] = encryption_spec
|
324
|
+
if location is None and not opts.urn:
|
325
|
+
raise TypeError("Missing required property 'location'")
|
326
|
+
__props__.__dict__["location"] = location
|
327
|
+
__props__.__dict__["project"] = project
|
328
|
+
super(EncryptionSpec, __self__).__init__(
|
329
|
+
'gcp:diagflow/encryptionSpec:EncryptionSpec',
|
330
|
+
resource_name,
|
331
|
+
__props__,
|
332
|
+
opts)
|
333
|
+
|
334
|
+
@staticmethod
|
335
|
+
def get(resource_name: str,
|
336
|
+
id: pulumi.Input[str],
|
337
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
338
|
+
encryption_spec: Optional[pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']]] = None,
|
339
|
+
location: Optional[pulumi.Input[builtins.str]] = None,
|
340
|
+
project: Optional[pulumi.Input[builtins.str]] = None) -> 'EncryptionSpec':
|
341
|
+
"""
|
342
|
+
Get an existing EncryptionSpec resource's state with the given name, id, and optional extra
|
343
|
+
properties used to qualify the lookup.
|
344
|
+
|
345
|
+
:param str resource_name: The unique name of the resulting resource.
|
346
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
347
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
348
|
+
:param pulumi.Input[Union['EncryptionSpecEncryptionSpecArgs', 'EncryptionSpecEncryptionSpecArgsDict']] encryption_spec: A nested object resource.
|
349
|
+
Structure is documented below.
|
350
|
+
:param pulumi.Input[builtins.str] location: The location in which the encryptionSpec is to be initialized.
|
351
|
+
"""
|
352
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
353
|
+
|
354
|
+
__props__ = _EncryptionSpecState.__new__(_EncryptionSpecState)
|
355
|
+
|
356
|
+
__props__.__dict__["encryption_spec"] = encryption_spec
|
357
|
+
__props__.__dict__["location"] = location
|
358
|
+
__props__.__dict__["project"] = project
|
359
|
+
return EncryptionSpec(resource_name, opts=opts, __props__=__props__)
|
360
|
+
|
361
|
+
@property
|
362
|
+
@pulumi.getter(name="encryptionSpec")
|
363
|
+
def encryption_spec(self) -> pulumi.Output['outputs.EncryptionSpecEncryptionSpec']:
|
364
|
+
"""
|
365
|
+
A nested object resource.
|
366
|
+
Structure is documented below.
|
367
|
+
"""
|
368
|
+
return pulumi.get(self, "encryption_spec")
|
369
|
+
|
370
|
+
@property
|
371
|
+
@pulumi.getter
|
372
|
+
def location(self) -> pulumi.Output[builtins.str]:
|
373
|
+
"""
|
374
|
+
The location in which the encryptionSpec is to be initialized.
|
375
|
+
"""
|
376
|
+
return pulumi.get(self, "location")
|
377
|
+
|
378
|
+
@property
|
379
|
+
@pulumi.getter
|
380
|
+
def project(self) -> pulumi.Output[builtins.str]:
|
381
|
+
return pulumi.get(self, "project")
|
382
|
+
|
pulumi_gcp/diagflow/outputs.py
CHANGED
@@ -204,6 +204,7 @@ __all__ = [
|
|
204
204
|
'CxWebhookGenericWebService',
|
205
205
|
'CxWebhookServiceDirectory',
|
206
206
|
'CxWebhookServiceDirectoryGenericWebService',
|
207
|
+
'EncryptionSpecEncryptionSpec',
|
207
208
|
'EntityTypeEntity',
|
208
209
|
'FulfillmentFeature',
|
209
210
|
'FulfillmentGenericWebService',
|
@@ -11431,6 +11432,51 @@ class CxWebhookServiceDirectoryGenericWebService(dict):
|
|
11431
11432
|
return pulumi.get(self, "request_headers")
|
11432
11433
|
|
11433
11434
|
|
11435
|
+
@pulumi.output_type
|
11436
|
+
class EncryptionSpecEncryptionSpec(dict):
|
11437
|
+
@staticmethod
|
11438
|
+
def __key_warning(key: str):
|
11439
|
+
suggest = None
|
11440
|
+
if key == "kmsKey":
|
11441
|
+
suggest = "kms_key"
|
11442
|
+
|
11443
|
+
if suggest:
|
11444
|
+
pulumi.log.warn(f"Key '{key}' not found in EncryptionSpecEncryptionSpec. Access the value via the '{suggest}' property getter instead.")
|
11445
|
+
|
11446
|
+
def __getitem__(self, key: str) -> Any:
|
11447
|
+
EncryptionSpecEncryptionSpec.__key_warning(key)
|
11448
|
+
return super().__getitem__(key)
|
11449
|
+
|
11450
|
+
def get(self, key: str, default = None) -> Any:
|
11451
|
+
EncryptionSpecEncryptionSpec.__key_warning(key)
|
11452
|
+
return super().get(key, default)
|
11453
|
+
|
11454
|
+
def __init__(__self__, *,
|
11455
|
+
kms_key: builtins.str):
|
11456
|
+
"""
|
11457
|
+
:param builtins.str kms_key: The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
|
11458
|
+
If empty, the resource is secured by the default Google encryption key.
|
11459
|
+
Only the key in the same location as this resource is allowed to be used for encryption.
|
11460
|
+
Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
|
11461
|
+
|
11462
|
+
- - -
|
11463
|
+
"""
|
11464
|
+
pulumi.set(__self__, "kms_key", kms_key)
|
11465
|
+
|
11466
|
+
@property
|
11467
|
+
@pulumi.getter(name="kmsKey")
|
11468
|
+
def kms_key(self) -> builtins.str:
|
11469
|
+
"""
|
11470
|
+
The name of customer-managed encryption key that is used to secure a resource and its sub-resources.
|
11471
|
+
If empty, the resource is secured by the default Google encryption key.
|
11472
|
+
Only the key in the same location as this resource is allowed to be used for encryption.
|
11473
|
+
Format: projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}
|
11474
|
+
|
11475
|
+
- - -
|
11476
|
+
"""
|
11477
|
+
return pulumi.get(self, "kms_key")
|
11478
|
+
|
11479
|
+
|
11434
11480
|
@pulumi.output_type
|
11435
11481
|
class EntityTypeEntity(dict):
|
11436
11482
|
def __init__(__self__, *,
|
pulumi_gcp/firestore/field.py
CHANGED
@@ -326,7 +326,7 @@ class Field(pulumi.CustomResource):
|
|
326
326
|
basic = gcp.firestore.Field("basic",
|
327
327
|
project="my-project-name",
|
328
328
|
database=database.name,
|
329
|
-
collection="
|
329
|
+
collection="chatrooms__56529",
|
330
330
|
field="basic",
|
331
331
|
index_config={
|
332
332
|
"indexes": [
|
@@ -377,7 +377,7 @@ class Field(pulumi.CustomResource):
|
|
377
377
|
match_override = gcp.firestore.Field("match_override",
|
378
378
|
project="my-project-name",
|
379
379
|
database=database.name,
|
380
|
-
collection="
|
380
|
+
collection="chatrooms__75413",
|
381
381
|
field="field_with_same_configuration_as_ancestor",
|
382
382
|
index_config={
|
383
383
|
"indexes": [
|
@@ -409,7 +409,7 @@ class Field(pulumi.CustomResource):
|
|
409
409
|
wildcard = gcp.firestore.Field("wildcard",
|
410
410
|
project="my-project-name",
|
411
411
|
database=database.name,
|
412
|
-
collection="
|
412
|
+
collection="chatrooms__55138",
|
413
413
|
field="*",
|
414
414
|
index_config={
|
415
415
|
"indexes": [
|
@@ -494,7 +494,7 @@ class Field(pulumi.CustomResource):
|
|
494
494
|
basic = gcp.firestore.Field("basic",
|
495
495
|
project="my-project-name",
|
496
496
|
database=database.name,
|
497
|
-
collection="
|
497
|
+
collection="chatrooms__56529",
|
498
498
|
field="basic",
|
499
499
|
index_config={
|
500
500
|
"indexes": [
|
@@ -545,7 +545,7 @@ class Field(pulumi.CustomResource):
|
|
545
545
|
match_override = gcp.firestore.Field("match_override",
|
546
546
|
project="my-project-name",
|
547
547
|
database=database.name,
|
548
|
-
collection="
|
548
|
+
collection="chatrooms__75413",
|
549
549
|
field="field_with_same_configuration_as_ancestor",
|
550
550
|
index_config={
|
551
551
|
"indexes": [
|
@@ -577,7 +577,7 @@ class Field(pulumi.CustomResource):
|
|
577
577
|
wildcard = gcp.firestore.Field("wildcard",
|
578
578
|
project="my-project-name",
|
579
579
|
database=database.name,
|
580
|
-
collection="
|
580
|
+
collection="chatrooms__55138",
|
581
581
|
field="*",
|
582
582
|
index_config={
|
583
583
|
"indexes": [
|
@@ -425,16 +425,16 @@ class MembershipBinding(pulumi.CustomResource):
|
|
425
425
|
network="default",
|
426
426
|
subnetwork="default")
|
427
427
|
membership = gcp.gkehub.Membership("membership",
|
428
|
-
membership_id="tf-test-
|
428
|
+
membership_id="tf-test-membership_37559",
|
429
429
|
endpoint={
|
430
430
|
"gke_cluster": {
|
431
431
|
"resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
|
432
432
|
},
|
433
433
|
},
|
434
434
|
opts = pulumi.ResourceOptions(depends_on=[primary]))
|
435
|
-
scope = gcp.gkehub.Scope("scope", scope_id="tf-test-
|
435
|
+
scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_91980")
|
436
436
|
membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
|
437
|
-
membership_binding_id="tf-test-membership-
|
437
|
+
membership_binding_id="tf-test-membership-binding_37118",
|
438
438
|
scope=scope.name,
|
439
439
|
membership_id=membership.membership_id,
|
440
440
|
location="global",
|
@@ -521,16 +521,16 @@ class MembershipBinding(pulumi.CustomResource):
|
|
521
521
|
network="default",
|
522
522
|
subnetwork="default")
|
523
523
|
membership = gcp.gkehub.Membership("membership",
|
524
|
-
membership_id="tf-test-
|
524
|
+
membership_id="tf-test-membership_37559",
|
525
525
|
endpoint={
|
526
526
|
"gke_cluster": {
|
527
527
|
"resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
|
528
528
|
},
|
529
529
|
},
|
530
530
|
opts = pulumi.ResourceOptions(depends_on=[primary]))
|
531
|
-
scope = gcp.gkehub.Scope("scope", scope_id="tf-test-
|
531
|
+
scope = gcp.gkehub.Scope("scope", scope_id="tf-test-scope_91980")
|
532
532
|
membership_binding = gcp.gkehub.MembershipBinding("membership_binding",
|
533
|
-
membership_binding_id="tf-test-membership-
|
533
|
+
membership_binding_id="tf-test-membership-binding_37118",
|
534
534
|
scope=scope.name,
|
535
535
|
membership_id=membership.membership_id,
|
536
536
|
location="global",
|
@@ -358,7 +358,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
|
|
358
358
|
network="default",
|
359
359
|
subnetwork="default")
|
360
360
|
membership = gcp.gkehub.Membership("membership",
|
361
|
-
membership_id="tf-test-
|
361
|
+
membership_id="tf-test-membership_80332",
|
362
362
|
endpoint={
|
363
363
|
"gke_cluster": {
|
364
364
|
"resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
|
@@ -367,7 +367,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
|
|
367
367
|
opts = pulumi.ResourceOptions(depends_on=[primary]))
|
368
368
|
project = gcp.organizations.get_project()
|
369
369
|
membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
|
370
|
-
membership_rbac_role_binding_id="tf-test-membership-rbac-role-
|
370
|
+
membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_13293",
|
371
371
|
membership_id=membership.membership_id,
|
372
372
|
user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
|
373
373
|
role={
|
@@ -436,7 +436,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
|
|
436
436
|
network="default",
|
437
437
|
subnetwork="default")
|
438
438
|
membership = gcp.gkehub.Membership("membership",
|
439
|
-
membership_id="tf-test-
|
439
|
+
membership_id="tf-test-membership_80332",
|
440
440
|
endpoint={
|
441
441
|
"gke_cluster": {
|
442
442
|
"resource_link": primary.id.apply(lambda id: f"//container.googleapis.com/{id}"),
|
@@ -445,7 +445,7 @@ class MembershipRbacRoleBinding(pulumi.CustomResource):
|
|
445
445
|
opts = pulumi.ResourceOptions(depends_on=[primary]))
|
446
446
|
project = gcp.organizations.get_project()
|
447
447
|
membership_rbac_role_binding = gcp.gkehub.MembershipRbacRoleBinding("membership_rbac_role_binding",
|
448
|
-
membership_rbac_role_binding_id="tf-test-membership-rbac-role-
|
448
|
+
membership_rbac_role_binding_id="tf-test-membership-rbac-role-binding_13293",
|
449
449
|
membership_id=membership.membership_id,
|
450
450
|
user=f"service-{project.number}@gcp-sa-anthossupport.iam.gserviceaccount.com",
|
451
451
|
role={
|