pulumi-gcp 7.10.0a1708496697__py3-none-any.whl → 7.11.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 +32 -0
- pulumi_gcp/bigtable/table_iam_binding.py +6 -6
- pulumi_gcp/bigtable/table_iam_member.py +6 -6
- pulumi_gcp/bigtable/table_iam_policy.py +6 -6
- pulumi_gcp/cloudbuildv2/_inputs.py +32 -12
- pulumi_gcp/cloudbuildv2/connection.py +140 -38
- pulumi_gcp/cloudbuildv2/connection_iam_binding.py +13 -0
- pulumi_gcp/cloudbuildv2/connection_iam_member.py +13 -0
- pulumi_gcp/cloudbuildv2/connection_iam_policy.py +13 -0
- pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -0
- pulumi_gcp/cloudbuildv2/outputs.py +32 -12
- pulumi_gcp/clouddeploy/__init__.py +1 -0
- pulumi_gcp/clouddeploy/_inputs.py +277 -2
- pulumi_gcp/clouddeploy/custom_target_type.py +923 -0
- pulumi_gcp/clouddeploy/outputs.py +263 -2
- pulumi_gcp/cloudfunctions/function.py +32 -0
- pulumi_gcp/cloudfunctions/get_function.py +11 -1
- pulumi_gcp/cloudrunv2/service.py +18 -0
- pulumi_gcp/compute/_inputs.py +20 -20
- pulumi_gcp/compute/outputs.py +24 -24
- pulumi_gcp/config/vars.py +2 -2
- pulumi_gcp/container/_inputs.py +22 -0
- pulumi_gcp/container/outputs.py +28 -0
- pulumi_gcp/dns/_inputs.py +2 -2
- pulumi_gcp/dns/get_managed_zone.py +2 -2
- pulumi_gcp/dns/get_managed_zones.py +35 -2
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/eventarc/_inputs.py +78 -0
- pulumi_gcp/eventarc/outputs.py +83 -0
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/app_check_debug_token.py +480 -0
- pulumi_gcp/healthcare/hl7_store.py +50 -1
- pulumi_gcp/identityplatform/_inputs.py +330 -0
- pulumi_gcp/identityplatform/config.py +216 -0
- pulumi_gcp/identityplatform/outputs.py +397 -0
- pulumi_gcp/networksecurity/__init__.py +2 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +631 -0
- pulumi_gcp/networksecurity/security_profile_group.py +654 -0
- pulumi_gcp/notebooks/instance.py +109 -4
- pulumi_gcp/provider.py +8 -0
- pulumi_gcp/recaptcha/enterprise_key.py +4 -4
- pulumi_gcp/securityposture/_inputs.py +48 -48
- pulumi_gcp/securityposture/outputs.py +40 -40
- pulumi_gcp/securityposture/posture.py +22 -2
- pulumi_gcp/vertex/_inputs.py +63 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +208 -0
- pulumi_gcp/vertex/outputs.py +87 -0
- pulumi_gcp/workbench/_inputs.py +4 -4
- pulumi_gcp/workbench/instance.py +59 -8
- pulumi_gcp/workbench/outputs.py +4 -4
- pulumi_gcp/workstations/_inputs.py +16 -0
- pulumi_gcp/workstations/outputs.py +14 -0
- pulumi_gcp/workstations/workstation_config.py +2 -0
- {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/RECORD +57 -53
- {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/vertex/outputs.py
CHANGED
@@ -29,6 +29,8 @@ __all__ = [
|
|
29
29
|
'AiFeatureOnlineStoreDedicatedServingEndpointPrivateServiceConnectConfig',
|
30
30
|
'AiFeatureOnlineStoreEmbeddingManagement',
|
31
31
|
'AiFeatureOnlineStoreFeatureviewBigQuerySource',
|
32
|
+
'AiFeatureOnlineStoreFeatureviewFeatureRegistrySource',
|
33
|
+
'AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup',
|
32
34
|
'AiFeatureOnlineStoreFeatureviewSyncConfig',
|
33
35
|
'AiFeatureOnlineStoreFeatureviewVectorSearchConfig',
|
34
36
|
'AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfig',
|
@@ -1128,6 +1130,91 @@ class AiFeatureOnlineStoreFeatureviewBigQuerySource(dict):
|
|
1128
1130
|
return pulumi.get(self, "uri")
|
1129
1131
|
|
1130
1132
|
|
1133
|
+
@pulumi.output_type
|
1134
|
+
class AiFeatureOnlineStoreFeatureviewFeatureRegistrySource(dict):
|
1135
|
+
@staticmethod
|
1136
|
+
def __key_warning(key: str):
|
1137
|
+
suggest = None
|
1138
|
+
if key == "featureGroups":
|
1139
|
+
suggest = "feature_groups"
|
1140
|
+
|
1141
|
+
if suggest:
|
1142
|
+
pulumi.log.warn(f"Key '{key}' not found in AiFeatureOnlineStoreFeatureviewFeatureRegistrySource. Access the value via the '{suggest}' property getter instead.")
|
1143
|
+
|
1144
|
+
def __getitem__(self, key: str) -> Any:
|
1145
|
+
AiFeatureOnlineStoreFeatureviewFeatureRegistrySource.__key_warning(key)
|
1146
|
+
return super().__getitem__(key)
|
1147
|
+
|
1148
|
+
def get(self, key: str, default = None) -> Any:
|
1149
|
+
AiFeatureOnlineStoreFeatureviewFeatureRegistrySource.__key_warning(key)
|
1150
|
+
return super().get(key, default)
|
1151
|
+
|
1152
|
+
def __init__(__self__, *,
|
1153
|
+
feature_groups: Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup']):
|
1154
|
+
"""
|
1155
|
+
:param Sequence['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs'] feature_groups: List of features that need to be synced to Online Store.
|
1156
|
+
Structure is documented below.
|
1157
|
+
"""
|
1158
|
+
pulumi.set(__self__, "feature_groups", feature_groups)
|
1159
|
+
|
1160
|
+
@property
|
1161
|
+
@pulumi.getter(name="featureGroups")
|
1162
|
+
def feature_groups(self) -> Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup']:
|
1163
|
+
"""
|
1164
|
+
List of features that need to be synced to Online Store.
|
1165
|
+
Structure is documented below.
|
1166
|
+
"""
|
1167
|
+
return pulumi.get(self, "feature_groups")
|
1168
|
+
|
1169
|
+
|
1170
|
+
@pulumi.output_type
|
1171
|
+
class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup(dict):
|
1172
|
+
@staticmethod
|
1173
|
+
def __key_warning(key: str):
|
1174
|
+
suggest = None
|
1175
|
+
if key == "featureGroupId":
|
1176
|
+
suggest = "feature_group_id"
|
1177
|
+
elif key == "featureIds":
|
1178
|
+
suggest = "feature_ids"
|
1179
|
+
|
1180
|
+
if suggest:
|
1181
|
+
pulumi.log.warn(f"Key '{key}' not found in AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup. Access the value via the '{suggest}' property getter instead.")
|
1182
|
+
|
1183
|
+
def __getitem__(self, key: str) -> Any:
|
1184
|
+
AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup.__key_warning(key)
|
1185
|
+
return super().__getitem__(key)
|
1186
|
+
|
1187
|
+
def get(self, key: str, default = None) -> Any:
|
1188
|
+
AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup.__key_warning(key)
|
1189
|
+
return super().get(key, default)
|
1190
|
+
|
1191
|
+
def __init__(__self__, *,
|
1192
|
+
feature_group_id: str,
|
1193
|
+
feature_ids: Sequence[str]):
|
1194
|
+
"""
|
1195
|
+
:param str feature_group_id: Identifier of the feature group.
|
1196
|
+
:param Sequence[str] feature_ids: Identifiers of features under the feature group.
|
1197
|
+
"""
|
1198
|
+
pulumi.set(__self__, "feature_group_id", feature_group_id)
|
1199
|
+
pulumi.set(__self__, "feature_ids", feature_ids)
|
1200
|
+
|
1201
|
+
@property
|
1202
|
+
@pulumi.getter(name="featureGroupId")
|
1203
|
+
def feature_group_id(self) -> str:
|
1204
|
+
"""
|
1205
|
+
Identifier of the feature group.
|
1206
|
+
"""
|
1207
|
+
return pulumi.get(self, "feature_group_id")
|
1208
|
+
|
1209
|
+
@property
|
1210
|
+
@pulumi.getter(name="featureIds")
|
1211
|
+
def feature_ids(self) -> Sequence[str]:
|
1212
|
+
"""
|
1213
|
+
Identifiers of features under the feature group.
|
1214
|
+
"""
|
1215
|
+
return pulumi.get(self, "feature_ids")
|
1216
|
+
|
1217
|
+
|
1131
1218
|
@pulumi.output_type
|
1132
1219
|
class AiFeatureOnlineStoreFeatureviewSyncConfig(dict):
|
1133
1220
|
def __init__(__self__, *,
|
pulumi_gcp/workbench/_inputs.py
CHANGED
@@ -285,7 +285,7 @@ class InstanceGceSetupBootDiskArgs:
|
|
285
285
|
recommended value of 150GB.
|
286
286
|
:param pulumi.Input[str] disk_type: Optional. Indicates the type of the disk.
|
287
287
|
Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
|
288
|
-
:param pulumi.Input[str] kms_key: 'Optional.
|
288
|
+
:param pulumi.Input[str] kms_key: 'Optional. The KMS key used to encrypt the disks, only
|
289
289
|
applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
290
290
|
Learn more about using your own encryption keys.'
|
291
291
|
"""
|
@@ -343,7 +343,7 @@ class InstanceGceSetupBootDiskArgs:
|
|
343
343
|
@pulumi.getter(name="kmsKey")
|
344
344
|
def kms_key(self) -> Optional[pulumi.Input[str]]:
|
345
345
|
"""
|
346
|
-
'Optional.
|
346
|
+
'Optional. The KMS key used to encrypt the disks, only
|
347
347
|
applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
348
348
|
Learn more about using your own encryption keys.'
|
349
349
|
"""
|
@@ -370,7 +370,7 @@ class InstanceGceSetupDataDisksArgs:
|
|
370
370
|
100.
|
371
371
|
:param pulumi.Input[str] disk_type: Optional. Input only. Indicates the type of the disk.
|
372
372
|
Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
|
373
|
-
:param pulumi.Input[str] kms_key: 'Optional.
|
373
|
+
:param pulumi.Input[str] kms_key: 'Optional. The KMS key used to encrypt the disks,
|
374
374
|
only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
375
375
|
Learn more about using your own encryption keys.'
|
376
376
|
"""
|
@@ -428,7 +428,7 @@ class InstanceGceSetupDataDisksArgs:
|
|
428
428
|
@pulumi.getter(name="kmsKey")
|
429
429
|
def kms_key(self) -> Optional[pulumi.Input[str]]:
|
430
430
|
"""
|
431
|
-
'Optional.
|
431
|
+
'Optional. The KMS key used to encrypt the disks,
|
432
432
|
only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
433
433
|
Learn more about using your own encryption keys.'
|
434
434
|
"""
|
pulumi_gcp/workbench/instance.py
CHANGED
@@ -17,6 +17,7 @@ __all__ = ['InstanceArgs', 'Instance']
|
|
17
17
|
class InstanceArgs:
|
18
18
|
def __init__(__self__, *,
|
19
19
|
location: pulumi.Input[str],
|
20
|
+
desired_state: Optional[pulumi.Input[str]] = None,
|
20
21
|
disable_proxy_access: Optional[pulumi.Input[bool]] = None,
|
21
22
|
gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
|
22
23
|
instance_id: Optional[pulumi.Input[str]] = None,
|
@@ -30,6 +31,7 @@ class InstanceArgs:
|
|
30
31
|
|
31
32
|
|
32
33
|
- - -
|
34
|
+
:param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
33
35
|
:param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
|
34
36
|
:param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
|
35
37
|
Structure is documented below.
|
@@ -47,6 +49,8 @@ class InstanceArgs:
|
|
47
49
|
If it is not provided, the provider project is used.
|
48
50
|
"""
|
49
51
|
pulumi.set(__self__, "location", location)
|
52
|
+
if desired_state is not None:
|
53
|
+
pulumi.set(__self__, "desired_state", desired_state)
|
50
54
|
if disable_proxy_access is not None:
|
51
55
|
pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
|
52
56
|
if gce_setup is not None:
|
@@ -77,6 +81,18 @@ class InstanceArgs:
|
|
77
81
|
def location(self, value: pulumi.Input[str]):
|
78
82
|
pulumi.set(self, "location", value)
|
79
83
|
|
84
|
+
@property
|
85
|
+
@pulumi.getter(name="desiredState")
|
86
|
+
def desired_state(self) -> Optional[pulumi.Input[str]]:
|
87
|
+
"""
|
88
|
+
Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
89
|
+
"""
|
90
|
+
return pulumi.get(self, "desired_state")
|
91
|
+
|
92
|
+
@desired_state.setter
|
93
|
+
def desired_state(self, value: Optional[pulumi.Input[str]]):
|
94
|
+
pulumi.set(self, "desired_state", value)
|
95
|
+
|
80
96
|
@property
|
81
97
|
@pulumi.getter(name="disableProxyAccess")
|
82
98
|
def disable_proxy_access(self) -> Optional[pulumi.Input[bool]]:
|
@@ -175,6 +191,7 @@ class _InstanceState:
|
|
175
191
|
def __init__(__self__, *,
|
176
192
|
create_time: Optional[pulumi.Input[str]] = None,
|
177
193
|
creator: Optional[pulumi.Input[str]] = None,
|
194
|
+
desired_state: Optional[pulumi.Input[str]] = None,
|
178
195
|
disable_proxy_access: Optional[pulumi.Input[bool]] = None,
|
179
196
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
180
197
|
gce_setup: Optional[pulumi.Input['InstanceGceSetupArgs']] = None,
|
@@ -196,6 +213,7 @@ class _InstanceState:
|
|
196
213
|
:param pulumi.Input[str] create_time: An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ.
|
197
214
|
The milliseconds portion (".SSS") is optional.
|
198
215
|
:param pulumi.Input[str] creator: Output only. Email address of entity that sent original CreateInstance request.
|
216
|
+
:param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
199
217
|
:param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
|
200
218
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
201
219
|
:param pulumi.Input['InstanceGceSetupArgs'] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
|
@@ -234,6 +252,8 @@ class _InstanceState:
|
|
234
252
|
pulumi.set(__self__, "create_time", create_time)
|
235
253
|
if creator is not None:
|
236
254
|
pulumi.set(__self__, "creator", creator)
|
255
|
+
if desired_state is not None:
|
256
|
+
pulumi.set(__self__, "desired_state", desired_state)
|
237
257
|
if disable_proxy_access is not None:
|
238
258
|
pulumi.set(__self__, "disable_proxy_access", disable_proxy_access)
|
239
259
|
if effective_labels is not None:
|
@@ -292,6 +312,18 @@ class _InstanceState:
|
|
292
312
|
def creator(self, value: Optional[pulumi.Input[str]]):
|
293
313
|
pulumi.set(self, "creator", value)
|
294
314
|
|
315
|
+
@property
|
316
|
+
@pulumi.getter(name="desiredState")
|
317
|
+
def desired_state(self) -> Optional[pulumi.Input[str]]:
|
318
|
+
"""
|
319
|
+
Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
320
|
+
"""
|
321
|
+
return pulumi.get(self, "desired_state")
|
322
|
+
|
323
|
+
@desired_state.setter
|
324
|
+
def desired_state(self, value: Optional[pulumi.Input[str]]):
|
325
|
+
pulumi.set(self, "desired_state", value)
|
326
|
+
|
295
327
|
@property
|
296
328
|
@pulumi.getter(name="disableProxyAccess")
|
297
329
|
def disable_proxy_access(self) -> Optional[pulumi.Input[bool]]:
|
@@ -507,6 +539,7 @@ class Instance(pulumi.CustomResource):
|
|
507
539
|
def __init__(__self__,
|
508
540
|
resource_name: str,
|
509
541
|
opts: Optional[pulumi.ResourceOptions] = None,
|
542
|
+
desired_state: Optional[pulumi.Input[str]] = None,
|
510
543
|
disable_proxy_access: Optional[pulumi.Input[bool]] = None,
|
511
544
|
gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
|
512
545
|
instance_id: Optional[pulumi.Input[str]] = None,
|
@@ -548,13 +581,14 @@ class Instance(pulumi.CustomResource):
|
|
548
581
|
),
|
549
582
|
location="us-central1-a")
|
550
583
|
```
|
551
|
-
### Workbench Instance Labels
|
584
|
+
### Workbench Instance Labels Stopped
|
552
585
|
|
553
586
|
```python
|
554
587
|
import pulumi
|
555
588
|
import pulumi_gcp as gcp
|
556
589
|
|
557
590
|
instance = gcp.workbench.Instance("instance",
|
591
|
+
desired_state="STOPPED",
|
558
592
|
gce_setup=gcp.workbench.InstanceGceSetupArgs(
|
559
593
|
machine_type="e2-standard-4",
|
560
594
|
metadata={
|
@@ -596,13 +630,13 @@ class Instance(pulumi.CustomResource):
|
|
596
630
|
boot_disk=gcp.workbench.InstanceGceSetupBootDiskArgs(
|
597
631
|
disk_size_gb="310",
|
598
632
|
disk_type="PD_SSD",
|
599
|
-
disk_encryption="
|
633
|
+
disk_encryption="CMEK",
|
600
634
|
kms_key="my-crypto-key",
|
601
635
|
),
|
602
636
|
data_disks=gcp.workbench.InstanceGceSetupDataDisksArgs(
|
603
637
|
disk_size_gb="330",
|
604
638
|
disk_type="PD_SSD",
|
605
|
-
disk_encryption="
|
639
|
+
disk_encryption="CMEK",
|
606
640
|
kms_key="my-crypto-key",
|
607
641
|
),
|
608
642
|
network_interfaces=[gcp.workbench.InstanceGceSetupNetworkInterfaceArgs(
|
@@ -623,7 +657,8 @@ class Instance(pulumi.CustomResource):
|
|
623
657
|
instance_owners=["my@service-account.com"],
|
624
658
|
labels={
|
625
659
|
"k": "val",
|
626
|
-
}
|
660
|
+
},
|
661
|
+
desired_state="ACTIVE")
|
627
662
|
```
|
628
663
|
|
629
664
|
## Import
|
@@ -652,6 +687,7 @@ class Instance(pulumi.CustomResource):
|
|
652
687
|
|
653
688
|
:param str resource_name: The name of the resource.
|
654
689
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
690
|
+
:param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
655
691
|
:param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
|
656
692
|
:param pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
|
657
693
|
Structure is documented below.
|
@@ -710,13 +746,14 @@ class Instance(pulumi.CustomResource):
|
|
710
746
|
),
|
711
747
|
location="us-central1-a")
|
712
748
|
```
|
713
|
-
### Workbench Instance Labels
|
749
|
+
### Workbench Instance Labels Stopped
|
714
750
|
|
715
751
|
```python
|
716
752
|
import pulumi
|
717
753
|
import pulumi_gcp as gcp
|
718
754
|
|
719
755
|
instance = gcp.workbench.Instance("instance",
|
756
|
+
desired_state="STOPPED",
|
720
757
|
gce_setup=gcp.workbench.InstanceGceSetupArgs(
|
721
758
|
machine_type="e2-standard-4",
|
722
759
|
metadata={
|
@@ -758,13 +795,13 @@ class Instance(pulumi.CustomResource):
|
|
758
795
|
boot_disk=gcp.workbench.InstanceGceSetupBootDiskArgs(
|
759
796
|
disk_size_gb="310",
|
760
797
|
disk_type="PD_SSD",
|
761
|
-
disk_encryption="
|
798
|
+
disk_encryption="CMEK",
|
762
799
|
kms_key="my-crypto-key",
|
763
800
|
),
|
764
801
|
data_disks=gcp.workbench.InstanceGceSetupDataDisksArgs(
|
765
802
|
disk_size_gb="330",
|
766
803
|
disk_type="PD_SSD",
|
767
|
-
disk_encryption="
|
804
|
+
disk_encryption="CMEK",
|
768
805
|
kms_key="my-crypto-key",
|
769
806
|
),
|
770
807
|
network_interfaces=[gcp.workbench.InstanceGceSetupNetworkInterfaceArgs(
|
@@ -785,7 +822,8 @@ class Instance(pulumi.CustomResource):
|
|
785
822
|
instance_owners=["my@service-account.com"],
|
786
823
|
labels={
|
787
824
|
"k": "val",
|
788
|
-
}
|
825
|
+
},
|
826
|
+
desired_state="ACTIVE")
|
789
827
|
```
|
790
828
|
|
791
829
|
## Import
|
@@ -827,6 +865,7 @@ class Instance(pulumi.CustomResource):
|
|
827
865
|
def _internal_init(__self__,
|
828
866
|
resource_name: str,
|
829
867
|
opts: Optional[pulumi.ResourceOptions] = None,
|
868
|
+
desired_state: Optional[pulumi.Input[str]] = None,
|
830
869
|
disable_proxy_access: Optional[pulumi.Input[bool]] = None,
|
831
870
|
gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
|
832
871
|
instance_id: Optional[pulumi.Input[str]] = None,
|
@@ -844,6 +883,7 @@ class Instance(pulumi.CustomResource):
|
|
844
883
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
845
884
|
__props__ = InstanceArgs.__new__(InstanceArgs)
|
846
885
|
|
886
|
+
__props__.__dict__["desired_state"] = desired_state
|
847
887
|
__props__.__dict__["disable_proxy_access"] = disable_proxy_access
|
848
888
|
__props__.__dict__["gce_setup"] = gce_setup
|
849
889
|
__props__.__dict__["instance_id"] = instance_id
|
@@ -878,6 +918,7 @@ class Instance(pulumi.CustomResource):
|
|
878
918
|
opts: Optional[pulumi.ResourceOptions] = None,
|
879
919
|
create_time: Optional[pulumi.Input[str]] = None,
|
880
920
|
creator: Optional[pulumi.Input[str]] = None,
|
921
|
+
desired_state: Optional[pulumi.Input[str]] = None,
|
881
922
|
disable_proxy_access: Optional[pulumi.Input[bool]] = None,
|
882
923
|
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
883
924
|
gce_setup: Optional[pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']]] = None,
|
@@ -904,6 +945,7 @@ class Instance(pulumi.CustomResource):
|
|
904
945
|
:param pulumi.Input[str] create_time: An RFC3339 timestamp in UTC time. This in the format of yyyy-MM-ddTHH:mm:ss.SSSZ.
|
905
946
|
The milliseconds portion (".SSS") is optional.
|
906
947
|
:param pulumi.Input[str] creator: Output only. Email address of entity that sent original CreateInstance request.
|
948
|
+
:param pulumi.Input[str] desired_state: Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
907
949
|
:param pulumi.Input[bool] disable_proxy_access: Optional. If true, the workbench instance will not register with the proxy.
|
908
950
|
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
909
951
|
:param pulumi.Input[pulumi.InputType['InstanceGceSetupArgs']] gce_setup: The definition of how to configure a VM instance outside of Resources and Identity.
|
@@ -944,6 +986,7 @@ class Instance(pulumi.CustomResource):
|
|
944
986
|
|
945
987
|
__props__.__dict__["create_time"] = create_time
|
946
988
|
__props__.__dict__["creator"] = creator
|
989
|
+
__props__.__dict__["desired_state"] = desired_state
|
947
990
|
__props__.__dict__["disable_proxy_access"] = disable_proxy_access
|
948
991
|
__props__.__dict__["effective_labels"] = effective_labels
|
949
992
|
__props__.__dict__["gce_setup"] = gce_setup
|
@@ -979,6 +1022,14 @@ class Instance(pulumi.CustomResource):
|
|
979
1022
|
"""
|
980
1023
|
return pulumi.get(self, "creator")
|
981
1024
|
|
1025
|
+
@property
|
1026
|
+
@pulumi.getter(name="desiredState")
|
1027
|
+
def desired_state(self) -> pulumi.Output[Optional[str]]:
|
1028
|
+
"""
|
1029
|
+
Desired state of the Workbench Instance. Set this field to `ACTIVE` to start the Instance, and `STOPPED` to stop the Instance.
|
1030
|
+
"""
|
1031
|
+
return pulumi.get(self, "desired_state")
|
1032
|
+
|
982
1033
|
@property
|
983
1034
|
@pulumi.getter(name="disableProxyAccess")
|
984
1035
|
def disable_proxy_access(self) -> pulumi.Output[Optional[bool]]:
|
pulumi_gcp/workbench/outputs.py
CHANGED
@@ -307,7 +307,7 @@ class InstanceGceSetupBootDisk(dict):
|
|
307
307
|
recommended value of 150GB.
|
308
308
|
:param str disk_type: Optional. Indicates the type of the disk.
|
309
309
|
Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
|
310
|
-
:param str kms_key: 'Optional.
|
310
|
+
:param str kms_key: 'Optional. The KMS key used to encrypt the disks, only
|
311
311
|
applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
312
312
|
Learn more about using your own encryption keys.'
|
313
313
|
"""
|
@@ -353,7 +353,7 @@ class InstanceGceSetupBootDisk(dict):
|
|
353
353
|
@pulumi.getter(name="kmsKey")
|
354
354
|
def kms_key(self) -> Optional[str]:
|
355
355
|
"""
|
356
|
-
'Optional.
|
356
|
+
'Optional. The KMS key used to encrypt the disks, only
|
357
357
|
applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
358
358
|
Learn more about using your own encryption keys.'
|
359
359
|
"""
|
@@ -399,7 +399,7 @@ class InstanceGceSetupDataDisks(dict):
|
|
399
399
|
100.
|
400
400
|
:param str disk_type: Optional. Input only. Indicates the type of the disk.
|
401
401
|
Possible values are: `PD_STANDARD`, `PD_SSD`, `PD_BALANCED`, `PD_EXTREME`.
|
402
|
-
:param str kms_key: 'Optional.
|
402
|
+
:param str kms_key: 'Optional. The KMS key used to encrypt the disks,
|
403
403
|
only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
404
404
|
Learn more about using your own encryption keys.'
|
405
405
|
"""
|
@@ -445,7 +445,7 @@ class InstanceGceSetupDataDisks(dict):
|
|
445
445
|
@pulumi.getter(name="kmsKey")
|
446
446
|
def kms_key(self) -> Optional[str]:
|
447
447
|
"""
|
448
|
-
'Optional.
|
448
|
+
'Optional. The KMS key used to encrypt the disks,
|
449
449
|
only applicable if disk_encryption is CMEK. Format: `projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}`
|
450
450
|
Learn more about using your own encryption keys.'
|
451
451
|
"""
|
@@ -432,6 +432,7 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
432
432
|
boot_disk_size_gb: Optional[pulumi.Input[int]] = None,
|
433
433
|
confidential_instance_config: Optional[pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs']] = None,
|
434
434
|
disable_public_ip_addresses: Optional[pulumi.Input[bool]] = None,
|
435
|
+
disable_ssh: Optional[pulumi.Input[bool]] = None,
|
435
436
|
enable_nested_virtualization: Optional[pulumi.Input[bool]] = None,
|
436
437
|
machine_type: Optional[pulumi.Input[str]] = None,
|
437
438
|
pool_size: Optional[pulumi.Input[int]] = None,
|
@@ -446,6 +447,7 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
446
447
|
:param pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs'] confidential_instance_config: A set of Compute Engine Confidential VM instance options.
|
447
448
|
Structure is documented below.
|
448
449
|
:param pulumi.Input[bool] disable_public_ip_addresses: Whether instances have no public IP address.
|
450
|
+
:param pulumi.Input[bool] disable_ssh: Whether to disable SSH access to the VM.
|
449
451
|
:param pulumi.Input[bool] enable_nested_virtualization: Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
|
450
452
|
See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
|
451
453
|
:param pulumi.Input[str] machine_type: The name of a Compute Engine machine type.
|
@@ -464,6 +466,8 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
464
466
|
pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
|
465
467
|
if disable_public_ip_addresses is not None:
|
466
468
|
pulumi.set(__self__, "disable_public_ip_addresses", disable_public_ip_addresses)
|
469
|
+
if disable_ssh is not None:
|
470
|
+
pulumi.set(__self__, "disable_ssh", disable_ssh)
|
467
471
|
if enable_nested_virtualization is not None:
|
468
472
|
pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
|
469
473
|
if machine_type is not None:
|
@@ -529,6 +533,18 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
529
533
|
def disable_public_ip_addresses(self, value: Optional[pulumi.Input[bool]]):
|
530
534
|
pulumi.set(self, "disable_public_ip_addresses", value)
|
531
535
|
|
536
|
+
@property
|
537
|
+
@pulumi.getter(name="disableSsh")
|
538
|
+
def disable_ssh(self) -> Optional[pulumi.Input[bool]]:
|
539
|
+
"""
|
540
|
+
Whether to disable SSH access to the VM.
|
541
|
+
"""
|
542
|
+
return pulumi.get(self, "disable_ssh")
|
543
|
+
|
544
|
+
@disable_ssh.setter
|
545
|
+
def disable_ssh(self, value: Optional[pulumi.Input[bool]]):
|
546
|
+
pulumi.set(self, "disable_ssh", value)
|
547
|
+
|
532
548
|
@property
|
533
549
|
@pulumi.getter(name="enableNestedVirtualization")
|
534
550
|
def enable_nested_virtualization(self) -> Optional[pulumi.Input[bool]]:
|
@@ -435,6 +435,8 @@ class WorkstationConfigHostGceInstance(dict):
|
|
435
435
|
suggest = "confidential_instance_config"
|
436
436
|
elif key == "disablePublicIpAddresses":
|
437
437
|
suggest = "disable_public_ip_addresses"
|
438
|
+
elif key == "disableSsh":
|
439
|
+
suggest = "disable_ssh"
|
438
440
|
elif key == "enableNestedVirtualization":
|
439
441
|
suggest = "enable_nested_virtualization"
|
440
442
|
elif key == "machineType":
|
@@ -464,6 +466,7 @@ class WorkstationConfigHostGceInstance(dict):
|
|
464
466
|
boot_disk_size_gb: Optional[int] = None,
|
465
467
|
confidential_instance_config: Optional['outputs.WorkstationConfigHostGceInstanceConfidentialInstanceConfig'] = None,
|
466
468
|
disable_public_ip_addresses: Optional[bool] = None,
|
469
|
+
disable_ssh: Optional[bool] = None,
|
467
470
|
enable_nested_virtualization: Optional[bool] = None,
|
468
471
|
machine_type: Optional[str] = None,
|
469
472
|
pool_size: Optional[int] = None,
|
@@ -478,6 +481,7 @@ class WorkstationConfigHostGceInstance(dict):
|
|
478
481
|
:param 'WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs' confidential_instance_config: A set of Compute Engine Confidential VM instance options.
|
479
482
|
Structure is documented below.
|
480
483
|
:param bool disable_public_ip_addresses: Whether instances have no public IP address.
|
484
|
+
:param bool disable_ssh: Whether to disable SSH access to the VM.
|
481
485
|
:param bool enable_nested_virtualization: Whether to enable nested virtualization on the Compute Engine VMs backing the Workstations.
|
482
486
|
See https://cloud.google.com/workstations/docs/reference/rest/v1beta/projects.locations.workstationClusters.workstationConfigs#GceInstance.FIELDS.enable_nested_virtualization
|
483
487
|
:param str machine_type: The name of a Compute Engine machine type.
|
@@ -496,6 +500,8 @@ class WorkstationConfigHostGceInstance(dict):
|
|
496
500
|
pulumi.set(__self__, "confidential_instance_config", confidential_instance_config)
|
497
501
|
if disable_public_ip_addresses is not None:
|
498
502
|
pulumi.set(__self__, "disable_public_ip_addresses", disable_public_ip_addresses)
|
503
|
+
if disable_ssh is not None:
|
504
|
+
pulumi.set(__self__, "disable_ssh", disable_ssh)
|
499
505
|
if enable_nested_virtualization is not None:
|
500
506
|
pulumi.set(__self__, "enable_nested_virtualization", enable_nested_virtualization)
|
501
507
|
if machine_type is not None:
|
@@ -545,6 +551,14 @@ class WorkstationConfigHostGceInstance(dict):
|
|
545
551
|
"""
|
546
552
|
return pulumi.get(self, "disable_public_ip_addresses")
|
547
553
|
|
554
|
+
@property
|
555
|
+
@pulumi.getter(name="disableSsh")
|
556
|
+
def disable_ssh(self) -> Optional[bool]:
|
557
|
+
"""
|
558
|
+
Whether to disable SSH access to the VM.
|
559
|
+
"""
|
560
|
+
return pulumi.get(self, "disable_ssh")
|
561
|
+
|
548
562
|
@property
|
549
563
|
@pulumi.getter(name="enableNestedVirtualization")
|
550
564
|
def enable_nested_virtualization(self) -> Optional[bool]:
|
@@ -869,6 +869,7 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
869
869
|
machine_type="e2-standard-4",
|
870
870
|
boot_disk_size_gb=35,
|
871
871
|
disable_public_ip_addresses=True,
|
872
|
+
disable_ssh=False,
|
872
873
|
),
|
873
874
|
),
|
874
875
|
opts=pulumi.ResourceOptions(provider=google_beta))
|
@@ -1267,6 +1268,7 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
1267
1268
|
machine_type="e2-standard-4",
|
1268
1269
|
boot_disk_size_gb=35,
|
1269
1270
|
disable_public_ip_addresses=True,
|
1271
|
+
disable_ssh=False,
|
1270
1272
|
),
|
1271
1273
|
),
|
1272
1274
|
opts=pulumi.ResourceOptions(provider=google_beta))
|