pulumi-gcp 7.15.0a1711038061__py3-none-any.whl → 7.16.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.
- pulumi_gcp/__init__.py +102 -0
- pulumi_gcp/accesscontextmanager/__init__.py +1 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +74 -58
- pulumi_gcp/accesscontextmanager/outputs.py +74 -58
- pulumi_gcp/accesscontextmanager/service_perimeter.py +0 -2
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
- pulumi_gcp/apphub/__init__.py +15 -0
- pulumi_gcp/apphub/_inputs.py +1016 -0
- pulumi_gcp/apphub/application.py +775 -0
- pulumi_gcp/apphub/get_discovered_service.py +180 -0
- pulumi_gcp/apphub/get_discovered_workload.py +180 -0
- pulumi_gcp/apphub/outputs.py +1206 -0
- pulumi_gcp/apphub/service.py +1121 -0
- pulumi_gcp/apphub/service_project_attachment.py +516 -0
- pulumi_gcp/apphub/workload.py +1197 -0
- pulumi_gcp/cloudquota/__init__.py +10 -0
- pulumi_gcp/cloudquota/get_s_quota_info.py +322 -0
- pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
- pulumi_gcp/cloudquota/outputs.py +375 -0
- pulumi_gcp/cloudrunv2/_inputs.py +85 -4
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/outputs.py +165 -6
- pulumi_gcp/cloudrunv2/service.py +60 -6
- pulumi_gcp/composer/_inputs.py +16 -0
- pulumi_gcp/composer/outputs.py +23 -0
- pulumi_gcp/compute/_inputs.py +109 -11
- pulumi_gcp/compute/outputs.py +144 -13
- pulumi_gcp/compute/region_network_endpoint_group.py +30 -0
- pulumi_gcp/compute/region_url_map.py +152 -0
- pulumi_gcp/config/__init__.pyi +4 -0
- pulumi_gcp/config/vars.py +8 -0
- pulumi_gcp/dataform/repository.py +4 -74
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/android_app.py +41 -40
- pulumi_gcp/firebase/app_check_device_check_config.py +572 -0
- pulumi_gcp/firestore/_inputs.py +69 -0
- pulumi_gcp/firestore/database.py +206 -0
- pulumi_gcp/firestore/index.py +34 -48
- pulumi_gcp/firestore/outputs.py +80 -0
- pulumi_gcp/gkeonprem/_inputs.py +1 -3
- pulumi_gcp/gkeonprem/outputs.py +1 -3
- pulumi_gcp/gkeonprem/v_mware_cluster.py +2 -0
- pulumi_gcp/iap/__init__.py +5 -0
- pulumi_gcp/iap/_inputs.py +100 -0
- pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +172 -0
- pulumi_gcp/iap/outputs.py +76 -0
- pulumi_gcp/iap/tunnel_dest_group.py +524 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +858 -0
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +760 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/_inputs.py +246 -0
- pulumi_gcp/kms/ekm_connection.py +610 -0
- pulumi_gcp/kms/outputs.py +242 -0
- pulumi_gcp/monitoring/_inputs.py +2 -0
- pulumi_gcp/monitoring/outputs.py +2 -0
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +753 -0
- pulumi_gcp/notebooks/instance.py +8 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/provider.py +40 -0
- pulumi_gcp/pubsub/_inputs.py +108 -0
- pulumi_gcp/pubsub/get_topic.py +11 -1
- pulumi_gcp/pubsub/outputs.py +213 -0
- pulumi_gcp/pubsub/subscription.py +4 -4
- pulumi_gcp/pubsub/topic.py +92 -0
- pulumi_gcp/securityposture/posture.py +2 -2
- pulumi_gcp/securityposture/posture_deployment.py +2 -2
- pulumi_gcp/storage/_inputs.py +72 -15
- pulumi_gcp/storage/bucket.py +54 -0
- pulumi_gcp/storage/get_bucket.py +11 -1
- pulumi_gcp/storage/outputs.py +110 -14
- pulumi_gcp/workstations/_inputs.py +247 -4
- pulumi_gcp/workstations/outputs.py +261 -5
- pulumi_gcp/workstations/workstation_config.py +160 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/RECORD +83 -61
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.15.0a1711038061.dist-info → pulumi_gcp-7.16.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,610 @@
|
|
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__ = ['EkmConnectionArgs', 'EkmConnection']
|
15
|
+
|
16
|
+
@pulumi.input_type
|
17
|
+
class EkmConnectionArgs:
|
18
|
+
def __init__(__self__, *,
|
19
|
+
location: pulumi.Input[str],
|
20
|
+
service_resolvers: pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]],
|
21
|
+
crypto_space_path: Optional[pulumi.Input[str]] = None,
|
22
|
+
etag: Optional[pulumi.Input[str]] = None,
|
23
|
+
key_management_mode: Optional[pulumi.Input[str]] = None,
|
24
|
+
name: Optional[pulumi.Input[str]] = None,
|
25
|
+
project: Optional[pulumi.Input[str]] = None):
|
26
|
+
"""
|
27
|
+
The set of arguments for constructing a EkmConnection resource.
|
28
|
+
:param pulumi.Input[str] location: The location for the EkmConnection.
|
29
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
30
|
+
:param pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]] service_resolvers: A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
31
|
+
Structure is documented below.
|
32
|
+
:param pulumi.Input[str] crypto_space_path: Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
33
|
+
:param pulumi.Input[str] etag: Optional. Etag of the currently stored EkmConnection.
|
34
|
+
:param pulumi.Input[str] key_management_mode: Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
35
|
+
Default value is `MANUAL`.
|
36
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
37
|
+
:param pulumi.Input[str] name: The resource name for the EkmConnection.
|
38
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
39
|
+
If it is not provided, the provider project is used.
|
40
|
+
"""
|
41
|
+
pulumi.set(__self__, "location", location)
|
42
|
+
pulumi.set(__self__, "service_resolvers", service_resolvers)
|
43
|
+
if crypto_space_path is not None:
|
44
|
+
pulumi.set(__self__, "crypto_space_path", crypto_space_path)
|
45
|
+
if etag is not None:
|
46
|
+
pulumi.set(__self__, "etag", etag)
|
47
|
+
if key_management_mode is not None:
|
48
|
+
pulumi.set(__self__, "key_management_mode", key_management_mode)
|
49
|
+
if name is not None:
|
50
|
+
pulumi.set(__self__, "name", name)
|
51
|
+
if project is not None:
|
52
|
+
pulumi.set(__self__, "project", project)
|
53
|
+
|
54
|
+
@property
|
55
|
+
@pulumi.getter
|
56
|
+
def location(self) -> pulumi.Input[str]:
|
57
|
+
"""
|
58
|
+
The location for the EkmConnection.
|
59
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
60
|
+
"""
|
61
|
+
return pulumi.get(self, "location")
|
62
|
+
|
63
|
+
@location.setter
|
64
|
+
def location(self, value: pulumi.Input[str]):
|
65
|
+
pulumi.set(self, "location", value)
|
66
|
+
|
67
|
+
@property
|
68
|
+
@pulumi.getter(name="serviceResolvers")
|
69
|
+
def service_resolvers(self) -> pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]]:
|
70
|
+
"""
|
71
|
+
A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
72
|
+
Structure is documented below.
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "service_resolvers")
|
75
|
+
|
76
|
+
@service_resolvers.setter
|
77
|
+
def service_resolvers(self, value: pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]]):
|
78
|
+
pulumi.set(self, "service_resolvers", value)
|
79
|
+
|
80
|
+
@property
|
81
|
+
@pulumi.getter(name="cryptoSpacePath")
|
82
|
+
def crypto_space_path(self) -> Optional[pulumi.Input[str]]:
|
83
|
+
"""
|
84
|
+
Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
85
|
+
"""
|
86
|
+
return pulumi.get(self, "crypto_space_path")
|
87
|
+
|
88
|
+
@crypto_space_path.setter
|
89
|
+
def crypto_space_path(self, value: Optional[pulumi.Input[str]]):
|
90
|
+
pulumi.set(self, "crypto_space_path", value)
|
91
|
+
|
92
|
+
@property
|
93
|
+
@pulumi.getter
|
94
|
+
def etag(self) -> Optional[pulumi.Input[str]]:
|
95
|
+
"""
|
96
|
+
Optional. Etag of the currently stored EkmConnection.
|
97
|
+
"""
|
98
|
+
return pulumi.get(self, "etag")
|
99
|
+
|
100
|
+
@etag.setter
|
101
|
+
def etag(self, value: Optional[pulumi.Input[str]]):
|
102
|
+
pulumi.set(self, "etag", value)
|
103
|
+
|
104
|
+
@property
|
105
|
+
@pulumi.getter(name="keyManagementMode")
|
106
|
+
def key_management_mode(self) -> Optional[pulumi.Input[str]]:
|
107
|
+
"""
|
108
|
+
Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
109
|
+
Default value is `MANUAL`.
|
110
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
111
|
+
"""
|
112
|
+
return pulumi.get(self, "key_management_mode")
|
113
|
+
|
114
|
+
@key_management_mode.setter
|
115
|
+
def key_management_mode(self, value: Optional[pulumi.Input[str]]):
|
116
|
+
pulumi.set(self, "key_management_mode", value)
|
117
|
+
|
118
|
+
@property
|
119
|
+
@pulumi.getter
|
120
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
121
|
+
"""
|
122
|
+
The resource name for the EkmConnection.
|
123
|
+
"""
|
124
|
+
return pulumi.get(self, "name")
|
125
|
+
|
126
|
+
@name.setter
|
127
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
128
|
+
pulumi.set(self, "name", value)
|
129
|
+
|
130
|
+
@property
|
131
|
+
@pulumi.getter
|
132
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
133
|
+
"""
|
134
|
+
The ID of the project in which the resource belongs.
|
135
|
+
If it is not provided, the provider project is used.
|
136
|
+
"""
|
137
|
+
return pulumi.get(self, "project")
|
138
|
+
|
139
|
+
@project.setter
|
140
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
141
|
+
pulumi.set(self, "project", value)
|
142
|
+
|
143
|
+
|
144
|
+
@pulumi.input_type
|
145
|
+
class _EkmConnectionState:
|
146
|
+
def __init__(__self__, *,
|
147
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
148
|
+
crypto_space_path: Optional[pulumi.Input[str]] = None,
|
149
|
+
etag: Optional[pulumi.Input[str]] = None,
|
150
|
+
key_management_mode: Optional[pulumi.Input[str]] = None,
|
151
|
+
location: Optional[pulumi.Input[str]] = None,
|
152
|
+
name: Optional[pulumi.Input[str]] = None,
|
153
|
+
project: Optional[pulumi.Input[str]] = None,
|
154
|
+
service_resolvers: Optional[pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]]] = None):
|
155
|
+
"""
|
156
|
+
Input properties used for looking up and filtering EkmConnection resources.
|
157
|
+
:param pulumi.Input[str] create_time: Output only. The time at which the EkmConnection was created.
|
158
|
+
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
159
|
+
:param pulumi.Input[str] crypto_space_path: Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
160
|
+
:param pulumi.Input[str] etag: Optional. Etag of the currently stored EkmConnection.
|
161
|
+
:param pulumi.Input[str] key_management_mode: Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
162
|
+
Default value is `MANUAL`.
|
163
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
164
|
+
:param pulumi.Input[str] location: The location for the EkmConnection.
|
165
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
166
|
+
:param pulumi.Input[str] name: The resource name for the EkmConnection.
|
167
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
168
|
+
If it is not provided, the provider project is used.
|
169
|
+
:param pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]] service_resolvers: A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
170
|
+
Structure is documented below.
|
171
|
+
"""
|
172
|
+
if create_time is not None:
|
173
|
+
pulumi.set(__self__, "create_time", create_time)
|
174
|
+
if crypto_space_path is not None:
|
175
|
+
pulumi.set(__self__, "crypto_space_path", crypto_space_path)
|
176
|
+
if etag is not None:
|
177
|
+
pulumi.set(__self__, "etag", etag)
|
178
|
+
if key_management_mode is not None:
|
179
|
+
pulumi.set(__self__, "key_management_mode", key_management_mode)
|
180
|
+
if location is not None:
|
181
|
+
pulumi.set(__self__, "location", location)
|
182
|
+
if name is not None:
|
183
|
+
pulumi.set(__self__, "name", name)
|
184
|
+
if project is not None:
|
185
|
+
pulumi.set(__self__, "project", project)
|
186
|
+
if service_resolvers is not None:
|
187
|
+
pulumi.set(__self__, "service_resolvers", service_resolvers)
|
188
|
+
|
189
|
+
@property
|
190
|
+
@pulumi.getter(name="createTime")
|
191
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
192
|
+
"""
|
193
|
+
Output only. The time at which the EkmConnection was created.
|
194
|
+
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
195
|
+
"""
|
196
|
+
return pulumi.get(self, "create_time")
|
197
|
+
|
198
|
+
@create_time.setter
|
199
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
200
|
+
pulumi.set(self, "create_time", value)
|
201
|
+
|
202
|
+
@property
|
203
|
+
@pulumi.getter(name="cryptoSpacePath")
|
204
|
+
def crypto_space_path(self) -> Optional[pulumi.Input[str]]:
|
205
|
+
"""
|
206
|
+
Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
207
|
+
"""
|
208
|
+
return pulumi.get(self, "crypto_space_path")
|
209
|
+
|
210
|
+
@crypto_space_path.setter
|
211
|
+
def crypto_space_path(self, value: Optional[pulumi.Input[str]]):
|
212
|
+
pulumi.set(self, "crypto_space_path", value)
|
213
|
+
|
214
|
+
@property
|
215
|
+
@pulumi.getter
|
216
|
+
def etag(self) -> Optional[pulumi.Input[str]]:
|
217
|
+
"""
|
218
|
+
Optional. Etag of the currently stored EkmConnection.
|
219
|
+
"""
|
220
|
+
return pulumi.get(self, "etag")
|
221
|
+
|
222
|
+
@etag.setter
|
223
|
+
def etag(self, value: Optional[pulumi.Input[str]]):
|
224
|
+
pulumi.set(self, "etag", value)
|
225
|
+
|
226
|
+
@property
|
227
|
+
@pulumi.getter(name="keyManagementMode")
|
228
|
+
def key_management_mode(self) -> Optional[pulumi.Input[str]]:
|
229
|
+
"""
|
230
|
+
Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
231
|
+
Default value is `MANUAL`.
|
232
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
233
|
+
"""
|
234
|
+
return pulumi.get(self, "key_management_mode")
|
235
|
+
|
236
|
+
@key_management_mode.setter
|
237
|
+
def key_management_mode(self, value: Optional[pulumi.Input[str]]):
|
238
|
+
pulumi.set(self, "key_management_mode", value)
|
239
|
+
|
240
|
+
@property
|
241
|
+
@pulumi.getter
|
242
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
243
|
+
"""
|
244
|
+
The location for the EkmConnection.
|
245
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
246
|
+
"""
|
247
|
+
return pulumi.get(self, "location")
|
248
|
+
|
249
|
+
@location.setter
|
250
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
251
|
+
pulumi.set(self, "location", value)
|
252
|
+
|
253
|
+
@property
|
254
|
+
@pulumi.getter
|
255
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
256
|
+
"""
|
257
|
+
The resource name for the EkmConnection.
|
258
|
+
"""
|
259
|
+
return pulumi.get(self, "name")
|
260
|
+
|
261
|
+
@name.setter
|
262
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
263
|
+
pulumi.set(self, "name", value)
|
264
|
+
|
265
|
+
@property
|
266
|
+
@pulumi.getter
|
267
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
268
|
+
"""
|
269
|
+
The ID of the project in which the resource belongs.
|
270
|
+
If it is not provided, the provider project is used.
|
271
|
+
"""
|
272
|
+
return pulumi.get(self, "project")
|
273
|
+
|
274
|
+
@project.setter
|
275
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
276
|
+
pulumi.set(self, "project", value)
|
277
|
+
|
278
|
+
@property
|
279
|
+
@pulumi.getter(name="serviceResolvers")
|
280
|
+
def service_resolvers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]]]:
|
281
|
+
"""
|
282
|
+
A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
283
|
+
Structure is documented below.
|
284
|
+
"""
|
285
|
+
return pulumi.get(self, "service_resolvers")
|
286
|
+
|
287
|
+
@service_resolvers.setter
|
288
|
+
def service_resolvers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['EkmConnectionServiceResolverArgs']]]]):
|
289
|
+
pulumi.set(self, "service_resolvers", value)
|
290
|
+
|
291
|
+
|
292
|
+
class EkmConnection(pulumi.CustomResource):
|
293
|
+
@overload
|
294
|
+
def __init__(__self__,
|
295
|
+
resource_name: str,
|
296
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
297
|
+
crypto_space_path: Optional[pulumi.Input[str]] = None,
|
298
|
+
etag: Optional[pulumi.Input[str]] = None,
|
299
|
+
key_management_mode: Optional[pulumi.Input[str]] = None,
|
300
|
+
location: Optional[pulumi.Input[str]] = None,
|
301
|
+
name: Optional[pulumi.Input[str]] = None,
|
302
|
+
project: Optional[pulumi.Input[str]] = None,
|
303
|
+
service_resolvers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EkmConnectionServiceResolverArgs']]]]] = None,
|
304
|
+
__props__=None):
|
305
|
+
"""
|
306
|
+
`Ekm Connections` are used to control the connection settings for an `EXTERNAL_VPC` CryptoKey.
|
307
|
+
It is used to connect customer's external key manager to Google Cloud EKM.
|
308
|
+
|
309
|
+
> **Note:** Ekm Connections cannot be deleted from Google Cloud Platform.
|
310
|
+
|
311
|
+
To get more information about EkmConnection, see:
|
312
|
+
|
313
|
+
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.ekmConnections)
|
314
|
+
* How-to Guides
|
315
|
+
* [Creating a Ekm Connection](https://cloud.google.com/kms/docs/create-ekm-connection)
|
316
|
+
|
317
|
+
## Example Usage
|
318
|
+
|
319
|
+
### Kms Ekm Connection Basic
|
320
|
+
|
321
|
+
<!--Start PulumiCodeChooser -->
|
322
|
+
```python
|
323
|
+
import pulumi
|
324
|
+
import pulumi_gcp as gcp
|
325
|
+
|
326
|
+
example_ekmconnection = gcp.kms.EkmConnection("example-ekmconnection",
|
327
|
+
name="ekmconnection_example",
|
328
|
+
location="us-central1",
|
329
|
+
key_management_mode="MANUAL",
|
330
|
+
service_resolvers=[gcp.kms.EkmConnectionServiceResolverArgs(
|
331
|
+
service_directory_service="projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
|
332
|
+
hostname="example-ekm.goog",
|
333
|
+
server_certificates=[gcp.kms.EkmConnectionServiceResolverServerCertificateArgs(
|
334
|
+
raw_der="==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
|
335
|
+
)],
|
336
|
+
)])
|
337
|
+
```
|
338
|
+
<!--End PulumiCodeChooser -->
|
339
|
+
|
340
|
+
## Import
|
341
|
+
|
342
|
+
EkmConnection can be imported using any of these accepted formats:
|
343
|
+
|
344
|
+
* `projects/{{project}}/locations/{{location}}/ekmConnections/{{name}}`
|
345
|
+
|
346
|
+
* `{{project}}/{{location}}/{{name}}`
|
347
|
+
|
348
|
+
* `{{location}}/{{name}}`
|
349
|
+
|
350
|
+
When using the `pulumi import` command, EkmConnection can be imported using one of the formats above. For example:
|
351
|
+
|
352
|
+
```sh
|
353
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default projects/{{project}}/locations/{{location}}/ekmConnections/{{name}}
|
354
|
+
```
|
355
|
+
|
356
|
+
```sh
|
357
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default {{project}}/{{location}}/{{name}}
|
358
|
+
```
|
359
|
+
|
360
|
+
```sh
|
361
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default {{location}}/{{name}}
|
362
|
+
```
|
363
|
+
|
364
|
+
:param str resource_name: The name of the resource.
|
365
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
366
|
+
:param pulumi.Input[str] crypto_space_path: Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
367
|
+
:param pulumi.Input[str] etag: Optional. Etag of the currently stored EkmConnection.
|
368
|
+
:param pulumi.Input[str] key_management_mode: Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
369
|
+
Default value is `MANUAL`.
|
370
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
371
|
+
:param pulumi.Input[str] location: The location for the EkmConnection.
|
372
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
373
|
+
:param pulumi.Input[str] name: The resource name for the EkmConnection.
|
374
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
375
|
+
If it is not provided, the provider project is used.
|
376
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EkmConnectionServiceResolverArgs']]]] service_resolvers: A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
377
|
+
Structure is documented below.
|
378
|
+
"""
|
379
|
+
...
|
380
|
+
@overload
|
381
|
+
def __init__(__self__,
|
382
|
+
resource_name: str,
|
383
|
+
args: EkmConnectionArgs,
|
384
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
385
|
+
"""
|
386
|
+
`Ekm Connections` are used to control the connection settings for an `EXTERNAL_VPC` CryptoKey.
|
387
|
+
It is used to connect customer's external key manager to Google Cloud EKM.
|
388
|
+
|
389
|
+
> **Note:** Ekm Connections cannot be deleted from Google Cloud Platform.
|
390
|
+
|
391
|
+
To get more information about EkmConnection, see:
|
392
|
+
|
393
|
+
* [API documentation](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.ekmConnections)
|
394
|
+
* How-to Guides
|
395
|
+
* [Creating a Ekm Connection](https://cloud.google.com/kms/docs/create-ekm-connection)
|
396
|
+
|
397
|
+
## Example Usage
|
398
|
+
|
399
|
+
### Kms Ekm Connection Basic
|
400
|
+
|
401
|
+
<!--Start PulumiCodeChooser -->
|
402
|
+
```python
|
403
|
+
import pulumi
|
404
|
+
import pulumi_gcp as gcp
|
405
|
+
|
406
|
+
example_ekmconnection = gcp.kms.EkmConnection("example-ekmconnection",
|
407
|
+
name="ekmconnection_example",
|
408
|
+
location="us-central1",
|
409
|
+
key_management_mode="MANUAL",
|
410
|
+
service_resolvers=[gcp.kms.EkmConnectionServiceResolverArgs(
|
411
|
+
service_directory_service="projects/project_id/locations/us-central1/namespaces/namespace_name/services/service_name",
|
412
|
+
hostname="example-ekm.goog",
|
413
|
+
server_certificates=[gcp.kms.EkmConnectionServiceResolverServerCertificateArgs(
|
414
|
+
raw_der="==HAwIBCCAr6gAwIBAgIUWR+EV4lqiV7Ql12VY==",
|
415
|
+
)],
|
416
|
+
)])
|
417
|
+
```
|
418
|
+
<!--End PulumiCodeChooser -->
|
419
|
+
|
420
|
+
## Import
|
421
|
+
|
422
|
+
EkmConnection can be imported using any of these accepted formats:
|
423
|
+
|
424
|
+
* `projects/{{project}}/locations/{{location}}/ekmConnections/{{name}}`
|
425
|
+
|
426
|
+
* `{{project}}/{{location}}/{{name}}`
|
427
|
+
|
428
|
+
* `{{location}}/{{name}}`
|
429
|
+
|
430
|
+
When using the `pulumi import` command, EkmConnection can be imported using one of the formats above. For example:
|
431
|
+
|
432
|
+
```sh
|
433
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default projects/{{project}}/locations/{{location}}/ekmConnections/{{name}}
|
434
|
+
```
|
435
|
+
|
436
|
+
```sh
|
437
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default {{project}}/{{location}}/{{name}}
|
438
|
+
```
|
439
|
+
|
440
|
+
```sh
|
441
|
+
$ pulumi import gcp:kms/ekmConnection:EkmConnection default {{location}}/{{name}}
|
442
|
+
```
|
443
|
+
|
444
|
+
:param str resource_name: The name of the resource.
|
445
|
+
:param EkmConnectionArgs args: The arguments to use to populate this resource's properties.
|
446
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
447
|
+
"""
|
448
|
+
...
|
449
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
450
|
+
resource_args, opts = _utilities.get_resource_args_opts(EkmConnectionArgs, pulumi.ResourceOptions, *args, **kwargs)
|
451
|
+
if resource_args is not None:
|
452
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
453
|
+
else:
|
454
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
455
|
+
|
456
|
+
def _internal_init(__self__,
|
457
|
+
resource_name: str,
|
458
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
459
|
+
crypto_space_path: Optional[pulumi.Input[str]] = None,
|
460
|
+
etag: Optional[pulumi.Input[str]] = None,
|
461
|
+
key_management_mode: Optional[pulumi.Input[str]] = None,
|
462
|
+
location: Optional[pulumi.Input[str]] = None,
|
463
|
+
name: Optional[pulumi.Input[str]] = None,
|
464
|
+
project: Optional[pulumi.Input[str]] = None,
|
465
|
+
service_resolvers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EkmConnectionServiceResolverArgs']]]]] = None,
|
466
|
+
__props__=None):
|
467
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
468
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
469
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
470
|
+
if opts.id is None:
|
471
|
+
if __props__ is not None:
|
472
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
473
|
+
__props__ = EkmConnectionArgs.__new__(EkmConnectionArgs)
|
474
|
+
|
475
|
+
__props__.__dict__["crypto_space_path"] = crypto_space_path
|
476
|
+
__props__.__dict__["etag"] = etag
|
477
|
+
__props__.__dict__["key_management_mode"] = key_management_mode
|
478
|
+
if location is None and not opts.urn:
|
479
|
+
raise TypeError("Missing required property 'location'")
|
480
|
+
__props__.__dict__["location"] = location
|
481
|
+
__props__.__dict__["name"] = name
|
482
|
+
__props__.__dict__["project"] = project
|
483
|
+
if service_resolvers is None and not opts.urn:
|
484
|
+
raise TypeError("Missing required property 'service_resolvers'")
|
485
|
+
__props__.__dict__["service_resolvers"] = service_resolvers
|
486
|
+
__props__.__dict__["create_time"] = None
|
487
|
+
super(EkmConnection, __self__).__init__(
|
488
|
+
'gcp:kms/ekmConnection:EkmConnection',
|
489
|
+
resource_name,
|
490
|
+
__props__,
|
491
|
+
opts)
|
492
|
+
|
493
|
+
@staticmethod
|
494
|
+
def get(resource_name: str,
|
495
|
+
id: pulumi.Input[str],
|
496
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
497
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
498
|
+
crypto_space_path: Optional[pulumi.Input[str]] = None,
|
499
|
+
etag: Optional[pulumi.Input[str]] = None,
|
500
|
+
key_management_mode: Optional[pulumi.Input[str]] = None,
|
501
|
+
location: Optional[pulumi.Input[str]] = None,
|
502
|
+
name: Optional[pulumi.Input[str]] = None,
|
503
|
+
project: Optional[pulumi.Input[str]] = None,
|
504
|
+
service_resolvers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EkmConnectionServiceResolverArgs']]]]] = None) -> 'EkmConnection':
|
505
|
+
"""
|
506
|
+
Get an existing EkmConnection resource's state with the given name, id, and optional extra
|
507
|
+
properties used to qualify the lookup.
|
508
|
+
|
509
|
+
:param str resource_name: The unique name of the resulting resource.
|
510
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
511
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
512
|
+
:param pulumi.Input[str] create_time: Output only. The time at which the EkmConnection was created.
|
513
|
+
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
514
|
+
:param pulumi.Input[str] crypto_space_path: Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
515
|
+
:param pulumi.Input[str] etag: Optional. Etag of the currently stored EkmConnection.
|
516
|
+
:param pulumi.Input[str] key_management_mode: Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
517
|
+
Default value is `MANUAL`.
|
518
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
519
|
+
:param pulumi.Input[str] location: The location for the EkmConnection.
|
520
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
521
|
+
:param pulumi.Input[str] name: The resource name for the EkmConnection.
|
522
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
523
|
+
If it is not provided, the provider project is used.
|
524
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['EkmConnectionServiceResolverArgs']]]] service_resolvers: A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
525
|
+
Structure is documented below.
|
526
|
+
"""
|
527
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
528
|
+
|
529
|
+
__props__ = _EkmConnectionState.__new__(_EkmConnectionState)
|
530
|
+
|
531
|
+
__props__.__dict__["create_time"] = create_time
|
532
|
+
__props__.__dict__["crypto_space_path"] = crypto_space_path
|
533
|
+
__props__.__dict__["etag"] = etag
|
534
|
+
__props__.__dict__["key_management_mode"] = key_management_mode
|
535
|
+
__props__.__dict__["location"] = location
|
536
|
+
__props__.__dict__["name"] = name
|
537
|
+
__props__.__dict__["project"] = project
|
538
|
+
__props__.__dict__["service_resolvers"] = service_resolvers
|
539
|
+
return EkmConnection(resource_name, opts=opts, __props__=__props__)
|
540
|
+
|
541
|
+
@property
|
542
|
+
@pulumi.getter(name="createTime")
|
543
|
+
def create_time(self) -> pulumi.Output[str]:
|
544
|
+
"""
|
545
|
+
Output only. The time at which the EkmConnection was created.
|
546
|
+
A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
|
547
|
+
"""
|
548
|
+
return pulumi.get(self, "create_time")
|
549
|
+
|
550
|
+
@property
|
551
|
+
@pulumi.getter(name="cryptoSpacePath")
|
552
|
+
def crypto_space_path(self) -> pulumi.Output[str]:
|
553
|
+
"""
|
554
|
+
Optional. Identifies the EKM Crypto Space that this EkmConnection maps to. Note: This field is required if KeyManagementMode is CLOUD_KMS.
|
555
|
+
"""
|
556
|
+
return pulumi.get(self, "crypto_space_path")
|
557
|
+
|
558
|
+
@property
|
559
|
+
@pulumi.getter
|
560
|
+
def etag(self) -> pulumi.Output[str]:
|
561
|
+
"""
|
562
|
+
Optional. Etag of the currently stored EkmConnection.
|
563
|
+
"""
|
564
|
+
return pulumi.get(self, "etag")
|
565
|
+
|
566
|
+
@property
|
567
|
+
@pulumi.getter(name="keyManagementMode")
|
568
|
+
def key_management_mode(self) -> pulumi.Output[Optional[str]]:
|
569
|
+
"""
|
570
|
+
Optional. Describes who can perform control plane operations on the EKM. If unset, this defaults to MANUAL
|
571
|
+
Default value is `MANUAL`.
|
572
|
+
Possible values are: `MANUAL`, `CLOUD_KMS`.
|
573
|
+
"""
|
574
|
+
return pulumi.get(self, "key_management_mode")
|
575
|
+
|
576
|
+
@property
|
577
|
+
@pulumi.getter
|
578
|
+
def location(self) -> pulumi.Output[str]:
|
579
|
+
"""
|
580
|
+
The location for the EkmConnection.
|
581
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
582
|
+
"""
|
583
|
+
return pulumi.get(self, "location")
|
584
|
+
|
585
|
+
@property
|
586
|
+
@pulumi.getter
|
587
|
+
def name(self) -> pulumi.Output[str]:
|
588
|
+
"""
|
589
|
+
The resource name for the EkmConnection.
|
590
|
+
"""
|
591
|
+
return pulumi.get(self, "name")
|
592
|
+
|
593
|
+
@property
|
594
|
+
@pulumi.getter
|
595
|
+
def project(self) -> pulumi.Output[str]:
|
596
|
+
"""
|
597
|
+
The ID of the project in which the resource belongs.
|
598
|
+
If it is not provided, the provider project is used.
|
599
|
+
"""
|
600
|
+
return pulumi.get(self, "project")
|
601
|
+
|
602
|
+
@property
|
603
|
+
@pulumi.getter(name="serviceResolvers")
|
604
|
+
def service_resolvers(self) -> pulumi.Output[Sequence['outputs.EkmConnectionServiceResolver']]:
|
605
|
+
"""
|
606
|
+
A list of ServiceResolvers where the EKM can be reached. There should be one ServiceResolver per EKM replica. Currently, only a single ServiceResolver is supported
|
607
|
+
Structure is documented below.
|
608
|
+
"""
|
609
|
+
return pulumi.get(self, "service_resolvers")
|
610
|
+
|