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
pulumi_gcp/storage/outputs.py
CHANGED
@@ -24,6 +24,7 @@ __all__ = [
|
|
24
24
|
'BucketObjectCustomerEncryption',
|
25
25
|
'BucketObjectRetention',
|
26
26
|
'BucketRetentionPolicy',
|
27
|
+
'BucketSoftDeletePolicy',
|
27
28
|
'BucketVersioning',
|
28
29
|
'BucketWebsite',
|
29
30
|
'DefaultObjectAccessControlProjectTeam',
|
@@ -67,6 +68,7 @@ __all__ = [
|
|
67
68
|
'GetBucketObjectCustomerEncryptionResult',
|
68
69
|
'GetBucketObjectRetentionResult',
|
69
70
|
'GetBucketRetentionPolicyResult',
|
71
|
+
'GetBucketSoftDeletePolicyResult',
|
70
72
|
'GetBucketVersioningResult',
|
71
73
|
'GetBucketWebsiteResult',
|
72
74
|
]
|
@@ -849,6 +851,56 @@ class BucketRetentionPolicy(dict):
|
|
849
851
|
return pulumi.get(self, "is_locked")
|
850
852
|
|
851
853
|
|
854
|
+
@pulumi.output_type
|
855
|
+
class BucketSoftDeletePolicy(dict):
|
856
|
+
@staticmethod
|
857
|
+
def __key_warning(key: str):
|
858
|
+
suggest = None
|
859
|
+
if key == "effectiveTime":
|
860
|
+
suggest = "effective_time"
|
861
|
+
elif key == "retentionDurationSeconds":
|
862
|
+
suggest = "retention_duration_seconds"
|
863
|
+
|
864
|
+
if suggest:
|
865
|
+
pulumi.log.warn(f"Key '{key}' not found in BucketSoftDeletePolicy. Access the value via the '{suggest}' property getter instead.")
|
866
|
+
|
867
|
+
def __getitem__(self, key: str) -> Any:
|
868
|
+
BucketSoftDeletePolicy.__key_warning(key)
|
869
|
+
return super().__getitem__(key)
|
870
|
+
|
871
|
+
def get(self, key: str, default = None) -> Any:
|
872
|
+
BucketSoftDeletePolicy.__key_warning(key)
|
873
|
+
return super().get(key, default)
|
874
|
+
|
875
|
+
def __init__(__self__, *,
|
876
|
+
effective_time: Optional[str] = None,
|
877
|
+
retention_duration_seconds: Optional[int] = None):
|
878
|
+
"""
|
879
|
+
:param str effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
880
|
+
:param int retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
|
881
|
+
"""
|
882
|
+
if effective_time is not None:
|
883
|
+
pulumi.set(__self__, "effective_time", effective_time)
|
884
|
+
if retention_duration_seconds is not None:
|
885
|
+
pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
|
886
|
+
|
887
|
+
@property
|
888
|
+
@pulumi.getter(name="effectiveTime")
|
889
|
+
def effective_time(self) -> Optional[str]:
|
890
|
+
"""
|
891
|
+
Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
892
|
+
"""
|
893
|
+
return pulumi.get(self, "effective_time")
|
894
|
+
|
895
|
+
@property
|
896
|
+
@pulumi.getter(name="retentionDurationSeconds")
|
897
|
+
def retention_duration_seconds(self) -> Optional[int]:
|
898
|
+
"""
|
899
|
+
The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800. The value must be in between 604800(7 days) and 7776000(90 days). **Note**: To disable the soft delete policy on a bucket, This field must be set to 0.
|
900
|
+
"""
|
901
|
+
return pulumi.get(self, "retention_duration_seconds")
|
902
|
+
|
903
|
+
|
852
904
|
@pulumi.output_type
|
853
905
|
class BucketVersioning(dict):
|
854
906
|
def __init__(__self__, *,
|
@@ -2042,10 +2094,12 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
|
|
2042
2094
|
@staticmethod
|
2043
2095
|
def __key_warning(key: str):
|
2044
2096
|
suggest = None
|
2045
|
-
if key == "
|
2046
|
-
suggest = "azure_credentials"
|
2047
|
-
elif key == "storageAccount":
|
2097
|
+
if key == "storageAccount":
|
2048
2098
|
suggest = "storage_account"
|
2099
|
+
elif key == "azureCredentials":
|
2100
|
+
suggest = "azure_credentials"
|
2101
|
+
elif key == "credentialsSecret":
|
2102
|
+
suggest = "credentials_secret"
|
2049
2103
|
|
2050
2104
|
if suggest:
|
2051
2105
|
pulumi.log.warn(f"Key '{key}' not found in TransferJobTransferSpecAzureBlobStorageDataSource. Access the value via the '{suggest}' property getter instead.")
|
@@ -2059,30 +2113,27 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
|
|
2059
2113
|
return super().get(key, default)
|
2060
2114
|
|
2061
2115
|
def __init__(__self__, *,
|
2062
|
-
azure_credentials: 'outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials',
|
2063
2116
|
container: str,
|
2064
2117
|
storage_account: str,
|
2118
|
+
azure_credentials: Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials'] = None,
|
2119
|
+
credentials_secret: Optional[str] = None,
|
2065
2120
|
path: Optional[str] = None):
|
2066
2121
|
"""
|
2067
|
-
:param 'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs' azure_credentials: Credentials used to authenticate API requests to Azure block.
|
2068
2122
|
:param str container: The container to transfer from the Azure Storage account.`
|
2069
2123
|
:param str storage_account: The name of the Azure Storage account.
|
2124
|
+
:param 'TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentialsArgs' azure_credentials: Credentials used to authenticate API requests to Azure block.
|
2125
|
+
:param str credentials_secret: Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
|
2070
2126
|
:param str path: Root path to transfer objects. Must be an empty string or full path name that ends with a '/'. This field is treated as an object prefix. As such, it should generally not begin with a '/'.
|
2071
2127
|
"""
|
2072
|
-
pulumi.set(__self__, "azure_credentials", azure_credentials)
|
2073
2128
|
pulumi.set(__self__, "container", container)
|
2074
2129
|
pulumi.set(__self__, "storage_account", storage_account)
|
2130
|
+
if azure_credentials is not None:
|
2131
|
+
pulumi.set(__self__, "azure_credentials", azure_credentials)
|
2132
|
+
if credentials_secret is not None:
|
2133
|
+
pulumi.set(__self__, "credentials_secret", credentials_secret)
|
2075
2134
|
if path is not None:
|
2076
2135
|
pulumi.set(__self__, "path", path)
|
2077
2136
|
|
2078
|
-
@property
|
2079
|
-
@pulumi.getter(name="azureCredentials")
|
2080
|
-
def azure_credentials(self) -> 'outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials':
|
2081
|
-
"""
|
2082
|
-
Credentials used to authenticate API requests to Azure block.
|
2083
|
-
"""
|
2084
|
-
return pulumi.get(self, "azure_credentials")
|
2085
|
-
|
2086
2137
|
@property
|
2087
2138
|
@pulumi.getter
|
2088
2139
|
def container(self) -> str:
|
@@ -2099,6 +2150,22 @@ class TransferJobTransferSpecAzureBlobStorageDataSource(dict):
|
|
2099
2150
|
"""
|
2100
2151
|
return pulumi.get(self, "storage_account")
|
2101
2152
|
|
2153
|
+
@property
|
2154
|
+
@pulumi.getter(name="azureCredentials")
|
2155
|
+
def azure_credentials(self) -> Optional['outputs.TransferJobTransferSpecAzureBlobStorageDataSourceAzureCredentials']:
|
2156
|
+
"""
|
2157
|
+
Credentials used to authenticate API requests to Azure block.
|
2158
|
+
"""
|
2159
|
+
return pulumi.get(self, "azure_credentials")
|
2160
|
+
|
2161
|
+
@property
|
2162
|
+
@pulumi.getter(name="credentialsSecret")
|
2163
|
+
def credentials_secret(self) -> Optional[str]:
|
2164
|
+
"""
|
2165
|
+
Full Resource name of a secret in Secret Manager containing [SAS Credentials in JSON form](https://cloud.google.com/storage-transfer/docs/reference/rest/v1/TransferSpec#azureblobstoragedata:~:text=begin%!w(MISSING)ith%!a(MISSING)%27/%!-(MISSING),credentialsSecret,-string). Service Agent for Storage Transfer must have permissions to access secret. If credentials_secret is specified, do not specify azure_credentials.`,
|
2166
|
+
"""
|
2167
|
+
return pulumi.get(self, "credentials_secret")
|
2168
|
+
|
2102
2169
|
@property
|
2103
2170
|
@pulumi.getter
|
2104
2171
|
def path(self) -> Optional[str]:
|
@@ -3025,6 +3092,35 @@ class GetBucketRetentionPolicyResult(dict):
|
|
3025
3092
|
return pulumi.get(self, "retention_period")
|
3026
3093
|
|
3027
3094
|
|
3095
|
+
@pulumi.output_type
|
3096
|
+
class GetBucketSoftDeletePolicyResult(dict):
|
3097
|
+
def __init__(__self__, *,
|
3098
|
+
effective_time: str,
|
3099
|
+
retention_duration_seconds: int):
|
3100
|
+
"""
|
3101
|
+
:param str effective_time: Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
3102
|
+
:param int retention_duration_seconds: The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
|
3103
|
+
"""
|
3104
|
+
pulumi.set(__self__, "effective_time", effective_time)
|
3105
|
+
pulumi.set(__self__, "retention_duration_seconds", retention_duration_seconds)
|
3106
|
+
|
3107
|
+
@property
|
3108
|
+
@pulumi.getter(name="effectiveTime")
|
3109
|
+
def effective_time(self) -> str:
|
3110
|
+
"""
|
3111
|
+
Server-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
|
3112
|
+
"""
|
3113
|
+
return pulumi.get(self, "effective_time")
|
3114
|
+
|
3115
|
+
@property
|
3116
|
+
@pulumi.getter(name="retentionDurationSeconds")
|
3117
|
+
def retention_duration_seconds(self) -> int:
|
3118
|
+
"""
|
3119
|
+
The duration in seconds that soft-deleted objects in the bucket will be retained and cannot be permanently deleted. Default value is 604800.
|
3120
|
+
"""
|
3121
|
+
return pulumi.get(self, "retention_duration_seconds")
|
3122
|
+
|
3123
|
+
|
3028
3124
|
@pulumi.output_type
|
3029
3125
|
class GetBucketVersioningResult(dict):
|
3030
3126
|
def __init__(__self__, *,
|
@@ -16,9 +16,13 @@ __all__ = [
|
|
16
16
|
'WorkstationConfigConditionArgs',
|
17
17
|
'WorkstationConfigContainerArgs',
|
18
18
|
'WorkstationConfigEncryptionKeyArgs',
|
19
|
+
'WorkstationConfigEphemeralDirectoryArgs',
|
20
|
+
'WorkstationConfigEphemeralDirectoryGcePdArgs',
|
19
21
|
'WorkstationConfigHostArgs',
|
20
22
|
'WorkstationConfigHostGceInstanceArgs',
|
21
23
|
'WorkstationConfigHostGceInstanceAcceleratorArgs',
|
24
|
+
'WorkstationConfigHostGceInstanceBoostConfigArgs',
|
25
|
+
'WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs',
|
22
26
|
'WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs',
|
23
27
|
'WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs',
|
24
28
|
'WorkstationConfigIamBindingConditionArgs',
|
@@ -400,6 +404,128 @@ class WorkstationConfigEncryptionKeyArgs:
|
|
400
404
|
pulumi.set(self, "kms_key_service_account", value)
|
401
405
|
|
402
406
|
|
407
|
+
@pulumi.input_type
|
408
|
+
class WorkstationConfigEphemeralDirectoryArgs:
|
409
|
+
def __init__(__self__, *,
|
410
|
+
gce_pd: Optional[pulumi.Input['WorkstationConfigEphemeralDirectoryGcePdArgs']] = None,
|
411
|
+
mount_path: Optional[pulumi.Input[str]] = None):
|
412
|
+
"""
|
413
|
+
:param pulumi.Input['WorkstationConfigEphemeralDirectoryGcePdArgs'] gce_pd: An EphemeralDirectory backed by a Compute Engine persistent disk.
|
414
|
+
Structure is documented below.
|
415
|
+
:param pulumi.Input[str] mount_path: Location of this directory in the running workstation.
|
416
|
+
"""
|
417
|
+
if gce_pd is not None:
|
418
|
+
pulumi.set(__self__, "gce_pd", gce_pd)
|
419
|
+
if mount_path is not None:
|
420
|
+
pulumi.set(__self__, "mount_path", mount_path)
|
421
|
+
|
422
|
+
@property
|
423
|
+
@pulumi.getter(name="gcePd")
|
424
|
+
def gce_pd(self) -> Optional[pulumi.Input['WorkstationConfigEphemeralDirectoryGcePdArgs']]:
|
425
|
+
"""
|
426
|
+
An EphemeralDirectory backed by a Compute Engine persistent disk.
|
427
|
+
Structure is documented below.
|
428
|
+
"""
|
429
|
+
return pulumi.get(self, "gce_pd")
|
430
|
+
|
431
|
+
@gce_pd.setter
|
432
|
+
def gce_pd(self, value: Optional[pulumi.Input['WorkstationConfigEphemeralDirectoryGcePdArgs']]):
|
433
|
+
pulumi.set(self, "gce_pd", value)
|
434
|
+
|
435
|
+
@property
|
436
|
+
@pulumi.getter(name="mountPath")
|
437
|
+
def mount_path(self) -> Optional[pulumi.Input[str]]:
|
438
|
+
"""
|
439
|
+
Location of this directory in the running workstation.
|
440
|
+
"""
|
441
|
+
return pulumi.get(self, "mount_path")
|
442
|
+
|
443
|
+
@mount_path.setter
|
444
|
+
def mount_path(self, value: Optional[pulumi.Input[str]]):
|
445
|
+
pulumi.set(self, "mount_path", value)
|
446
|
+
|
447
|
+
|
448
|
+
@pulumi.input_type
|
449
|
+
class WorkstationConfigEphemeralDirectoryGcePdArgs:
|
450
|
+
def __init__(__self__, *,
|
451
|
+
disk_type: Optional[pulumi.Input[str]] = None,
|
452
|
+
read_only: Optional[pulumi.Input[bool]] = None,
|
453
|
+
source_image: Optional[pulumi.Input[str]] = None,
|
454
|
+
source_snapshot: Optional[pulumi.Input[str]] = None):
|
455
|
+
"""
|
456
|
+
:param pulumi.Input[str] disk_type: Type of the disk to use. Defaults to `"pd-standard"`.
|
457
|
+
:param pulumi.Input[bool] read_only: Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.
|
458
|
+
:param pulumi.Input[str] source_image: Name of the disk image to use as the source for the disk.
|
459
|
+
Must be empty `sourceSnapshot` is set.
|
460
|
+
Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.
|
461
|
+
:param pulumi.Input[str] source_snapshot: Name of the snapshot to use as the source for the disk.
|
462
|
+
Must be empty if `sourceImage` is set.
|
463
|
+
Must be empty if `read_only` is false.
|
464
|
+
Updating `source_snapshot` will update content in the ephemeral directory after the workstation is restarted.
|
465
|
+
"""
|
466
|
+
if disk_type is not None:
|
467
|
+
pulumi.set(__self__, "disk_type", disk_type)
|
468
|
+
if read_only is not None:
|
469
|
+
pulumi.set(__self__, "read_only", read_only)
|
470
|
+
if source_image is not None:
|
471
|
+
pulumi.set(__self__, "source_image", source_image)
|
472
|
+
if source_snapshot is not None:
|
473
|
+
pulumi.set(__self__, "source_snapshot", source_snapshot)
|
474
|
+
|
475
|
+
@property
|
476
|
+
@pulumi.getter(name="diskType")
|
477
|
+
def disk_type(self) -> Optional[pulumi.Input[str]]:
|
478
|
+
"""
|
479
|
+
Type of the disk to use. Defaults to `"pd-standard"`.
|
480
|
+
"""
|
481
|
+
return pulumi.get(self, "disk_type")
|
482
|
+
|
483
|
+
@disk_type.setter
|
484
|
+
def disk_type(self, value: Optional[pulumi.Input[str]]):
|
485
|
+
pulumi.set(self, "disk_type", value)
|
486
|
+
|
487
|
+
@property
|
488
|
+
@pulumi.getter(name="readOnly")
|
489
|
+
def read_only(self) -> Optional[pulumi.Input[bool]]:
|
490
|
+
"""
|
491
|
+
Whether the disk is read only. If true, the disk may be shared by multiple VMs and `sourceSnapshot` must be set.
|
492
|
+
"""
|
493
|
+
return pulumi.get(self, "read_only")
|
494
|
+
|
495
|
+
@read_only.setter
|
496
|
+
def read_only(self, value: Optional[pulumi.Input[bool]]):
|
497
|
+
pulumi.set(self, "read_only", value)
|
498
|
+
|
499
|
+
@property
|
500
|
+
@pulumi.getter(name="sourceImage")
|
501
|
+
def source_image(self) -> Optional[pulumi.Input[str]]:
|
502
|
+
"""
|
503
|
+
Name of the disk image to use as the source for the disk.
|
504
|
+
Must be empty `sourceSnapshot` is set.
|
505
|
+
Updating `sourceImage` will update content in the ephemeral directory after the workstation is restarted.
|
506
|
+
"""
|
507
|
+
return pulumi.get(self, "source_image")
|
508
|
+
|
509
|
+
@source_image.setter
|
510
|
+
def source_image(self, value: Optional[pulumi.Input[str]]):
|
511
|
+
pulumi.set(self, "source_image", value)
|
512
|
+
|
513
|
+
@property
|
514
|
+
@pulumi.getter(name="sourceSnapshot")
|
515
|
+
def source_snapshot(self) -> Optional[pulumi.Input[str]]:
|
516
|
+
"""
|
517
|
+
Name of the snapshot to use as the source for the disk.
|
518
|
+
Must be empty if `sourceImage` is set.
|
519
|
+
Must be empty if `read_only` is false.
|
520
|
+
Updating `source_snapshot` will update content in the ephemeral directory after the workstation is restarted.
|
521
|
+
"""
|
522
|
+
return pulumi.get(self, "source_snapshot")
|
523
|
+
|
524
|
+
@source_snapshot.setter
|
525
|
+
def source_snapshot(self, value: Optional[pulumi.Input[str]]):
|
526
|
+
pulumi.set(self, "source_snapshot", value)
|
527
|
+
|
528
|
+
|
403
529
|
@pulumi.input_type
|
404
530
|
class WorkstationConfigHostArgs:
|
405
531
|
def __init__(__self__, *,
|
@@ -429,6 +555,7 @@ class WorkstationConfigHostArgs:
|
|
429
555
|
class WorkstationConfigHostGceInstanceArgs:
|
430
556
|
def __init__(__self__, *,
|
431
557
|
accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceAcceleratorArgs']]]] = None,
|
558
|
+
boost_configs: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigArgs']]]] = None,
|
432
559
|
boot_disk_size_gb: Optional[pulumi.Input[int]] = None,
|
433
560
|
confidential_instance_config: Optional[pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs']] = None,
|
434
561
|
disable_public_ip_addresses: Optional[pulumi.Input[bool]] = None,
|
@@ -443,6 +570,8 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
443
570
|
"""
|
444
571
|
:param pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceAcceleratorArgs']]] accelerators: An accelerator card attached to the instance.
|
445
572
|
Structure is documented below.
|
573
|
+
:param pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigArgs']]] boost_configs: A list of the boost configurations that workstations created using this workstation configuration are allowed to use.
|
574
|
+
Structure is documented below.
|
446
575
|
:param pulumi.Input[int] boot_disk_size_gb: Size of the boot disk in GB.
|
447
576
|
:param pulumi.Input['WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs'] confidential_instance_config: A set of Compute Engine Confidential VM instance options.
|
448
577
|
Structure is documented below.
|
@@ -460,6 +589,8 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
460
589
|
"""
|
461
590
|
if accelerators is not None:
|
462
591
|
pulumi.set(__self__, "accelerators", accelerators)
|
592
|
+
if boost_configs is not None:
|
593
|
+
pulumi.set(__self__, "boost_configs", boost_configs)
|
463
594
|
if boot_disk_size_gb is not None:
|
464
595
|
pulumi.set(__self__, "boot_disk_size_gb", boot_disk_size_gb)
|
465
596
|
if confidential_instance_config is not None:
|
@@ -496,6 +627,19 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
496
627
|
def accelerators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceAcceleratorArgs']]]]):
|
497
628
|
pulumi.set(self, "accelerators", value)
|
498
629
|
|
630
|
+
@property
|
631
|
+
@pulumi.getter(name="boostConfigs")
|
632
|
+
def boost_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigArgs']]]]:
|
633
|
+
"""
|
634
|
+
A list of the boost configurations that workstations created using this workstation configuration are allowed to use.
|
635
|
+
Structure is documented below.
|
636
|
+
"""
|
637
|
+
return pulumi.get(self, "boost_configs")
|
638
|
+
|
639
|
+
@boost_configs.setter
|
640
|
+
def boost_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigArgs']]]]):
|
641
|
+
pulumi.set(self, "boost_configs", value)
|
642
|
+
|
499
643
|
@property
|
500
644
|
@pulumi.getter(name="bootDiskSizeGb")
|
501
645
|
def boot_disk_size_gb(self) -> Optional[pulumi.Input[int]]:
|
@@ -669,6 +813,99 @@ class WorkstationConfigHostGceInstanceAcceleratorArgs:
|
|
669
813
|
pulumi.set(self, "type", value)
|
670
814
|
|
671
815
|
|
816
|
+
@pulumi.input_type
|
817
|
+
class WorkstationConfigHostGceInstanceBoostConfigArgs:
|
818
|
+
def __init__(__self__, *,
|
819
|
+
id: pulumi.Input[str],
|
820
|
+
accelerators: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs']]]] = None,
|
821
|
+
machine_type: Optional[pulumi.Input[str]] = None):
|
822
|
+
"""
|
823
|
+
:param pulumi.Input[str] id: The id to be used for the boost config.
|
824
|
+
:param pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs']]] accelerators: An accelerator card attached to the boost instance.
|
825
|
+
Structure is documented below.
|
826
|
+
:param pulumi.Input[str] machine_type: The type of machine that boosted VM instances will use—for example, e2-standard-4. For more information about machine types that Cloud Workstations supports, see the list of available machine types https://cloud.google.com/workstations/docs/available-machine-types. Defaults to e2-standard-4.
|
827
|
+
"""
|
828
|
+
pulumi.set(__self__, "id", id)
|
829
|
+
if accelerators is not None:
|
830
|
+
pulumi.set(__self__, "accelerators", accelerators)
|
831
|
+
if machine_type is not None:
|
832
|
+
pulumi.set(__self__, "machine_type", machine_type)
|
833
|
+
|
834
|
+
@property
|
835
|
+
@pulumi.getter
|
836
|
+
def id(self) -> pulumi.Input[str]:
|
837
|
+
"""
|
838
|
+
The id to be used for the boost config.
|
839
|
+
"""
|
840
|
+
return pulumi.get(self, "id")
|
841
|
+
|
842
|
+
@id.setter
|
843
|
+
def id(self, value: pulumi.Input[str]):
|
844
|
+
pulumi.set(self, "id", value)
|
845
|
+
|
846
|
+
@property
|
847
|
+
@pulumi.getter
|
848
|
+
def accelerators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs']]]]:
|
849
|
+
"""
|
850
|
+
An accelerator card attached to the boost instance.
|
851
|
+
Structure is documented below.
|
852
|
+
"""
|
853
|
+
return pulumi.get(self, "accelerators")
|
854
|
+
|
855
|
+
@accelerators.setter
|
856
|
+
def accelerators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs']]]]):
|
857
|
+
pulumi.set(self, "accelerators", value)
|
858
|
+
|
859
|
+
@property
|
860
|
+
@pulumi.getter(name="machineType")
|
861
|
+
def machine_type(self) -> Optional[pulumi.Input[str]]:
|
862
|
+
"""
|
863
|
+
The type of machine that boosted VM instances will use—for example, e2-standard-4. For more information about machine types that Cloud Workstations supports, see the list of available machine types https://cloud.google.com/workstations/docs/available-machine-types. Defaults to e2-standard-4.
|
864
|
+
"""
|
865
|
+
return pulumi.get(self, "machine_type")
|
866
|
+
|
867
|
+
@machine_type.setter
|
868
|
+
def machine_type(self, value: Optional[pulumi.Input[str]]):
|
869
|
+
pulumi.set(self, "machine_type", value)
|
870
|
+
|
871
|
+
|
872
|
+
@pulumi.input_type
|
873
|
+
class WorkstationConfigHostGceInstanceBoostConfigAcceleratorArgs:
|
874
|
+
def __init__(__self__, *,
|
875
|
+
count: pulumi.Input[int],
|
876
|
+
type: pulumi.Input[str]):
|
877
|
+
"""
|
878
|
+
:param pulumi.Input[int] count: Number of accelerator cards exposed to the instance.
|
879
|
+
:param pulumi.Input[str] type: Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
|
880
|
+
"""
|
881
|
+
pulumi.set(__self__, "count", count)
|
882
|
+
pulumi.set(__self__, "type", type)
|
883
|
+
|
884
|
+
@property
|
885
|
+
@pulumi.getter
|
886
|
+
def count(self) -> pulumi.Input[int]:
|
887
|
+
"""
|
888
|
+
Number of accelerator cards exposed to the instance.
|
889
|
+
"""
|
890
|
+
return pulumi.get(self, "count")
|
891
|
+
|
892
|
+
@count.setter
|
893
|
+
def count(self, value: pulumi.Input[int]):
|
894
|
+
pulumi.set(self, "count", value)
|
895
|
+
|
896
|
+
@property
|
897
|
+
@pulumi.getter
|
898
|
+
def type(self) -> pulumi.Input[str]:
|
899
|
+
"""
|
900
|
+
Type of accelerator resource to attach to the instance, for example, "nvidia-tesla-p100".
|
901
|
+
"""
|
902
|
+
return pulumi.get(self, "type")
|
903
|
+
|
904
|
+
@type.setter
|
905
|
+
def type(self, value: pulumi.Input[str]):
|
906
|
+
pulumi.set(self, "type", value)
|
907
|
+
|
908
|
+
|
672
909
|
@pulumi.input_type
|
673
910
|
class WorkstationConfigHostGceInstanceConfidentialInstanceConfigArgs:
|
674
911
|
def __init__(__self__, *,
|
@@ -875,13 +1112,16 @@ class WorkstationConfigPersistentDirectoryGcePdArgs:
|
|
875
1112
|
size_gb: Optional[pulumi.Input[int]] = None,
|
876
1113
|
source_snapshot: Optional[pulumi.Input[str]] = None):
|
877
1114
|
"""
|
878
|
-
:param pulumi.Input[str] disk_type:
|
1115
|
+
:param pulumi.Input[str] disk_type: Type of the disk to use. Defaults to `"pd-standard"`.
|
879
1116
|
:param pulumi.Input[str] fs_type: Type of file system that the disk should be formatted with. The workstation image must support this file system type. Must be empty if `sourceSnapshot` is set. Defaults to `ext4`.
|
880
1117
|
:param pulumi.Input[str] reclaim_policy: Whether the persistent disk should be deleted when the workstation is deleted. Valid values are `DELETE` and `RETAIN`. Defaults to `DELETE`.
|
881
1118
|
Possible values are: `DELETE`, `RETAIN`.
|
882
1119
|
:param pulumi.Input[int] size_gb: The GB capacity of a persistent home directory for each workstation created with this configuration. Must be empty if `sourceSnapshot` is set.
|
883
1120
|
Valid values are `10`, `50`, `100`, `200`, `500`, or `1000`. Defaults to `200`. If less than `200` GB, the `diskType` must be `pd-balanced` or `pd-ssd`.
|
884
|
-
:param pulumi.Input[str] source_snapshot: Name of the snapshot to use as the source for the disk.
|
1121
|
+
:param pulumi.Input[str] source_snapshot: Name of the snapshot to use as the source for the disk.
|
1122
|
+
Must be empty if `sourceImage` is set.
|
1123
|
+
Must be empty if `read_only` is false.
|
1124
|
+
Updating `source_snapshot` will update content in the ephemeral directory after the workstation is restarted.
|
885
1125
|
"""
|
886
1126
|
if disk_type is not None:
|
887
1127
|
pulumi.set(__self__, "disk_type", disk_type)
|
@@ -898,7 +1138,7 @@ class WorkstationConfigPersistentDirectoryGcePdArgs:
|
|
898
1138
|
@pulumi.getter(name="diskType")
|
899
1139
|
def disk_type(self) -> Optional[pulumi.Input[str]]:
|
900
1140
|
"""
|
901
|
-
|
1141
|
+
Type of the disk to use. Defaults to `"pd-standard"`.
|
902
1142
|
"""
|
903
1143
|
return pulumi.get(self, "disk_type")
|
904
1144
|
|
@@ -948,7 +1188,10 @@ class WorkstationConfigPersistentDirectoryGcePdArgs:
|
|
948
1188
|
@pulumi.getter(name="sourceSnapshot")
|
949
1189
|
def source_snapshot(self) -> Optional[pulumi.Input[str]]:
|
950
1190
|
"""
|
951
|
-
Name of the snapshot to use as the source for the disk.
|
1191
|
+
Name of the snapshot to use as the source for the disk.
|
1192
|
+
Must be empty if `sourceImage` is set.
|
1193
|
+
Must be empty if `read_only` is false.
|
1194
|
+
Updating `source_snapshot` will update content in the ephemeral directory after the workstation is restarted.
|
952
1195
|
"""
|
953
1196
|
return pulumi.get(self, "source_snapshot")
|
954
1197
|
|