pulumi-gcp 8.40.0a1754636117__py3-none-any.whl → 8.40.0a1754951145__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 +128 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
- pulumi_gcp/accesscontextmanager/outputs.py +15 -3
- pulumi_gcp/apigee/__init__.py +2 -0
- pulumi_gcp/apigee/_inputs.py +1435 -0
- pulumi_gcp/apigee/api_product.py +1698 -0
- pulumi_gcp/apigee/outputs.py +1081 -0
- pulumi_gcp/apigee/security_action.py +1010 -0
- pulumi_gcp/artifactregistry/__init__.py +1 -0
- pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
- pulumi_gcp/artifactregistry/outputs.py +109 -2
- pulumi_gcp/artifactregistry/repository.py +6 -6
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
- pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
- pulumi_gcp/bigquery/_inputs.py +6 -0
- pulumi_gcp/bigquery/get_table.py +23 -1
- pulumi_gcp/bigquery/outputs.py +4 -0
- pulumi_gcp/bigquery/table.py +62 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
- pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
- pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
- pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
- pulumi_gcp/bigtable/__init__.py +1 -0
- pulumi_gcp/bigtable/_inputs.py +33 -0
- pulumi_gcp/bigtable/outputs.py +36 -0
- pulumi_gcp/bigtable/schema_bundle.py +568 -0
- pulumi_gcp/cloudfunctions/_inputs.py +48 -0
- pulumi_gcp/cloudfunctions/function.py +94 -0
- pulumi_gcp/cloudfunctions/get_function.py +23 -1
- pulumi_gcp/cloudfunctions/outputs.py +70 -0
- pulumi_gcp/cloudrunv2/_inputs.py +20 -0
- pulumi_gcp/cloudrunv2/job.py +2 -0
- pulumi_gcp/cloudrunv2/outputs.py +25 -0
- pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +713 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
- pulumi_gcp/compute/forwarding_rule.py +0 -21
- pulumi_gcp/compute/get_router.py +12 -1
- pulumi_gcp/compute/outputs.py +562 -22
- pulumi_gcp/compute/preview_feature.py +396 -0
- pulumi_gcp/compute/region_url_map.py +392 -0
- pulumi_gcp/compute/reservation.py +4 -4
- pulumi_gcp/compute/router.py +54 -0
- pulumi_gcp/compute/storage_pool.py +154 -0
- pulumi_gcp/compute/subnetwork.py +54 -0
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +278 -8
- pulumi_gcp/container/cluster.py +61 -21
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +352 -8
- pulumi_gcp/dataproc/_inputs.py +249 -14
- pulumi_gcp/dataproc/batch.py +6 -0
- pulumi_gcp/dataproc/cluster.py +2 -0
- pulumi_gcp/dataproc/outputs.py +215 -12
- pulumi_gcp/dataproc/session_template.py +14 -2
- pulumi_gcp/developerconnect/__init__.py +1 -0
- pulumi_gcp/developerconnect/_inputs.py +583 -0
- pulumi_gcp/developerconnect/insights_config.py +895 -0
- pulumi_gcp/developerconnect/outputs.py +442 -0
- pulumi_gcp/diagflow/__init__.py +1 -0
- pulumi_gcp/diagflow/_inputs.py +1165 -58
- pulumi_gcp/diagflow/cx_generator.py +636 -0
- pulumi_gcp/diagflow/cx_tool.py +2 -2
- pulumi_gcp/diagflow/cx_webhook.py +380 -36
- pulumi_gcp/diagflow/outputs.py +848 -25
- pulumi_gcp/discoveryengine/__init__.py +2 -0
- pulumi_gcp/discoveryengine/_inputs.py +465 -0
- pulumi_gcp/discoveryengine/cmek_config.py +707 -0
- pulumi_gcp/discoveryengine/outputs.py +412 -0
- pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
- pulumi_gcp/firestore/field.py +6 -6
- pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
- pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
- pulumi_gcp/iam/__init__.py +4 -0
- pulumi_gcp/iam/_inputs.py +98 -0
- pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
- pulumi_gcp/iam/outputs.py +56 -0
- pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
- pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
- pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/looker/instance.py +28 -7
- pulumi_gcp/managedkafka/_inputs.py +127 -0
- pulumi_gcp/managedkafka/cluster.py +131 -1
- pulumi_gcp/managedkafka/connect_cluster.py +4 -4
- pulumi_gcp/managedkafka/connector.py +4 -4
- pulumi_gcp/managedkafka/outputs.py +128 -0
- pulumi_gcp/memorystore/instance.py +8 -12
- pulumi_gcp/modelarmor/__init__.py +1 -0
- pulumi_gcp/modelarmor/_inputs.py +683 -0
- pulumi_gcp/modelarmor/floorsetting.py +736 -0
- pulumi_gcp/modelarmor/outputs.py +618 -0
- pulumi_gcp/networkconnectivity/_inputs.py +60 -0
- pulumi_gcp/networkconnectivity/internal_range.py +136 -0
- pulumi_gcp/networkconnectivity/outputs.py +55 -0
- pulumi_gcp/networkconnectivity/spoke.py +14 -14
- pulumi_gcp/oracledatabase/__init__.py +2 -0
- pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
- pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
- pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
- pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
- pulumi_gcp/oracledatabase/odb_network.py +721 -0
- pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
- pulumi_gcp/oracledatabase/outputs.py +83 -0
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parametermanager/parameter_version.py +62 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +46 -6
- pulumi_gcp/pubsub/topic.py +36 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +70 -0
- pulumi_gcp/redis/get_cluster.py +12 -1
- pulumi_gcp/redis/instance.py +8 -12
- pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
- pulumi_gcp/secretmanager/get_secret.py +12 -1
- pulumi_gcp/secretmanager/outputs.py +30 -0
- pulumi_gcp/secretmanager/regional_secret.py +61 -0
- pulumi_gcp/secretmanager/secret.py +61 -0
- pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
- pulumi_gcp/securesourcemanager/instance.py +112 -4
- pulumi_gcp/securesourcemanager/repository.py +112 -8
- pulumi_gcp/serviceaccount/get_account_key.py +1 -0
- pulumi_gcp/sql/_inputs.py +6 -6
- pulumi_gcp/sql/database.py +0 -12
- pulumi_gcp/sql/outputs.py +4 -4
- pulumi_gcp/storage/__init__.py +2 -0
- pulumi_gcp/storage/_inputs.py +451 -0
- pulumi_gcp/storage/bucket.py +7 -7
- pulumi_gcp/storage/bucket_object.py +34 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
- pulumi_gcp/storage/insights_dataset_config.py +1280 -0
- pulumi_gcp/storage/outputs.py +619 -0
- pulumi_gcp/vertex/__init__.py +1 -0
- pulumi_gcp/vertex/_inputs.py +3646 -3
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/outputs.py +2609 -2
- pulumi_gcp/vmwareengine/network_peering.py +7 -7
- pulumi_gcp/workbench/_inputs.py +118 -0
- pulumi_gcp/workbench/instance.py +171 -2
- pulumi_gcp/workbench/outputs.py +91 -0
- {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
- {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
pulumi_gcp/vertex/_inputs.py
CHANGED
@@ -47,6 +47,64 @@ __all__ = [
|
|
47
47
|
'AiEndpointPredictRequestResponseLoggingConfigBigqueryDestinationArgsDict',
|
48
48
|
'AiEndpointPrivateServiceConnectConfigArgs',
|
49
49
|
'AiEndpointPrivateServiceConnectConfigArgsDict',
|
50
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigArgs',
|
51
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigArgsDict',
|
52
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs',
|
53
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgsDict',
|
54
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs',
|
55
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgsDict',
|
56
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs',
|
57
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgsDict',
|
58
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs',
|
59
|
+
'AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgsDict',
|
60
|
+
'AiEndpointWithModelGardenDeploymentEndpointConfigArgs',
|
61
|
+
'AiEndpointWithModelGardenDeploymentEndpointConfigArgsDict',
|
62
|
+
'AiEndpointWithModelGardenDeploymentModelConfigArgs',
|
63
|
+
'AiEndpointWithModelGardenDeploymentModelConfigArgsDict',
|
64
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs',
|
65
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgsDict',
|
66
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs',
|
67
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgsDict',
|
68
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs',
|
69
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgsDict',
|
70
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs',
|
71
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgsDict',
|
72
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs',
|
73
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgsDict',
|
74
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs',
|
75
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgsDict',
|
76
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs',
|
77
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgsDict',
|
78
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs',
|
79
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgsDict',
|
80
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs',
|
81
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgsDict',
|
82
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs',
|
83
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgsDict',
|
84
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs',
|
85
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgsDict',
|
86
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs',
|
87
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgsDict',
|
88
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs',
|
89
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgsDict',
|
90
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs',
|
91
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgsDict',
|
92
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs',
|
93
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgsDict',
|
94
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs',
|
95
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgsDict',
|
96
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs',
|
97
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgsDict',
|
98
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs',
|
99
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgsDict',
|
100
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs',
|
101
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgsDict',
|
102
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs',
|
103
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgsDict',
|
104
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs',
|
105
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgsDict',
|
106
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs',
|
107
|
+
'AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgsDict',
|
50
108
|
'AiFeatureGroupBigQueryArgs',
|
51
109
|
'AiFeatureGroupBigQueryArgsDict',
|
52
110
|
'AiFeatureGroupBigQueryBigQuerySourceArgs',
|
@@ -942,7 +1000,7 @@ if not MYPY:
|
|
942
1000
|
machine_type: NotRequired[pulumi.Input[_builtins.str]]
|
943
1001
|
"""
|
944
1002
|
(Output)
|
945
|
-
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO
|
1003
|
+
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO: Try to better unify the required vs optional.
|
946
1004
|
"""
|
947
1005
|
elif False:
|
948
1006
|
AiEndpointDeployedModelDedicatedResourceMachineSpecArgsDict: TypeAlias = Mapping[str, Any]
|
@@ -959,7 +1017,7 @@ class AiEndpointDeployedModelDedicatedResourceMachineSpecArgs:
|
|
959
1017
|
:param pulumi.Input[_builtins.str] accelerator_type: (Output)
|
960
1018
|
The type of accelerator(s) that may be attached to the machine as per accelerator_count. See possible values [here](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/MachineSpec#AcceleratorType).
|
961
1019
|
:param pulumi.Input[_builtins.str] machine_type: (Output)
|
962
|
-
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO
|
1020
|
+
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO: Try to better unify the required vs optional.
|
963
1021
|
"""
|
964
1022
|
if accelerator_count is not None:
|
965
1023
|
pulumi.set(__self__, "accelerator_count", accelerator_count)
|
@@ -999,7 +1057,7 @@ class AiEndpointDeployedModelDedicatedResourceMachineSpecArgs:
|
|
999
1057
|
def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
1000
1058
|
"""
|
1001
1059
|
(Output)
|
1002
|
-
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO
|
1060
|
+
The type of the machine. See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). For DeployedModel this field is optional, and the default value is `n1-standard-2`. For BatchPredictionJob or as part of WorkerPoolSpec this field is required. TODO: Try to better unify the required vs optional.
|
1003
1061
|
"""
|
1004
1062
|
return pulumi.get(self, "machine_type")
|
1005
1063
|
|
@@ -1415,6 +1473,3591 @@ class AiEndpointPrivateServiceConnectConfigArgs:
|
|
1415
1473
|
pulumi.set(self, "project_allowlists", value)
|
1416
1474
|
|
1417
1475
|
|
1476
|
+
if not MYPY:
|
1477
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigArgsDict(TypedDict):
|
1478
|
+
dedicated_resources: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgsDict']]
|
1479
|
+
"""
|
1480
|
+
A description of resources that are dedicated to a DeployedModel or
|
1481
|
+
DeployedIndex, and that need a higher degree of manual configuration.
|
1482
|
+
Structure is documented below.
|
1483
|
+
"""
|
1484
|
+
fast_tryout_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
1485
|
+
"""
|
1486
|
+
If true, enable the QMT fast tryout feature for this model if possible.
|
1487
|
+
"""
|
1488
|
+
system_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]
|
1489
|
+
"""
|
1490
|
+
System labels for Model Garden deployments.
|
1491
|
+
These labels are managed by Google and for tracking purposes only.
|
1492
|
+
"""
|
1493
|
+
elif False:
|
1494
|
+
AiEndpointWithModelGardenDeploymentDeployConfigArgsDict: TypeAlias = Mapping[str, Any]
|
1495
|
+
|
1496
|
+
@pulumi.input_type
|
1497
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigArgs:
|
1498
|
+
def __init__(__self__, *,
|
1499
|
+
dedicated_resources: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs']] = None,
|
1500
|
+
fast_tryout_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
1501
|
+
system_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None):
|
1502
|
+
"""
|
1503
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs'] dedicated_resources: A description of resources that are dedicated to a DeployedModel or
|
1504
|
+
DeployedIndex, and that need a higher degree of manual configuration.
|
1505
|
+
Structure is documented below.
|
1506
|
+
:param pulumi.Input[_builtins.bool] fast_tryout_enabled: If true, enable the QMT fast tryout feature for this model if possible.
|
1507
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] system_labels: System labels for Model Garden deployments.
|
1508
|
+
These labels are managed by Google and for tracking purposes only.
|
1509
|
+
"""
|
1510
|
+
if dedicated_resources is not None:
|
1511
|
+
pulumi.set(__self__, "dedicated_resources", dedicated_resources)
|
1512
|
+
if fast_tryout_enabled is not None:
|
1513
|
+
pulumi.set(__self__, "fast_tryout_enabled", fast_tryout_enabled)
|
1514
|
+
if system_labels is not None:
|
1515
|
+
pulumi.set(__self__, "system_labels", system_labels)
|
1516
|
+
|
1517
|
+
@_builtins.property
|
1518
|
+
@pulumi.getter(name="dedicatedResources")
|
1519
|
+
def dedicated_resources(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs']]:
|
1520
|
+
"""
|
1521
|
+
A description of resources that are dedicated to a DeployedModel or
|
1522
|
+
DeployedIndex, and that need a higher degree of manual configuration.
|
1523
|
+
Structure is documented below.
|
1524
|
+
"""
|
1525
|
+
return pulumi.get(self, "dedicated_resources")
|
1526
|
+
|
1527
|
+
@dedicated_resources.setter
|
1528
|
+
def dedicated_resources(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs']]):
|
1529
|
+
pulumi.set(self, "dedicated_resources", value)
|
1530
|
+
|
1531
|
+
@_builtins.property
|
1532
|
+
@pulumi.getter(name="fastTryoutEnabled")
|
1533
|
+
def fast_tryout_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
1534
|
+
"""
|
1535
|
+
If true, enable the QMT fast tryout feature for this model if possible.
|
1536
|
+
"""
|
1537
|
+
return pulumi.get(self, "fast_tryout_enabled")
|
1538
|
+
|
1539
|
+
@fast_tryout_enabled.setter
|
1540
|
+
def fast_tryout_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
1541
|
+
pulumi.set(self, "fast_tryout_enabled", value)
|
1542
|
+
|
1543
|
+
@_builtins.property
|
1544
|
+
@pulumi.getter(name="systemLabels")
|
1545
|
+
def system_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
|
1546
|
+
"""
|
1547
|
+
System labels for Model Garden deployments.
|
1548
|
+
These labels are managed by Google and for tracking purposes only.
|
1549
|
+
"""
|
1550
|
+
return pulumi.get(self, "system_labels")
|
1551
|
+
|
1552
|
+
@system_labels.setter
|
1553
|
+
def system_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
|
1554
|
+
pulumi.set(self, "system_labels", value)
|
1555
|
+
|
1556
|
+
|
1557
|
+
if not MYPY:
|
1558
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgsDict(TypedDict):
|
1559
|
+
machine_spec: pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgsDict']
|
1560
|
+
"""
|
1561
|
+
Specification of a single machine.
|
1562
|
+
Structure is documented below.
|
1563
|
+
"""
|
1564
|
+
min_replica_count: pulumi.Input[_builtins.int]
|
1565
|
+
"""
|
1566
|
+
The minimum number of machine replicas that will be always deployed on.
|
1567
|
+
This value must be greater than or equal to 1.
|
1568
|
+
If traffic increases, it may dynamically be deployed onto more replicas,
|
1569
|
+
and as traffic decreases, some of these extra replicas may be freed.
|
1570
|
+
"""
|
1571
|
+
autoscaling_metric_specs: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgsDict']]]]
|
1572
|
+
"""
|
1573
|
+
The metric specifications that overrides a resource
|
1574
|
+
utilization metric (CPU utilization, accelerator's duty cycle, and so on)
|
1575
|
+
target value (default to 60 if not set). At most one entry is allowed per
|
1576
|
+
metric.
|
1577
|
+
If machine_spec.accelerator_count is
|
1578
|
+
above 0, the autoscaling will be based on both CPU utilization and
|
1579
|
+
accelerator's duty cycle metrics and scale up when either metrics exceeds
|
1580
|
+
its target value while scale down if both metrics are under their target
|
1581
|
+
value. The default target value is 60 for both metrics.
|
1582
|
+
If machine_spec.accelerator_count is
|
1583
|
+
0, the autoscaling will be based on CPU utilization metric only with
|
1584
|
+
default target value 60 if not explicitly set.
|
1585
|
+
For example, in the case of Online Prediction, if you want to override
|
1586
|
+
target CPU utilization to 80, you should set
|
1587
|
+
autoscaling_metric_specs.metric_name
|
1588
|
+
to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
|
1589
|
+
autoscaling_metric_specs.target to `80`.
|
1590
|
+
Structure is documented below.
|
1591
|
+
"""
|
1592
|
+
max_replica_count: NotRequired[pulumi.Input[_builtins.int]]
|
1593
|
+
"""
|
1594
|
+
The maximum number of replicas that may be deployed on when the traffic
|
1595
|
+
against it increases. If the requested value is too large, the deployment
|
1596
|
+
will error, but if deployment succeeds then the ability to scale to that
|
1597
|
+
many replicas is guaranteed (barring service outages). If traffic increases
|
1598
|
+
beyond what its replicas at maximum may handle, a portion of the traffic
|
1599
|
+
will be dropped. If this value is not provided, will use
|
1600
|
+
min_replica_count as the default value.
|
1601
|
+
The value of this field impacts the charge against Vertex CPU and GPU
|
1602
|
+
quotas. Specifically, you will be charged for (max_replica_count *
|
1603
|
+
number of cores in the selected machine type) and (max_replica_count *
|
1604
|
+
number of GPUs per replica in the selected machine type).
|
1605
|
+
"""
|
1606
|
+
required_replica_count: NotRequired[pulumi.Input[_builtins.int]]
|
1607
|
+
"""
|
1608
|
+
Number of required available replicas for the deployment to succeed.
|
1609
|
+
This field is only needed when partial deployment/mutation is
|
1610
|
+
desired. If set, the deploy/mutate operation will succeed once
|
1611
|
+
available_replica_count reaches required_replica_count, and the rest of
|
1612
|
+
the replicas will be retried. If not set, the default
|
1613
|
+
required_replica_count will be min_replica_count.
|
1614
|
+
"""
|
1615
|
+
spot: NotRequired[pulumi.Input[_builtins.bool]]
|
1616
|
+
"""
|
1617
|
+
If true, schedule the deployment workload on [spot
|
1618
|
+
VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).
|
1619
|
+
"""
|
1620
|
+
elif False:
|
1621
|
+
AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgsDict: TypeAlias = Mapping[str, Any]
|
1622
|
+
|
1623
|
+
@pulumi.input_type
|
1624
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesArgs:
|
1625
|
+
def __init__(__self__, *,
|
1626
|
+
machine_spec: pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs'],
|
1627
|
+
min_replica_count: pulumi.Input[_builtins.int],
|
1628
|
+
autoscaling_metric_specs: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs']]]] = None,
|
1629
|
+
max_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
1630
|
+
required_replica_count: Optional[pulumi.Input[_builtins.int]] = None,
|
1631
|
+
spot: Optional[pulumi.Input[_builtins.bool]] = None):
|
1632
|
+
"""
|
1633
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs'] machine_spec: Specification of a single machine.
|
1634
|
+
Structure is documented below.
|
1635
|
+
:param pulumi.Input[_builtins.int] min_replica_count: The minimum number of machine replicas that will be always deployed on.
|
1636
|
+
This value must be greater than or equal to 1.
|
1637
|
+
If traffic increases, it may dynamically be deployed onto more replicas,
|
1638
|
+
and as traffic decreases, some of these extra replicas may be freed.
|
1639
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs']]] autoscaling_metric_specs: The metric specifications that overrides a resource
|
1640
|
+
utilization metric (CPU utilization, accelerator's duty cycle, and so on)
|
1641
|
+
target value (default to 60 if not set). At most one entry is allowed per
|
1642
|
+
metric.
|
1643
|
+
If machine_spec.accelerator_count is
|
1644
|
+
above 0, the autoscaling will be based on both CPU utilization and
|
1645
|
+
accelerator's duty cycle metrics and scale up when either metrics exceeds
|
1646
|
+
its target value while scale down if both metrics are under their target
|
1647
|
+
value. The default target value is 60 for both metrics.
|
1648
|
+
If machine_spec.accelerator_count is
|
1649
|
+
0, the autoscaling will be based on CPU utilization metric only with
|
1650
|
+
default target value 60 if not explicitly set.
|
1651
|
+
For example, in the case of Online Prediction, if you want to override
|
1652
|
+
target CPU utilization to 80, you should set
|
1653
|
+
autoscaling_metric_specs.metric_name
|
1654
|
+
to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
|
1655
|
+
autoscaling_metric_specs.target to `80`.
|
1656
|
+
Structure is documented below.
|
1657
|
+
:param pulumi.Input[_builtins.int] max_replica_count: The maximum number of replicas that may be deployed on when the traffic
|
1658
|
+
against it increases. If the requested value is too large, the deployment
|
1659
|
+
will error, but if deployment succeeds then the ability to scale to that
|
1660
|
+
many replicas is guaranteed (barring service outages). If traffic increases
|
1661
|
+
beyond what its replicas at maximum may handle, a portion of the traffic
|
1662
|
+
will be dropped. If this value is not provided, will use
|
1663
|
+
min_replica_count as the default value.
|
1664
|
+
The value of this field impacts the charge against Vertex CPU and GPU
|
1665
|
+
quotas. Specifically, you will be charged for (max_replica_count *
|
1666
|
+
number of cores in the selected machine type) and (max_replica_count *
|
1667
|
+
number of GPUs per replica in the selected machine type).
|
1668
|
+
:param pulumi.Input[_builtins.int] required_replica_count: Number of required available replicas for the deployment to succeed.
|
1669
|
+
This field is only needed when partial deployment/mutation is
|
1670
|
+
desired. If set, the deploy/mutate operation will succeed once
|
1671
|
+
available_replica_count reaches required_replica_count, and the rest of
|
1672
|
+
the replicas will be retried. If not set, the default
|
1673
|
+
required_replica_count will be min_replica_count.
|
1674
|
+
:param pulumi.Input[_builtins.bool] spot: If true, schedule the deployment workload on [spot
|
1675
|
+
VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).
|
1676
|
+
"""
|
1677
|
+
pulumi.set(__self__, "machine_spec", machine_spec)
|
1678
|
+
pulumi.set(__self__, "min_replica_count", min_replica_count)
|
1679
|
+
if autoscaling_metric_specs is not None:
|
1680
|
+
pulumi.set(__self__, "autoscaling_metric_specs", autoscaling_metric_specs)
|
1681
|
+
if max_replica_count is not None:
|
1682
|
+
pulumi.set(__self__, "max_replica_count", max_replica_count)
|
1683
|
+
if required_replica_count is not None:
|
1684
|
+
pulumi.set(__self__, "required_replica_count", required_replica_count)
|
1685
|
+
if spot is not None:
|
1686
|
+
pulumi.set(__self__, "spot", spot)
|
1687
|
+
|
1688
|
+
@_builtins.property
|
1689
|
+
@pulumi.getter(name="machineSpec")
|
1690
|
+
def machine_spec(self) -> pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs']:
|
1691
|
+
"""
|
1692
|
+
Specification of a single machine.
|
1693
|
+
Structure is documented below.
|
1694
|
+
"""
|
1695
|
+
return pulumi.get(self, "machine_spec")
|
1696
|
+
|
1697
|
+
@machine_spec.setter
|
1698
|
+
def machine_spec(self, value: pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs']):
|
1699
|
+
pulumi.set(self, "machine_spec", value)
|
1700
|
+
|
1701
|
+
@_builtins.property
|
1702
|
+
@pulumi.getter(name="minReplicaCount")
|
1703
|
+
def min_replica_count(self) -> pulumi.Input[_builtins.int]:
|
1704
|
+
"""
|
1705
|
+
The minimum number of machine replicas that will be always deployed on.
|
1706
|
+
This value must be greater than or equal to 1.
|
1707
|
+
If traffic increases, it may dynamically be deployed onto more replicas,
|
1708
|
+
and as traffic decreases, some of these extra replicas may be freed.
|
1709
|
+
"""
|
1710
|
+
return pulumi.get(self, "min_replica_count")
|
1711
|
+
|
1712
|
+
@min_replica_count.setter
|
1713
|
+
def min_replica_count(self, value: pulumi.Input[_builtins.int]):
|
1714
|
+
pulumi.set(self, "min_replica_count", value)
|
1715
|
+
|
1716
|
+
@_builtins.property
|
1717
|
+
@pulumi.getter(name="autoscalingMetricSpecs")
|
1718
|
+
def autoscaling_metric_specs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs']]]]:
|
1719
|
+
"""
|
1720
|
+
The metric specifications that overrides a resource
|
1721
|
+
utilization metric (CPU utilization, accelerator's duty cycle, and so on)
|
1722
|
+
target value (default to 60 if not set). At most one entry is allowed per
|
1723
|
+
metric.
|
1724
|
+
If machine_spec.accelerator_count is
|
1725
|
+
above 0, the autoscaling will be based on both CPU utilization and
|
1726
|
+
accelerator's duty cycle metrics and scale up when either metrics exceeds
|
1727
|
+
its target value while scale down if both metrics are under their target
|
1728
|
+
value. The default target value is 60 for both metrics.
|
1729
|
+
If machine_spec.accelerator_count is
|
1730
|
+
0, the autoscaling will be based on CPU utilization metric only with
|
1731
|
+
default target value 60 if not explicitly set.
|
1732
|
+
For example, in the case of Online Prediction, if you want to override
|
1733
|
+
target CPU utilization to 80, you should set
|
1734
|
+
autoscaling_metric_specs.metric_name
|
1735
|
+
to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and
|
1736
|
+
autoscaling_metric_specs.target to `80`.
|
1737
|
+
Structure is documented below.
|
1738
|
+
"""
|
1739
|
+
return pulumi.get(self, "autoscaling_metric_specs")
|
1740
|
+
|
1741
|
+
@autoscaling_metric_specs.setter
|
1742
|
+
def autoscaling_metric_specs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs']]]]):
|
1743
|
+
pulumi.set(self, "autoscaling_metric_specs", value)
|
1744
|
+
|
1745
|
+
@_builtins.property
|
1746
|
+
@pulumi.getter(name="maxReplicaCount")
|
1747
|
+
def max_replica_count(self) -> Optional[pulumi.Input[_builtins.int]]:
|
1748
|
+
"""
|
1749
|
+
The maximum number of replicas that may be deployed on when the traffic
|
1750
|
+
against it increases. If the requested value is too large, the deployment
|
1751
|
+
will error, but if deployment succeeds then the ability to scale to that
|
1752
|
+
many replicas is guaranteed (barring service outages). If traffic increases
|
1753
|
+
beyond what its replicas at maximum may handle, a portion of the traffic
|
1754
|
+
will be dropped. If this value is not provided, will use
|
1755
|
+
min_replica_count as the default value.
|
1756
|
+
The value of this field impacts the charge against Vertex CPU and GPU
|
1757
|
+
quotas. Specifically, you will be charged for (max_replica_count *
|
1758
|
+
number of cores in the selected machine type) and (max_replica_count *
|
1759
|
+
number of GPUs per replica in the selected machine type).
|
1760
|
+
"""
|
1761
|
+
return pulumi.get(self, "max_replica_count")
|
1762
|
+
|
1763
|
+
@max_replica_count.setter
|
1764
|
+
def max_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
1765
|
+
pulumi.set(self, "max_replica_count", value)
|
1766
|
+
|
1767
|
+
@_builtins.property
|
1768
|
+
@pulumi.getter(name="requiredReplicaCount")
|
1769
|
+
def required_replica_count(self) -> Optional[pulumi.Input[_builtins.int]]:
|
1770
|
+
"""
|
1771
|
+
Number of required available replicas for the deployment to succeed.
|
1772
|
+
This field is only needed when partial deployment/mutation is
|
1773
|
+
desired. If set, the deploy/mutate operation will succeed once
|
1774
|
+
available_replica_count reaches required_replica_count, and the rest of
|
1775
|
+
the replicas will be retried. If not set, the default
|
1776
|
+
required_replica_count will be min_replica_count.
|
1777
|
+
"""
|
1778
|
+
return pulumi.get(self, "required_replica_count")
|
1779
|
+
|
1780
|
+
@required_replica_count.setter
|
1781
|
+
def required_replica_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
1782
|
+
pulumi.set(self, "required_replica_count", value)
|
1783
|
+
|
1784
|
+
@_builtins.property
|
1785
|
+
@pulumi.getter
|
1786
|
+
def spot(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
1787
|
+
"""
|
1788
|
+
If true, schedule the deployment workload on [spot
|
1789
|
+
VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).
|
1790
|
+
"""
|
1791
|
+
return pulumi.get(self, "spot")
|
1792
|
+
|
1793
|
+
@spot.setter
|
1794
|
+
def spot(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
1795
|
+
pulumi.set(self, "spot", value)
|
1796
|
+
|
1797
|
+
|
1798
|
+
if not MYPY:
|
1799
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgsDict(TypedDict):
|
1800
|
+
metric_name: pulumi.Input[_builtins.str]
|
1801
|
+
"""
|
1802
|
+
The resource metric name.
|
1803
|
+
Supported metrics:
|
1804
|
+
* For Online Prediction:
|
1805
|
+
* `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle`
|
1806
|
+
* `aiplatform.googleapis.com/prediction/online/cpu/utilization`
|
1807
|
+
"""
|
1808
|
+
target: NotRequired[pulumi.Input[_builtins.int]]
|
1809
|
+
"""
|
1810
|
+
The target resource utilization in percentage (1% - 100%) for the given
|
1811
|
+
metric; once the real usage deviates from the target by a certain
|
1812
|
+
percentage, the machine replicas change. The default value is 60
|
1813
|
+
(representing 60%) if not provided.
|
1814
|
+
"""
|
1815
|
+
elif False:
|
1816
|
+
AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgsDict: TypeAlias = Mapping[str, Any]
|
1817
|
+
|
1818
|
+
@pulumi.input_type
|
1819
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesAutoscalingMetricSpecArgs:
|
1820
|
+
def __init__(__self__, *,
|
1821
|
+
metric_name: pulumi.Input[_builtins.str],
|
1822
|
+
target: Optional[pulumi.Input[_builtins.int]] = None):
|
1823
|
+
"""
|
1824
|
+
:param pulumi.Input[_builtins.str] metric_name: The resource metric name.
|
1825
|
+
Supported metrics:
|
1826
|
+
* For Online Prediction:
|
1827
|
+
* `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle`
|
1828
|
+
* `aiplatform.googleapis.com/prediction/online/cpu/utilization`
|
1829
|
+
:param pulumi.Input[_builtins.int] target: The target resource utilization in percentage (1% - 100%) for the given
|
1830
|
+
metric; once the real usage deviates from the target by a certain
|
1831
|
+
percentage, the machine replicas change. The default value is 60
|
1832
|
+
(representing 60%) if not provided.
|
1833
|
+
"""
|
1834
|
+
pulumi.set(__self__, "metric_name", metric_name)
|
1835
|
+
if target is not None:
|
1836
|
+
pulumi.set(__self__, "target", target)
|
1837
|
+
|
1838
|
+
@_builtins.property
|
1839
|
+
@pulumi.getter(name="metricName")
|
1840
|
+
def metric_name(self) -> pulumi.Input[_builtins.str]:
|
1841
|
+
"""
|
1842
|
+
The resource metric name.
|
1843
|
+
Supported metrics:
|
1844
|
+
* For Online Prediction:
|
1845
|
+
* `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle`
|
1846
|
+
* `aiplatform.googleapis.com/prediction/online/cpu/utilization`
|
1847
|
+
"""
|
1848
|
+
return pulumi.get(self, "metric_name")
|
1849
|
+
|
1850
|
+
@metric_name.setter
|
1851
|
+
def metric_name(self, value: pulumi.Input[_builtins.str]):
|
1852
|
+
pulumi.set(self, "metric_name", value)
|
1853
|
+
|
1854
|
+
@_builtins.property
|
1855
|
+
@pulumi.getter
|
1856
|
+
def target(self) -> Optional[pulumi.Input[_builtins.int]]:
|
1857
|
+
"""
|
1858
|
+
The target resource utilization in percentage (1% - 100%) for the given
|
1859
|
+
metric; once the real usage deviates from the target by a certain
|
1860
|
+
percentage, the machine replicas change. The default value is 60
|
1861
|
+
(representing 60%) if not provided.
|
1862
|
+
"""
|
1863
|
+
return pulumi.get(self, "target")
|
1864
|
+
|
1865
|
+
@target.setter
|
1866
|
+
def target(self, value: Optional[pulumi.Input[_builtins.int]]):
|
1867
|
+
pulumi.set(self, "target", value)
|
1868
|
+
|
1869
|
+
|
1870
|
+
if not MYPY:
|
1871
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgsDict(TypedDict):
|
1872
|
+
accelerator_count: NotRequired[pulumi.Input[_builtins.int]]
|
1873
|
+
"""
|
1874
|
+
The number of accelerators to attach to the machine.
|
1875
|
+
"""
|
1876
|
+
accelerator_type: NotRequired[pulumi.Input[_builtins.str]]
|
1877
|
+
"""
|
1878
|
+
Possible values:
|
1879
|
+
ACCELERATOR_TYPE_UNSPECIFIED
|
1880
|
+
NVIDIA_TESLA_K80
|
1881
|
+
NVIDIA_TESLA_P100
|
1882
|
+
NVIDIA_TESLA_V100
|
1883
|
+
NVIDIA_TESLA_P4
|
1884
|
+
NVIDIA_TESLA_T4
|
1885
|
+
NVIDIA_TESLA_A100
|
1886
|
+
NVIDIA_A100_80GB
|
1887
|
+
NVIDIA_L4
|
1888
|
+
NVIDIA_H100_80GB
|
1889
|
+
NVIDIA_H100_MEGA_80GB
|
1890
|
+
NVIDIA_H200_141GB
|
1891
|
+
NVIDIA_B200
|
1892
|
+
TPU_V2
|
1893
|
+
TPU_V3
|
1894
|
+
TPU_V4_POD
|
1895
|
+
TPU_V5_LITEPOD
|
1896
|
+
"""
|
1897
|
+
machine_type: NotRequired[pulumi.Input[_builtins.str]]
|
1898
|
+
"""
|
1899
|
+
The type of the machine.
|
1900
|
+
See the [list of machine types supported for
|
1901
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
|
1902
|
+
See the [list of machine types supported for custom
|
1903
|
+
training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
|
1904
|
+
For DeployedModel this field is optional, and the default
|
1905
|
+
value is `n1-standard-2`. For BatchPredictionJob or as part of
|
1906
|
+
WorkerPoolSpec this field is required.
|
1907
|
+
"""
|
1908
|
+
multihost_gpu_node_count: NotRequired[pulumi.Input[_builtins.int]]
|
1909
|
+
"""
|
1910
|
+
The number of nodes per replica for multihost GPU deployments.
|
1911
|
+
"""
|
1912
|
+
reservation_affinity: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgsDict']]
|
1913
|
+
"""
|
1914
|
+
A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a
|
1915
|
+
DeployedModel) to draw its Compute Engine resources from a Shared
|
1916
|
+
Reservation, or exclusively from on-demand capacity.
|
1917
|
+
Structure is documented below.
|
1918
|
+
"""
|
1919
|
+
tpu_topology: NotRequired[pulumi.Input[_builtins.str]]
|
1920
|
+
"""
|
1921
|
+
The topology of the TPUs. Corresponds to the TPU topologies available from
|
1922
|
+
GKE. (Example: tpu_topology: "2x2x1").
|
1923
|
+
"""
|
1924
|
+
elif False:
|
1925
|
+
AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgsDict: TypeAlias = Mapping[str, Any]
|
1926
|
+
|
1927
|
+
@pulumi.input_type
|
1928
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecArgs:
|
1929
|
+
def __init__(__self__, *,
|
1930
|
+
accelerator_count: Optional[pulumi.Input[_builtins.int]] = None,
|
1931
|
+
accelerator_type: Optional[pulumi.Input[_builtins.str]] = None,
|
1932
|
+
machine_type: Optional[pulumi.Input[_builtins.str]] = None,
|
1933
|
+
multihost_gpu_node_count: Optional[pulumi.Input[_builtins.int]] = None,
|
1934
|
+
reservation_affinity: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs']] = None,
|
1935
|
+
tpu_topology: Optional[pulumi.Input[_builtins.str]] = None):
|
1936
|
+
"""
|
1937
|
+
:param pulumi.Input[_builtins.int] accelerator_count: The number of accelerators to attach to the machine.
|
1938
|
+
:param pulumi.Input[_builtins.str] accelerator_type: Possible values:
|
1939
|
+
ACCELERATOR_TYPE_UNSPECIFIED
|
1940
|
+
NVIDIA_TESLA_K80
|
1941
|
+
NVIDIA_TESLA_P100
|
1942
|
+
NVIDIA_TESLA_V100
|
1943
|
+
NVIDIA_TESLA_P4
|
1944
|
+
NVIDIA_TESLA_T4
|
1945
|
+
NVIDIA_TESLA_A100
|
1946
|
+
NVIDIA_A100_80GB
|
1947
|
+
NVIDIA_L4
|
1948
|
+
NVIDIA_H100_80GB
|
1949
|
+
NVIDIA_H100_MEGA_80GB
|
1950
|
+
NVIDIA_H200_141GB
|
1951
|
+
NVIDIA_B200
|
1952
|
+
TPU_V2
|
1953
|
+
TPU_V3
|
1954
|
+
TPU_V4_POD
|
1955
|
+
TPU_V5_LITEPOD
|
1956
|
+
:param pulumi.Input[_builtins.str] machine_type: The type of the machine.
|
1957
|
+
See the [list of machine types supported for
|
1958
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
|
1959
|
+
See the [list of machine types supported for custom
|
1960
|
+
training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
|
1961
|
+
For DeployedModel this field is optional, and the default
|
1962
|
+
value is `n1-standard-2`. For BatchPredictionJob or as part of
|
1963
|
+
WorkerPoolSpec this field is required.
|
1964
|
+
:param pulumi.Input[_builtins.int] multihost_gpu_node_count: The number of nodes per replica for multihost GPU deployments.
|
1965
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs'] reservation_affinity: A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a
|
1966
|
+
DeployedModel) to draw its Compute Engine resources from a Shared
|
1967
|
+
Reservation, or exclusively from on-demand capacity.
|
1968
|
+
Structure is documented below.
|
1969
|
+
:param pulumi.Input[_builtins.str] tpu_topology: The topology of the TPUs. Corresponds to the TPU topologies available from
|
1970
|
+
GKE. (Example: tpu_topology: "2x2x1").
|
1971
|
+
"""
|
1972
|
+
if accelerator_count is not None:
|
1973
|
+
pulumi.set(__self__, "accelerator_count", accelerator_count)
|
1974
|
+
if accelerator_type is not None:
|
1975
|
+
pulumi.set(__self__, "accelerator_type", accelerator_type)
|
1976
|
+
if machine_type is not None:
|
1977
|
+
pulumi.set(__self__, "machine_type", machine_type)
|
1978
|
+
if multihost_gpu_node_count is not None:
|
1979
|
+
pulumi.set(__self__, "multihost_gpu_node_count", multihost_gpu_node_count)
|
1980
|
+
if reservation_affinity is not None:
|
1981
|
+
pulumi.set(__self__, "reservation_affinity", reservation_affinity)
|
1982
|
+
if tpu_topology is not None:
|
1983
|
+
pulumi.set(__self__, "tpu_topology", tpu_topology)
|
1984
|
+
|
1985
|
+
@_builtins.property
|
1986
|
+
@pulumi.getter(name="acceleratorCount")
|
1987
|
+
def accelerator_count(self) -> Optional[pulumi.Input[_builtins.int]]:
|
1988
|
+
"""
|
1989
|
+
The number of accelerators to attach to the machine.
|
1990
|
+
"""
|
1991
|
+
return pulumi.get(self, "accelerator_count")
|
1992
|
+
|
1993
|
+
@accelerator_count.setter
|
1994
|
+
def accelerator_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
1995
|
+
pulumi.set(self, "accelerator_count", value)
|
1996
|
+
|
1997
|
+
@_builtins.property
|
1998
|
+
@pulumi.getter(name="acceleratorType")
|
1999
|
+
def accelerator_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2000
|
+
"""
|
2001
|
+
Possible values:
|
2002
|
+
ACCELERATOR_TYPE_UNSPECIFIED
|
2003
|
+
NVIDIA_TESLA_K80
|
2004
|
+
NVIDIA_TESLA_P100
|
2005
|
+
NVIDIA_TESLA_V100
|
2006
|
+
NVIDIA_TESLA_P4
|
2007
|
+
NVIDIA_TESLA_T4
|
2008
|
+
NVIDIA_TESLA_A100
|
2009
|
+
NVIDIA_A100_80GB
|
2010
|
+
NVIDIA_L4
|
2011
|
+
NVIDIA_H100_80GB
|
2012
|
+
NVIDIA_H100_MEGA_80GB
|
2013
|
+
NVIDIA_H200_141GB
|
2014
|
+
NVIDIA_B200
|
2015
|
+
TPU_V2
|
2016
|
+
TPU_V3
|
2017
|
+
TPU_V4_POD
|
2018
|
+
TPU_V5_LITEPOD
|
2019
|
+
"""
|
2020
|
+
return pulumi.get(self, "accelerator_type")
|
2021
|
+
|
2022
|
+
@accelerator_type.setter
|
2023
|
+
def accelerator_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2024
|
+
pulumi.set(self, "accelerator_type", value)
|
2025
|
+
|
2026
|
+
@_builtins.property
|
2027
|
+
@pulumi.getter(name="machineType")
|
2028
|
+
def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2029
|
+
"""
|
2030
|
+
The type of the machine.
|
2031
|
+
See the [list of machine types supported for
|
2032
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
|
2033
|
+
See the [list of machine types supported for custom
|
2034
|
+
training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
|
2035
|
+
For DeployedModel this field is optional, and the default
|
2036
|
+
value is `n1-standard-2`. For BatchPredictionJob or as part of
|
2037
|
+
WorkerPoolSpec this field is required.
|
2038
|
+
"""
|
2039
|
+
return pulumi.get(self, "machine_type")
|
2040
|
+
|
2041
|
+
@machine_type.setter
|
2042
|
+
def machine_type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2043
|
+
pulumi.set(self, "machine_type", value)
|
2044
|
+
|
2045
|
+
@_builtins.property
|
2046
|
+
@pulumi.getter(name="multihostGpuNodeCount")
|
2047
|
+
def multihost_gpu_node_count(self) -> Optional[pulumi.Input[_builtins.int]]:
|
2048
|
+
"""
|
2049
|
+
The number of nodes per replica for multihost GPU deployments.
|
2050
|
+
"""
|
2051
|
+
return pulumi.get(self, "multihost_gpu_node_count")
|
2052
|
+
|
2053
|
+
@multihost_gpu_node_count.setter
|
2054
|
+
def multihost_gpu_node_count(self, value: Optional[pulumi.Input[_builtins.int]]):
|
2055
|
+
pulumi.set(self, "multihost_gpu_node_count", value)
|
2056
|
+
|
2057
|
+
@_builtins.property
|
2058
|
+
@pulumi.getter(name="reservationAffinity")
|
2059
|
+
def reservation_affinity(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs']]:
|
2060
|
+
"""
|
2061
|
+
A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a
|
2062
|
+
DeployedModel) to draw its Compute Engine resources from a Shared
|
2063
|
+
Reservation, or exclusively from on-demand capacity.
|
2064
|
+
Structure is documented below.
|
2065
|
+
"""
|
2066
|
+
return pulumi.get(self, "reservation_affinity")
|
2067
|
+
|
2068
|
+
@reservation_affinity.setter
|
2069
|
+
def reservation_affinity(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs']]):
|
2070
|
+
pulumi.set(self, "reservation_affinity", value)
|
2071
|
+
|
2072
|
+
@_builtins.property
|
2073
|
+
@pulumi.getter(name="tpuTopology")
|
2074
|
+
def tpu_topology(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2075
|
+
"""
|
2076
|
+
The topology of the TPUs. Corresponds to the TPU topologies available from
|
2077
|
+
GKE. (Example: tpu_topology: "2x2x1").
|
2078
|
+
"""
|
2079
|
+
return pulumi.get(self, "tpu_topology")
|
2080
|
+
|
2081
|
+
@tpu_topology.setter
|
2082
|
+
def tpu_topology(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2083
|
+
pulumi.set(self, "tpu_topology", value)
|
2084
|
+
|
2085
|
+
|
2086
|
+
if not MYPY:
|
2087
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgsDict(TypedDict):
|
2088
|
+
reservation_affinity_type: pulumi.Input[_builtins.str]
|
2089
|
+
"""
|
2090
|
+
Specifies the reservation affinity type.
|
2091
|
+
Possible values:
|
2092
|
+
TYPE_UNSPECIFIED
|
2093
|
+
NO_RESERVATION
|
2094
|
+
ANY_RESERVATION
|
2095
|
+
SPECIFIC_RESERVATION
|
2096
|
+
"""
|
2097
|
+
key: NotRequired[pulumi.Input[_builtins.str]]
|
2098
|
+
"""
|
2099
|
+
Corresponds to the label key of a reservation resource. To target a
|
2100
|
+
SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name`
|
2101
|
+
as the key and specify the name of your reservation as its value.
|
2102
|
+
"""
|
2103
|
+
values: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
2104
|
+
"""
|
2105
|
+
Corresponds to the label values of a reservation resource. This must be the
|
2106
|
+
full resource name of the reservation or reservation block.
|
2107
|
+
"""
|
2108
|
+
elif False:
|
2109
|
+
AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgsDict: TypeAlias = Mapping[str, Any]
|
2110
|
+
|
2111
|
+
@pulumi.input_type
|
2112
|
+
class AiEndpointWithModelGardenDeploymentDeployConfigDedicatedResourcesMachineSpecReservationAffinityArgs:
|
2113
|
+
def __init__(__self__, *,
|
2114
|
+
reservation_affinity_type: pulumi.Input[_builtins.str],
|
2115
|
+
key: Optional[pulumi.Input[_builtins.str]] = None,
|
2116
|
+
values: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
2117
|
+
"""
|
2118
|
+
:param pulumi.Input[_builtins.str] reservation_affinity_type: Specifies the reservation affinity type.
|
2119
|
+
Possible values:
|
2120
|
+
TYPE_UNSPECIFIED
|
2121
|
+
NO_RESERVATION
|
2122
|
+
ANY_RESERVATION
|
2123
|
+
SPECIFIC_RESERVATION
|
2124
|
+
:param pulumi.Input[_builtins.str] key: Corresponds to the label key of a reservation resource. To target a
|
2125
|
+
SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name`
|
2126
|
+
as the key and specify the name of your reservation as its value.
|
2127
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] values: Corresponds to the label values of a reservation resource. This must be the
|
2128
|
+
full resource name of the reservation or reservation block.
|
2129
|
+
"""
|
2130
|
+
pulumi.set(__self__, "reservation_affinity_type", reservation_affinity_type)
|
2131
|
+
if key is not None:
|
2132
|
+
pulumi.set(__self__, "key", key)
|
2133
|
+
if values is not None:
|
2134
|
+
pulumi.set(__self__, "values", values)
|
2135
|
+
|
2136
|
+
@_builtins.property
|
2137
|
+
@pulumi.getter(name="reservationAffinityType")
|
2138
|
+
def reservation_affinity_type(self) -> pulumi.Input[_builtins.str]:
|
2139
|
+
"""
|
2140
|
+
Specifies the reservation affinity type.
|
2141
|
+
Possible values:
|
2142
|
+
TYPE_UNSPECIFIED
|
2143
|
+
NO_RESERVATION
|
2144
|
+
ANY_RESERVATION
|
2145
|
+
SPECIFIC_RESERVATION
|
2146
|
+
"""
|
2147
|
+
return pulumi.get(self, "reservation_affinity_type")
|
2148
|
+
|
2149
|
+
@reservation_affinity_type.setter
|
2150
|
+
def reservation_affinity_type(self, value: pulumi.Input[_builtins.str]):
|
2151
|
+
pulumi.set(self, "reservation_affinity_type", value)
|
2152
|
+
|
2153
|
+
@_builtins.property
|
2154
|
+
@pulumi.getter
|
2155
|
+
def key(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2156
|
+
"""
|
2157
|
+
Corresponds to the label key of a reservation resource. To target a
|
2158
|
+
SPECIFIC_RESERVATION by name, use `compute.googleapis.com/reservation-name`
|
2159
|
+
as the key and specify the name of your reservation as its value.
|
2160
|
+
"""
|
2161
|
+
return pulumi.get(self, "key")
|
2162
|
+
|
2163
|
+
@key.setter
|
2164
|
+
def key(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2165
|
+
pulumi.set(self, "key", value)
|
2166
|
+
|
2167
|
+
@_builtins.property
|
2168
|
+
@pulumi.getter
|
2169
|
+
def values(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
2170
|
+
"""
|
2171
|
+
Corresponds to the label values of a reservation resource. This must be the
|
2172
|
+
full resource name of the reservation or reservation block.
|
2173
|
+
"""
|
2174
|
+
return pulumi.get(self, "values")
|
2175
|
+
|
2176
|
+
@values.setter
|
2177
|
+
def values(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
2178
|
+
pulumi.set(self, "values", value)
|
2179
|
+
|
2180
|
+
|
2181
|
+
if not MYPY:
|
2182
|
+
class AiEndpointWithModelGardenDeploymentEndpointConfigArgsDict(TypedDict):
|
2183
|
+
dedicated_endpoint_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
2184
|
+
"""
|
2185
|
+
If true, the endpoint will be exposed through a dedicated
|
2186
|
+
DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS
|
2187
|
+
will be isolated from other users' traffic and will have better
|
2188
|
+
performance and reliability. Note: Once you enabled dedicated endpoint,
|
2189
|
+
you won't be able to send request to the shared DNS
|
2190
|
+
{region}-aiplatform.googleapis.com. The limitations will be removed soon.
|
2191
|
+
"""
|
2192
|
+
endpoint_display_name: NotRequired[pulumi.Input[_builtins.str]]
|
2193
|
+
"""
|
2194
|
+
The user-specified display name of the endpoint. If not set, a
|
2195
|
+
default name will be used.
|
2196
|
+
"""
|
2197
|
+
elif False:
|
2198
|
+
AiEndpointWithModelGardenDeploymentEndpointConfigArgsDict: TypeAlias = Mapping[str, Any]
|
2199
|
+
|
2200
|
+
@pulumi.input_type
|
2201
|
+
class AiEndpointWithModelGardenDeploymentEndpointConfigArgs:
|
2202
|
+
def __init__(__self__, *,
|
2203
|
+
dedicated_endpoint_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
2204
|
+
endpoint_display_name: Optional[pulumi.Input[_builtins.str]] = None):
|
2205
|
+
"""
|
2206
|
+
:param pulumi.Input[_builtins.bool] dedicated_endpoint_enabled: If true, the endpoint will be exposed through a dedicated
|
2207
|
+
DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS
|
2208
|
+
will be isolated from other users' traffic and will have better
|
2209
|
+
performance and reliability. Note: Once you enabled dedicated endpoint,
|
2210
|
+
you won't be able to send request to the shared DNS
|
2211
|
+
{region}-aiplatform.googleapis.com. The limitations will be removed soon.
|
2212
|
+
:param pulumi.Input[_builtins.str] endpoint_display_name: The user-specified display name of the endpoint. If not set, a
|
2213
|
+
default name will be used.
|
2214
|
+
"""
|
2215
|
+
if dedicated_endpoint_enabled is not None:
|
2216
|
+
pulumi.set(__self__, "dedicated_endpoint_enabled", dedicated_endpoint_enabled)
|
2217
|
+
if endpoint_display_name is not None:
|
2218
|
+
pulumi.set(__self__, "endpoint_display_name", endpoint_display_name)
|
2219
|
+
|
2220
|
+
@_builtins.property
|
2221
|
+
@pulumi.getter(name="dedicatedEndpointEnabled")
|
2222
|
+
def dedicated_endpoint_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
2223
|
+
"""
|
2224
|
+
If true, the endpoint will be exposed through a dedicated
|
2225
|
+
DNS [Endpoint.dedicated_endpoint_dns]. Your request to the dedicated DNS
|
2226
|
+
will be isolated from other users' traffic and will have better
|
2227
|
+
performance and reliability. Note: Once you enabled dedicated endpoint,
|
2228
|
+
you won't be able to send request to the shared DNS
|
2229
|
+
{region}-aiplatform.googleapis.com. The limitations will be removed soon.
|
2230
|
+
"""
|
2231
|
+
return pulumi.get(self, "dedicated_endpoint_enabled")
|
2232
|
+
|
2233
|
+
@dedicated_endpoint_enabled.setter
|
2234
|
+
def dedicated_endpoint_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
2235
|
+
pulumi.set(self, "dedicated_endpoint_enabled", value)
|
2236
|
+
|
2237
|
+
@_builtins.property
|
2238
|
+
@pulumi.getter(name="endpointDisplayName")
|
2239
|
+
def endpoint_display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2240
|
+
"""
|
2241
|
+
The user-specified display name of the endpoint. If not set, a
|
2242
|
+
default name will be used.
|
2243
|
+
"""
|
2244
|
+
return pulumi.get(self, "endpoint_display_name")
|
2245
|
+
|
2246
|
+
@endpoint_display_name.setter
|
2247
|
+
def endpoint_display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2248
|
+
pulumi.set(self, "endpoint_display_name", value)
|
2249
|
+
|
2250
|
+
|
2251
|
+
if not MYPY:
|
2252
|
+
class AiEndpointWithModelGardenDeploymentModelConfigArgsDict(TypedDict):
|
2253
|
+
accept_eula: NotRequired[pulumi.Input[_builtins.bool]]
|
2254
|
+
"""
|
2255
|
+
Whether the user accepts the End User License Agreement (EULA)
|
2256
|
+
for the model.
|
2257
|
+
"""
|
2258
|
+
container_spec: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgsDict']]
|
2259
|
+
"""
|
2260
|
+
Specification of a container for serving predictions. Some fields in this
|
2261
|
+
message correspond to fields in the [Kubernetes Container v1 core
|
2262
|
+
specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2263
|
+
Structure is documented below.
|
2264
|
+
"""
|
2265
|
+
hugging_face_access_token: NotRequired[pulumi.Input[_builtins.str]]
|
2266
|
+
"""
|
2267
|
+
The Hugging Face read access token used to access the model
|
2268
|
+
artifacts of gated models.
|
2269
|
+
"""
|
2270
|
+
hugging_face_cache_enabled: NotRequired[pulumi.Input[_builtins.bool]]
|
2271
|
+
"""
|
2272
|
+
If true, the model will deploy with a cached version instead of directly
|
2273
|
+
downloading the model artifacts from Hugging Face. This is suitable for
|
2274
|
+
VPC-SC users with limited internet access.
|
2275
|
+
"""
|
2276
|
+
model_display_name: NotRequired[pulumi.Input[_builtins.str]]
|
2277
|
+
"""
|
2278
|
+
The user-specified display name of the uploaded model. If not
|
2279
|
+
set, a default name will be used.
|
2280
|
+
"""
|
2281
|
+
elif False:
|
2282
|
+
AiEndpointWithModelGardenDeploymentModelConfigArgsDict: TypeAlias = Mapping[str, Any]
|
2283
|
+
|
2284
|
+
@pulumi.input_type
|
2285
|
+
class AiEndpointWithModelGardenDeploymentModelConfigArgs:
|
2286
|
+
def __init__(__self__, *,
|
2287
|
+
accept_eula: Optional[pulumi.Input[_builtins.bool]] = None,
|
2288
|
+
container_spec: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs']] = None,
|
2289
|
+
hugging_face_access_token: Optional[pulumi.Input[_builtins.str]] = None,
|
2290
|
+
hugging_face_cache_enabled: Optional[pulumi.Input[_builtins.bool]] = None,
|
2291
|
+
model_display_name: Optional[pulumi.Input[_builtins.str]] = None):
|
2292
|
+
"""
|
2293
|
+
:param pulumi.Input[_builtins.bool] accept_eula: Whether the user accepts the End User License Agreement (EULA)
|
2294
|
+
for the model.
|
2295
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs'] container_spec: Specification of a container for serving predictions. Some fields in this
|
2296
|
+
message correspond to fields in the [Kubernetes Container v1 core
|
2297
|
+
specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2298
|
+
Structure is documented below.
|
2299
|
+
:param pulumi.Input[_builtins.str] hugging_face_access_token: The Hugging Face read access token used to access the model
|
2300
|
+
artifacts of gated models.
|
2301
|
+
:param pulumi.Input[_builtins.bool] hugging_face_cache_enabled: If true, the model will deploy with a cached version instead of directly
|
2302
|
+
downloading the model artifacts from Hugging Face. This is suitable for
|
2303
|
+
VPC-SC users with limited internet access.
|
2304
|
+
:param pulumi.Input[_builtins.str] model_display_name: The user-specified display name of the uploaded model. If not
|
2305
|
+
set, a default name will be used.
|
2306
|
+
"""
|
2307
|
+
if accept_eula is not None:
|
2308
|
+
pulumi.set(__self__, "accept_eula", accept_eula)
|
2309
|
+
if container_spec is not None:
|
2310
|
+
pulumi.set(__self__, "container_spec", container_spec)
|
2311
|
+
if hugging_face_access_token is not None:
|
2312
|
+
pulumi.set(__self__, "hugging_face_access_token", hugging_face_access_token)
|
2313
|
+
if hugging_face_cache_enabled is not None:
|
2314
|
+
pulumi.set(__self__, "hugging_face_cache_enabled", hugging_face_cache_enabled)
|
2315
|
+
if model_display_name is not None:
|
2316
|
+
pulumi.set(__self__, "model_display_name", model_display_name)
|
2317
|
+
|
2318
|
+
@_builtins.property
|
2319
|
+
@pulumi.getter(name="acceptEula")
|
2320
|
+
def accept_eula(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
2321
|
+
"""
|
2322
|
+
Whether the user accepts the End User License Agreement (EULA)
|
2323
|
+
for the model.
|
2324
|
+
"""
|
2325
|
+
return pulumi.get(self, "accept_eula")
|
2326
|
+
|
2327
|
+
@accept_eula.setter
|
2328
|
+
def accept_eula(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
2329
|
+
pulumi.set(self, "accept_eula", value)
|
2330
|
+
|
2331
|
+
@_builtins.property
|
2332
|
+
@pulumi.getter(name="containerSpec")
|
2333
|
+
def container_spec(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs']]:
|
2334
|
+
"""
|
2335
|
+
Specification of a container for serving predictions. Some fields in this
|
2336
|
+
message correspond to fields in the [Kubernetes Container v1 core
|
2337
|
+
specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2338
|
+
Structure is documented below.
|
2339
|
+
"""
|
2340
|
+
return pulumi.get(self, "container_spec")
|
2341
|
+
|
2342
|
+
@container_spec.setter
|
2343
|
+
def container_spec(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs']]):
|
2344
|
+
pulumi.set(self, "container_spec", value)
|
2345
|
+
|
2346
|
+
@_builtins.property
|
2347
|
+
@pulumi.getter(name="huggingFaceAccessToken")
|
2348
|
+
def hugging_face_access_token(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2349
|
+
"""
|
2350
|
+
The Hugging Face read access token used to access the model
|
2351
|
+
artifacts of gated models.
|
2352
|
+
"""
|
2353
|
+
return pulumi.get(self, "hugging_face_access_token")
|
2354
|
+
|
2355
|
+
@hugging_face_access_token.setter
|
2356
|
+
def hugging_face_access_token(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2357
|
+
pulumi.set(self, "hugging_face_access_token", value)
|
2358
|
+
|
2359
|
+
@_builtins.property
|
2360
|
+
@pulumi.getter(name="huggingFaceCacheEnabled")
|
2361
|
+
def hugging_face_cache_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
2362
|
+
"""
|
2363
|
+
If true, the model will deploy with a cached version instead of directly
|
2364
|
+
downloading the model artifacts from Hugging Face. This is suitable for
|
2365
|
+
VPC-SC users with limited internet access.
|
2366
|
+
"""
|
2367
|
+
return pulumi.get(self, "hugging_face_cache_enabled")
|
2368
|
+
|
2369
|
+
@hugging_face_cache_enabled.setter
|
2370
|
+
def hugging_face_cache_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
2371
|
+
pulumi.set(self, "hugging_face_cache_enabled", value)
|
2372
|
+
|
2373
|
+
@_builtins.property
|
2374
|
+
@pulumi.getter(name="modelDisplayName")
|
2375
|
+
def model_display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2376
|
+
"""
|
2377
|
+
The user-specified display name of the uploaded model. If not
|
2378
|
+
set, a default name will be used.
|
2379
|
+
"""
|
2380
|
+
return pulumi.get(self, "model_display_name")
|
2381
|
+
|
2382
|
+
@model_display_name.setter
|
2383
|
+
def model_display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2384
|
+
pulumi.set(self, "model_display_name", value)
|
2385
|
+
|
2386
|
+
|
2387
|
+
if not MYPY:
|
2388
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgsDict(TypedDict):
|
2389
|
+
image_uri: pulumi.Input[_builtins.str]
|
2390
|
+
"""
|
2391
|
+
URI of the Docker image to be used as the custom container for serving
|
2392
|
+
predictions. This URI must identify an image in Artifact Registry or
|
2393
|
+
Container Registry. Learn more about the [container publishing
|
2394
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing),
|
2395
|
+
including permissions requirements for the Vertex AI Service Agent.
|
2396
|
+
The container image is ingested upon ModelService.UploadModel, stored
|
2397
|
+
internally, and this original path is afterwards not used.
|
2398
|
+
To learn about the requirements for the Docker image itself, see
|
2399
|
+
[Custom container
|
2400
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#).
|
2401
|
+
You can use the URI to one of Vertex AI's [pre-built container images for
|
2402
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers)
|
2403
|
+
in this field.
|
2404
|
+
"""
|
2405
|
+
args: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
2406
|
+
"""
|
2407
|
+
Specifies arguments for the command that runs when the container starts.
|
2408
|
+
This overrides the container's
|
2409
|
+
[`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify
|
2410
|
+
this field as an array of executable and arguments, similar to a Docker
|
2411
|
+
`CMD`'s "default parameters" form.
|
2412
|
+
If you don't specify this field but do specify the
|
2413
|
+
command field, then the command from the
|
2414
|
+
`command` field runs without any additional arguments. See the
|
2415
|
+
[Kubernetes documentation about how the
|
2416
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2417
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2418
|
+
If you don't specify this field and don't specify the `command` field,
|
2419
|
+
then the container's
|
2420
|
+
[`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and
|
2421
|
+
`CMD` determine what runs based on their default behavior. See the Docker
|
2422
|
+
documentation about [how `CMD` and `ENTRYPOINT`
|
2423
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2424
|
+
In this field, you can reference [environment variables
|
2425
|
+
set by Vertex
|
2426
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2427
|
+
and environment variables set in the env field.
|
2428
|
+
You cannot reference environment variables set in the Docker image. In
|
2429
|
+
order for environment variables to be expanded, reference them by using the
|
2430
|
+
following syntax:$(VARIABLE_NAME)
|
2431
|
+
Note that this differs from Bash variable expansion, which does not use
|
2432
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2433
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2434
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2435
|
+
This field corresponds to the `args` field of the Kubernetes Containers
|
2436
|
+
[v1 core
|
2437
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2438
|
+
"""
|
2439
|
+
commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
2440
|
+
"""
|
2441
|
+
Specifies the command that runs when the container starts. This overrides
|
2442
|
+
the container's
|
2443
|
+
[ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint).
|
2444
|
+
Specify this field as an array of executable and arguments, similar to a
|
2445
|
+
Docker `ENTRYPOINT`'s "exec" form, not its "shell" form.
|
2446
|
+
If you do not specify this field, then the container's `ENTRYPOINT` runs,
|
2447
|
+
in conjunction with the args field or the
|
2448
|
+
container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd),
|
2449
|
+
if either exists. If this field is not specified and the container does not
|
2450
|
+
have an `ENTRYPOINT`, then refer to the Docker documentation about [how
|
2451
|
+
`CMD` and `ENTRYPOINT`
|
2452
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2453
|
+
If you specify this field, then you can also specify the `args` field to
|
2454
|
+
provide additional arguments for this command. However, if you specify this
|
2455
|
+
field, then the container's `CMD` is ignored. See the
|
2456
|
+
[Kubernetes documentation about how the
|
2457
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2458
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2459
|
+
In this field, you can reference [environment variables set by Vertex
|
2460
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2461
|
+
and environment variables set in the env field.
|
2462
|
+
You cannot reference environment variables set in the Docker image. In
|
2463
|
+
order for environment variables to be expanded, reference them by using the
|
2464
|
+
following syntax:$(VARIABLE_NAME)
|
2465
|
+
Note that this differs from Bash variable expansion, which does not use
|
2466
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2467
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2468
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2469
|
+
This field corresponds to the `command` field of the Kubernetes Containers
|
2470
|
+
[v1 core
|
2471
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2472
|
+
"""
|
2473
|
+
deployment_timeout: NotRequired[pulumi.Input[_builtins.str]]
|
2474
|
+
"""
|
2475
|
+
Deployment timeout.
|
2476
|
+
Limit for deployment timeout is 2 hours.
|
2477
|
+
"""
|
2478
|
+
envs: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgsDict']]]]
|
2479
|
+
"""
|
2480
|
+
List of environment variables to set in the container. After the container
|
2481
|
+
starts running, code running in the container can read these environment
|
2482
|
+
variables.
|
2483
|
+
Additionally, the command and
|
2484
|
+
args fields can reference these variables. Later
|
2485
|
+
entries in this list can also reference earlier entries. For example, the
|
2486
|
+
following example sets the variable `VAR_2` to have the value `foo bar`:
|
2487
|
+
```json
|
2488
|
+
[
|
2489
|
+
{
|
2490
|
+
"name": "VAR_1",
|
2491
|
+
"value": "foo"
|
2492
|
+
},
|
2493
|
+
{
|
2494
|
+
"name": "VAR_2",
|
2495
|
+
"value": "$(VAR_1) bar"
|
2496
|
+
}
|
2497
|
+
]
|
2498
|
+
```
|
2499
|
+
If you switch the order of the variables in the example, then the expansion
|
2500
|
+
does not occur.
|
2501
|
+
This field corresponds to the `env` field of the Kubernetes Containers
|
2502
|
+
[v1 core
|
2503
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2504
|
+
Structure is documented below.
|
2505
|
+
"""
|
2506
|
+
grpc_ports: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgsDict']]]]
|
2507
|
+
"""
|
2508
|
+
List of ports to expose from the container. Vertex AI sends gRPC
|
2509
|
+
prediction requests that it receives to the first port on this list. Vertex
|
2510
|
+
AI also sends liveness and health checks to this port.
|
2511
|
+
If you do not specify this field, gRPC requests to the container will be
|
2512
|
+
disabled.
|
2513
|
+
Vertex AI does not use ports other than the first one listed. This field
|
2514
|
+
corresponds to the `ports` field of the Kubernetes Containers v1 core API.
|
2515
|
+
Structure is documented below.
|
2516
|
+
"""
|
2517
|
+
health_probe: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgsDict']]
|
2518
|
+
"""
|
2519
|
+
Probe describes a health check to be performed against a container to
|
2520
|
+
determine whether it is alive or ready to receive traffic.
|
2521
|
+
Structure is documented below.
|
2522
|
+
"""
|
2523
|
+
health_route: NotRequired[pulumi.Input[_builtins.str]]
|
2524
|
+
"""
|
2525
|
+
HTTP path on the container to send health checks to. Vertex AI
|
2526
|
+
intermittently sends GET requests to this path on the container's IP
|
2527
|
+
address and port to check that the container is healthy. Read more about
|
2528
|
+
[health
|
2529
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health).
|
2530
|
+
For example, if you set this field to `/bar`, then Vertex AI
|
2531
|
+
intermittently sends a GET request to the `/bar` path on the port of your
|
2532
|
+
container specified by the first value of this `ModelContainerSpec`'s
|
2533
|
+
ports field.
|
2534
|
+
If you don't specify this field, it defaults to the following value when
|
2535
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
2536
|
+
The placeholders in this value are replaced as follows:
|
2537
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
2538
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
2539
|
+
deployed. (Vertex AI makes this value available to your container code
|
2540
|
+
as the [`AIP_ENDPOINT_ID` environment
|
2541
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2542
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
2543
|
+
(Vertex AI makes this value available to your container code as the
|
2544
|
+
[`AIP_DEPLOYED_MODEL_ID` environment
|
2545
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2546
|
+
"""
|
2547
|
+
liveness_probe: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgsDict']]
|
2548
|
+
"""
|
2549
|
+
Probe describes a health check to be performed against a container to
|
2550
|
+
determine whether it is alive or ready to receive traffic.
|
2551
|
+
Structure is documented below.
|
2552
|
+
"""
|
2553
|
+
ports: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgsDict']]]]
|
2554
|
+
"""
|
2555
|
+
List of ports to expose from the container. Vertex AI sends any
|
2556
|
+
prediction requests that it receives to the first port on this list. Vertex
|
2557
|
+
AI also sends
|
2558
|
+
[liveness and health
|
2559
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness)
|
2560
|
+
to this port.
|
2561
|
+
If you do not specify this field, it defaults to following value:
|
2562
|
+
```json
|
2563
|
+
[
|
2564
|
+
{
|
2565
|
+
"containerPort": 8080
|
2566
|
+
}
|
2567
|
+
]
|
2568
|
+
```
|
2569
|
+
Vertex AI does not use ports other than the first one listed. This field
|
2570
|
+
corresponds to the `ports` field of the Kubernetes Containers
|
2571
|
+
[v1 core
|
2572
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2573
|
+
Structure is documented below.
|
2574
|
+
"""
|
2575
|
+
predict_route: NotRequired[pulumi.Input[_builtins.str]]
|
2576
|
+
"""
|
2577
|
+
HTTP path on the container to send prediction requests to. Vertex AI
|
2578
|
+
forwards requests sent using
|
2579
|
+
projects.locations.endpoints.predict to this
|
2580
|
+
path on the container's IP address and port. Vertex AI then returns the
|
2581
|
+
container's response in the API response.
|
2582
|
+
For example, if you set this field to `/foo`, then when Vertex AI
|
2583
|
+
receives a prediction request, it forwards the request body in a POST
|
2584
|
+
request to the `/foo` path on the port of your container specified by the
|
2585
|
+
first value of this `ModelContainerSpec`'s
|
2586
|
+
ports field.
|
2587
|
+
If you don't specify this field, it defaults to the following value when
|
2588
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
2589
|
+
The placeholders in this value are replaced as follows:
|
2590
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
2591
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
2592
|
+
deployed. (Vertex AI makes this value available to your container code
|
2593
|
+
as the [`AIP_ENDPOINT_ID` environment
|
2594
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2595
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
2596
|
+
(Vertex AI makes this value available to your container code
|
2597
|
+
as the [`AIP_DEPLOYED_MODEL_ID` environment
|
2598
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2599
|
+
"""
|
2600
|
+
shared_memory_size_mb: NotRequired[pulumi.Input[_builtins.str]]
|
2601
|
+
"""
|
2602
|
+
The amount of the VM memory to reserve as the shared memory for the model
|
2603
|
+
in megabytes.
|
2604
|
+
"""
|
2605
|
+
startup_probe: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgsDict']]
|
2606
|
+
"""
|
2607
|
+
Probe describes a health check to be performed against a container to
|
2608
|
+
determine whether it is alive or ready to receive traffic.
|
2609
|
+
Structure is documented below.
|
2610
|
+
"""
|
2611
|
+
elif False:
|
2612
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgsDict: TypeAlias = Mapping[str, Any]
|
2613
|
+
|
2614
|
+
@pulumi.input_type
|
2615
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecArgs:
|
2616
|
+
def __init__(__self__, *,
|
2617
|
+
image_uri: pulumi.Input[_builtins.str],
|
2618
|
+
args: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
2619
|
+
commands: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
2620
|
+
deployment_timeout: Optional[pulumi.Input[_builtins.str]] = None,
|
2621
|
+
envs: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs']]]] = None,
|
2622
|
+
grpc_ports: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs']]]] = None,
|
2623
|
+
health_probe: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs']] = None,
|
2624
|
+
health_route: Optional[pulumi.Input[_builtins.str]] = None,
|
2625
|
+
liveness_probe: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs']] = None,
|
2626
|
+
ports: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs']]]] = None,
|
2627
|
+
predict_route: Optional[pulumi.Input[_builtins.str]] = None,
|
2628
|
+
shared_memory_size_mb: Optional[pulumi.Input[_builtins.str]] = None,
|
2629
|
+
startup_probe: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs']] = None):
|
2630
|
+
"""
|
2631
|
+
:param pulumi.Input[_builtins.str] image_uri: URI of the Docker image to be used as the custom container for serving
|
2632
|
+
predictions. This URI must identify an image in Artifact Registry or
|
2633
|
+
Container Registry. Learn more about the [container publishing
|
2634
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing),
|
2635
|
+
including permissions requirements for the Vertex AI Service Agent.
|
2636
|
+
The container image is ingested upon ModelService.UploadModel, stored
|
2637
|
+
internally, and this original path is afterwards not used.
|
2638
|
+
To learn about the requirements for the Docker image itself, see
|
2639
|
+
[Custom container
|
2640
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#).
|
2641
|
+
You can use the URI to one of Vertex AI's [pre-built container images for
|
2642
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers)
|
2643
|
+
in this field.
|
2644
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] args: Specifies arguments for the command that runs when the container starts.
|
2645
|
+
This overrides the container's
|
2646
|
+
[`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify
|
2647
|
+
this field as an array of executable and arguments, similar to a Docker
|
2648
|
+
`CMD`'s "default parameters" form.
|
2649
|
+
If you don't specify this field but do specify the
|
2650
|
+
command field, then the command from the
|
2651
|
+
`command` field runs without any additional arguments. See the
|
2652
|
+
[Kubernetes documentation about how the
|
2653
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2654
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2655
|
+
If you don't specify this field and don't specify the `command` field,
|
2656
|
+
then the container's
|
2657
|
+
[`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and
|
2658
|
+
`CMD` determine what runs based on their default behavior. See the Docker
|
2659
|
+
documentation about [how `CMD` and `ENTRYPOINT`
|
2660
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2661
|
+
In this field, you can reference [environment variables
|
2662
|
+
set by Vertex
|
2663
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2664
|
+
and environment variables set in the env field.
|
2665
|
+
You cannot reference environment variables set in the Docker image. In
|
2666
|
+
order for environment variables to be expanded, reference them by using the
|
2667
|
+
following syntax:$(VARIABLE_NAME)
|
2668
|
+
Note that this differs from Bash variable expansion, which does not use
|
2669
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2670
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2671
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2672
|
+
This field corresponds to the `args` field of the Kubernetes Containers
|
2673
|
+
[v1 core
|
2674
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2675
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] commands: Specifies the command that runs when the container starts. This overrides
|
2676
|
+
the container's
|
2677
|
+
[ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint).
|
2678
|
+
Specify this field as an array of executable and arguments, similar to a
|
2679
|
+
Docker `ENTRYPOINT`'s "exec" form, not its "shell" form.
|
2680
|
+
If you do not specify this field, then the container's `ENTRYPOINT` runs,
|
2681
|
+
in conjunction with the args field or the
|
2682
|
+
container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd),
|
2683
|
+
if either exists. If this field is not specified and the container does not
|
2684
|
+
have an `ENTRYPOINT`, then refer to the Docker documentation about [how
|
2685
|
+
`CMD` and `ENTRYPOINT`
|
2686
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2687
|
+
If you specify this field, then you can also specify the `args` field to
|
2688
|
+
provide additional arguments for this command. However, if you specify this
|
2689
|
+
field, then the container's `CMD` is ignored. See the
|
2690
|
+
[Kubernetes documentation about how the
|
2691
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2692
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2693
|
+
In this field, you can reference [environment variables set by Vertex
|
2694
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2695
|
+
and environment variables set in the env field.
|
2696
|
+
You cannot reference environment variables set in the Docker image. In
|
2697
|
+
order for environment variables to be expanded, reference them by using the
|
2698
|
+
following syntax:$(VARIABLE_NAME)
|
2699
|
+
Note that this differs from Bash variable expansion, which does not use
|
2700
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2701
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2702
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2703
|
+
This field corresponds to the `command` field of the Kubernetes Containers
|
2704
|
+
[v1 core
|
2705
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2706
|
+
:param pulumi.Input[_builtins.str] deployment_timeout: Deployment timeout.
|
2707
|
+
Limit for deployment timeout is 2 hours.
|
2708
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs']]] envs: List of environment variables to set in the container. After the container
|
2709
|
+
starts running, code running in the container can read these environment
|
2710
|
+
variables.
|
2711
|
+
Additionally, the command and
|
2712
|
+
args fields can reference these variables. Later
|
2713
|
+
entries in this list can also reference earlier entries. For example, the
|
2714
|
+
following example sets the variable `VAR_2` to have the value `foo bar`:
|
2715
|
+
```json
|
2716
|
+
[
|
2717
|
+
{
|
2718
|
+
"name": "VAR_1",
|
2719
|
+
"value": "foo"
|
2720
|
+
},
|
2721
|
+
{
|
2722
|
+
"name": "VAR_2",
|
2723
|
+
"value": "$(VAR_1) bar"
|
2724
|
+
}
|
2725
|
+
]
|
2726
|
+
```
|
2727
|
+
If you switch the order of the variables in the example, then the expansion
|
2728
|
+
does not occur.
|
2729
|
+
This field corresponds to the `env` field of the Kubernetes Containers
|
2730
|
+
[v1 core
|
2731
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2732
|
+
Structure is documented below.
|
2733
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs']]] grpc_ports: List of ports to expose from the container. Vertex AI sends gRPC
|
2734
|
+
prediction requests that it receives to the first port on this list. Vertex
|
2735
|
+
AI also sends liveness and health checks to this port.
|
2736
|
+
If you do not specify this field, gRPC requests to the container will be
|
2737
|
+
disabled.
|
2738
|
+
Vertex AI does not use ports other than the first one listed. This field
|
2739
|
+
corresponds to the `ports` field of the Kubernetes Containers v1 core API.
|
2740
|
+
Structure is documented below.
|
2741
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs'] health_probe: Probe describes a health check to be performed against a container to
|
2742
|
+
determine whether it is alive or ready to receive traffic.
|
2743
|
+
Structure is documented below.
|
2744
|
+
:param pulumi.Input[_builtins.str] health_route: HTTP path on the container to send health checks to. Vertex AI
|
2745
|
+
intermittently sends GET requests to this path on the container's IP
|
2746
|
+
address and port to check that the container is healthy. Read more about
|
2747
|
+
[health
|
2748
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health).
|
2749
|
+
For example, if you set this field to `/bar`, then Vertex AI
|
2750
|
+
intermittently sends a GET request to the `/bar` path on the port of your
|
2751
|
+
container specified by the first value of this `ModelContainerSpec`'s
|
2752
|
+
ports field.
|
2753
|
+
If you don't specify this field, it defaults to the following value when
|
2754
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
2755
|
+
The placeholders in this value are replaced as follows:
|
2756
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
2757
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
2758
|
+
deployed. (Vertex AI makes this value available to your container code
|
2759
|
+
as the [`AIP_ENDPOINT_ID` environment
|
2760
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2761
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
2762
|
+
(Vertex AI makes this value available to your container code as the
|
2763
|
+
[`AIP_DEPLOYED_MODEL_ID` environment
|
2764
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2765
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs'] liveness_probe: Probe describes a health check to be performed against a container to
|
2766
|
+
determine whether it is alive or ready to receive traffic.
|
2767
|
+
Structure is documented below.
|
2768
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs']]] ports: List of ports to expose from the container. Vertex AI sends any
|
2769
|
+
prediction requests that it receives to the first port on this list. Vertex
|
2770
|
+
AI also sends
|
2771
|
+
[liveness and health
|
2772
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness)
|
2773
|
+
to this port.
|
2774
|
+
If you do not specify this field, it defaults to following value:
|
2775
|
+
```json
|
2776
|
+
[
|
2777
|
+
{
|
2778
|
+
"containerPort": 8080
|
2779
|
+
}
|
2780
|
+
]
|
2781
|
+
```
|
2782
|
+
Vertex AI does not use ports other than the first one listed. This field
|
2783
|
+
corresponds to the `ports` field of the Kubernetes Containers
|
2784
|
+
[v1 core
|
2785
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2786
|
+
Structure is documented below.
|
2787
|
+
:param pulumi.Input[_builtins.str] predict_route: HTTP path on the container to send prediction requests to. Vertex AI
|
2788
|
+
forwards requests sent using
|
2789
|
+
projects.locations.endpoints.predict to this
|
2790
|
+
path on the container's IP address and port. Vertex AI then returns the
|
2791
|
+
container's response in the API response.
|
2792
|
+
For example, if you set this field to `/foo`, then when Vertex AI
|
2793
|
+
receives a prediction request, it forwards the request body in a POST
|
2794
|
+
request to the `/foo` path on the port of your container specified by the
|
2795
|
+
first value of this `ModelContainerSpec`'s
|
2796
|
+
ports field.
|
2797
|
+
If you don't specify this field, it defaults to the following value when
|
2798
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
2799
|
+
The placeholders in this value are replaced as follows:
|
2800
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
2801
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
2802
|
+
deployed. (Vertex AI makes this value available to your container code
|
2803
|
+
as the [`AIP_ENDPOINT_ID` environment
|
2804
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2805
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
2806
|
+
(Vertex AI makes this value available to your container code
|
2807
|
+
as the [`AIP_DEPLOYED_MODEL_ID` environment
|
2808
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
2809
|
+
:param pulumi.Input[_builtins.str] shared_memory_size_mb: The amount of the VM memory to reserve as the shared memory for the model
|
2810
|
+
in megabytes.
|
2811
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs'] startup_probe: Probe describes a health check to be performed against a container to
|
2812
|
+
determine whether it is alive or ready to receive traffic.
|
2813
|
+
Structure is documented below.
|
2814
|
+
"""
|
2815
|
+
pulumi.set(__self__, "image_uri", image_uri)
|
2816
|
+
if args is not None:
|
2817
|
+
pulumi.set(__self__, "args", args)
|
2818
|
+
if commands is not None:
|
2819
|
+
pulumi.set(__self__, "commands", commands)
|
2820
|
+
if deployment_timeout is not None:
|
2821
|
+
pulumi.set(__self__, "deployment_timeout", deployment_timeout)
|
2822
|
+
if envs is not None:
|
2823
|
+
pulumi.set(__self__, "envs", envs)
|
2824
|
+
if grpc_ports is not None:
|
2825
|
+
pulumi.set(__self__, "grpc_ports", grpc_ports)
|
2826
|
+
if health_probe is not None:
|
2827
|
+
pulumi.set(__self__, "health_probe", health_probe)
|
2828
|
+
if health_route is not None:
|
2829
|
+
pulumi.set(__self__, "health_route", health_route)
|
2830
|
+
if liveness_probe is not None:
|
2831
|
+
pulumi.set(__self__, "liveness_probe", liveness_probe)
|
2832
|
+
if ports is not None:
|
2833
|
+
pulumi.set(__self__, "ports", ports)
|
2834
|
+
if predict_route is not None:
|
2835
|
+
pulumi.set(__self__, "predict_route", predict_route)
|
2836
|
+
if shared_memory_size_mb is not None:
|
2837
|
+
pulumi.set(__self__, "shared_memory_size_mb", shared_memory_size_mb)
|
2838
|
+
if startup_probe is not None:
|
2839
|
+
pulumi.set(__self__, "startup_probe", startup_probe)
|
2840
|
+
|
2841
|
+
@_builtins.property
|
2842
|
+
@pulumi.getter(name="imageUri")
|
2843
|
+
def image_uri(self) -> pulumi.Input[_builtins.str]:
|
2844
|
+
"""
|
2845
|
+
URI of the Docker image to be used as the custom container for serving
|
2846
|
+
predictions. This URI must identify an image in Artifact Registry or
|
2847
|
+
Container Registry. Learn more about the [container publishing
|
2848
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing),
|
2849
|
+
including permissions requirements for the Vertex AI Service Agent.
|
2850
|
+
The container image is ingested upon ModelService.UploadModel, stored
|
2851
|
+
internally, and this original path is afterwards not used.
|
2852
|
+
To learn about the requirements for the Docker image itself, see
|
2853
|
+
[Custom container
|
2854
|
+
requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#).
|
2855
|
+
You can use the URI to one of Vertex AI's [pre-built container images for
|
2856
|
+
prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers)
|
2857
|
+
in this field.
|
2858
|
+
"""
|
2859
|
+
return pulumi.get(self, "image_uri")
|
2860
|
+
|
2861
|
+
@image_uri.setter
|
2862
|
+
def image_uri(self, value: pulumi.Input[_builtins.str]):
|
2863
|
+
pulumi.set(self, "image_uri", value)
|
2864
|
+
|
2865
|
+
@_builtins.property
|
2866
|
+
@pulumi.getter
|
2867
|
+
def args(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
2868
|
+
"""
|
2869
|
+
Specifies arguments for the command that runs when the container starts.
|
2870
|
+
This overrides the container's
|
2871
|
+
[`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify
|
2872
|
+
this field as an array of executable and arguments, similar to a Docker
|
2873
|
+
`CMD`'s "default parameters" form.
|
2874
|
+
If you don't specify this field but do specify the
|
2875
|
+
command field, then the command from the
|
2876
|
+
`command` field runs without any additional arguments. See the
|
2877
|
+
[Kubernetes documentation about how the
|
2878
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2879
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2880
|
+
If you don't specify this field and don't specify the `command` field,
|
2881
|
+
then the container's
|
2882
|
+
[`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and
|
2883
|
+
`CMD` determine what runs based on their default behavior. See the Docker
|
2884
|
+
documentation about [how `CMD` and `ENTRYPOINT`
|
2885
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2886
|
+
In this field, you can reference [environment variables
|
2887
|
+
set by Vertex
|
2888
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2889
|
+
and environment variables set in the env field.
|
2890
|
+
You cannot reference environment variables set in the Docker image. In
|
2891
|
+
order for environment variables to be expanded, reference them by using the
|
2892
|
+
following syntax:$(VARIABLE_NAME)
|
2893
|
+
Note that this differs from Bash variable expansion, which does not use
|
2894
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2895
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2896
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2897
|
+
This field corresponds to the `args` field of the Kubernetes Containers
|
2898
|
+
[v1 core
|
2899
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2900
|
+
"""
|
2901
|
+
return pulumi.get(self, "args")
|
2902
|
+
|
2903
|
+
@args.setter
|
2904
|
+
def args(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
2905
|
+
pulumi.set(self, "args", value)
|
2906
|
+
|
2907
|
+
@_builtins.property
|
2908
|
+
@pulumi.getter
|
2909
|
+
def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
2910
|
+
"""
|
2911
|
+
Specifies the command that runs when the container starts. This overrides
|
2912
|
+
the container's
|
2913
|
+
[ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint).
|
2914
|
+
Specify this field as an array of executable and arguments, similar to a
|
2915
|
+
Docker `ENTRYPOINT`'s "exec" form, not its "shell" form.
|
2916
|
+
If you do not specify this field, then the container's `ENTRYPOINT` runs,
|
2917
|
+
in conjunction with the args field or the
|
2918
|
+
container's [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd),
|
2919
|
+
if either exists. If this field is not specified and the container does not
|
2920
|
+
have an `ENTRYPOINT`, then refer to the Docker documentation about [how
|
2921
|
+
`CMD` and `ENTRYPOINT`
|
2922
|
+
interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
|
2923
|
+
If you specify this field, then you can also specify the `args` field to
|
2924
|
+
provide additional arguments for this command. However, if you specify this
|
2925
|
+
field, then the container's `CMD` is ignored. See the
|
2926
|
+
[Kubernetes documentation about how the
|
2927
|
+
`command` and `args` fields interact with a container's `ENTRYPOINT` and
|
2928
|
+
`CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
|
2929
|
+
In this field, you can reference [environment variables set by Vertex
|
2930
|
+
AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
|
2931
|
+
and environment variables set in the env field.
|
2932
|
+
You cannot reference environment variables set in the Docker image. In
|
2933
|
+
order for environment variables to be expanded, reference them by using the
|
2934
|
+
following syntax:$(VARIABLE_NAME)
|
2935
|
+
Note that this differs from Bash variable expansion, which does not use
|
2936
|
+
parentheses. If a variable cannot be resolved, the reference in the input
|
2937
|
+
string is used unchanged. To avoid variable expansion, you can escape this
|
2938
|
+
syntax with `$$`; for example:$$(VARIABLE_NAME)
|
2939
|
+
This field corresponds to the `command` field of the Kubernetes Containers
|
2940
|
+
[v1 core
|
2941
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2942
|
+
"""
|
2943
|
+
return pulumi.get(self, "commands")
|
2944
|
+
|
2945
|
+
@commands.setter
|
2946
|
+
def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
2947
|
+
pulumi.set(self, "commands", value)
|
2948
|
+
|
2949
|
+
@_builtins.property
|
2950
|
+
@pulumi.getter(name="deploymentTimeout")
|
2951
|
+
def deployment_timeout(self) -> Optional[pulumi.Input[_builtins.str]]:
|
2952
|
+
"""
|
2953
|
+
Deployment timeout.
|
2954
|
+
Limit for deployment timeout is 2 hours.
|
2955
|
+
"""
|
2956
|
+
return pulumi.get(self, "deployment_timeout")
|
2957
|
+
|
2958
|
+
@deployment_timeout.setter
|
2959
|
+
def deployment_timeout(self, value: Optional[pulumi.Input[_builtins.str]]):
|
2960
|
+
pulumi.set(self, "deployment_timeout", value)
|
2961
|
+
|
2962
|
+
@_builtins.property
|
2963
|
+
@pulumi.getter
|
2964
|
+
def envs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs']]]]:
|
2965
|
+
"""
|
2966
|
+
List of environment variables to set in the container. After the container
|
2967
|
+
starts running, code running in the container can read these environment
|
2968
|
+
variables.
|
2969
|
+
Additionally, the command and
|
2970
|
+
args fields can reference these variables. Later
|
2971
|
+
entries in this list can also reference earlier entries. For example, the
|
2972
|
+
following example sets the variable `VAR_2` to have the value `foo bar`:
|
2973
|
+
```json
|
2974
|
+
[
|
2975
|
+
{
|
2976
|
+
"name": "VAR_1",
|
2977
|
+
"value": "foo"
|
2978
|
+
},
|
2979
|
+
{
|
2980
|
+
"name": "VAR_2",
|
2981
|
+
"value": "$(VAR_1) bar"
|
2982
|
+
}
|
2983
|
+
]
|
2984
|
+
```
|
2985
|
+
If you switch the order of the variables in the example, then the expansion
|
2986
|
+
does not occur.
|
2987
|
+
This field corresponds to the `env` field of the Kubernetes Containers
|
2988
|
+
[v1 core
|
2989
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
2990
|
+
Structure is documented below.
|
2991
|
+
"""
|
2992
|
+
return pulumi.get(self, "envs")
|
2993
|
+
|
2994
|
+
@envs.setter
|
2995
|
+
def envs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs']]]]):
|
2996
|
+
pulumi.set(self, "envs", value)
|
2997
|
+
|
2998
|
+
@_builtins.property
|
2999
|
+
@pulumi.getter(name="grpcPorts")
|
3000
|
+
def grpc_ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs']]]]:
|
3001
|
+
"""
|
3002
|
+
List of ports to expose from the container. Vertex AI sends gRPC
|
3003
|
+
prediction requests that it receives to the first port on this list. Vertex
|
3004
|
+
AI also sends liveness and health checks to this port.
|
3005
|
+
If you do not specify this field, gRPC requests to the container will be
|
3006
|
+
disabled.
|
3007
|
+
Vertex AI does not use ports other than the first one listed. This field
|
3008
|
+
corresponds to the `ports` field of the Kubernetes Containers v1 core API.
|
3009
|
+
Structure is documented below.
|
3010
|
+
"""
|
3011
|
+
return pulumi.get(self, "grpc_ports")
|
3012
|
+
|
3013
|
+
@grpc_ports.setter
|
3014
|
+
def grpc_ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs']]]]):
|
3015
|
+
pulumi.set(self, "grpc_ports", value)
|
3016
|
+
|
3017
|
+
@_builtins.property
|
3018
|
+
@pulumi.getter(name="healthProbe")
|
3019
|
+
def health_probe(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs']]:
|
3020
|
+
"""
|
3021
|
+
Probe describes a health check to be performed against a container to
|
3022
|
+
determine whether it is alive or ready to receive traffic.
|
3023
|
+
Structure is documented below.
|
3024
|
+
"""
|
3025
|
+
return pulumi.get(self, "health_probe")
|
3026
|
+
|
3027
|
+
@health_probe.setter
|
3028
|
+
def health_probe(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs']]):
|
3029
|
+
pulumi.set(self, "health_probe", value)
|
3030
|
+
|
3031
|
+
@_builtins.property
|
3032
|
+
@pulumi.getter(name="healthRoute")
|
3033
|
+
def health_route(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3034
|
+
"""
|
3035
|
+
HTTP path on the container to send health checks to. Vertex AI
|
3036
|
+
intermittently sends GET requests to this path on the container's IP
|
3037
|
+
address and port to check that the container is healthy. Read more about
|
3038
|
+
[health
|
3039
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health).
|
3040
|
+
For example, if you set this field to `/bar`, then Vertex AI
|
3041
|
+
intermittently sends a GET request to the `/bar` path on the port of your
|
3042
|
+
container specified by the first value of this `ModelContainerSpec`'s
|
3043
|
+
ports field.
|
3044
|
+
If you don't specify this field, it defaults to the following value when
|
3045
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
3046
|
+
The placeholders in this value are replaced as follows:
|
3047
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
3048
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
3049
|
+
deployed. (Vertex AI makes this value available to your container code
|
3050
|
+
as the [`AIP_ENDPOINT_ID` environment
|
3051
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
3052
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
3053
|
+
(Vertex AI makes this value available to your container code as the
|
3054
|
+
[`AIP_DEPLOYED_MODEL_ID` environment
|
3055
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
3056
|
+
"""
|
3057
|
+
return pulumi.get(self, "health_route")
|
3058
|
+
|
3059
|
+
@health_route.setter
|
3060
|
+
def health_route(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3061
|
+
pulumi.set(self, "health_route", value)
|
3062
|
+
|
3063
|
+
@_builtins.property
|
3064
|
+
@pulumi.getter(name="livenessProbe")
|
3065
|
+
def liveness_probe(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs']]:
|
3066
|
+
"""
|
3067
|
+
Probe describes a health check to be performed against a container to
|
3068
|
+
determine whether it is alive or ready to receive traffic.
|
3069
|
+
Structure is documented below.
|
3070
|
+
"""
|
3071
|
+
return pulumi.get(self, "liveness_probe")
|
3072
|
+
|
3073
|
+
@liveness_probe.setter
|
3074
|
+
def liveness_probe(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs']]):
|
3075
|
+
pulumi.set(self, "liveness_probe", value)
|
3076
|
+
|
3077
|
+
@_builtins.property
|
3078
|
+
@pulumi.getter
|
3079
|
+
def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs']]]]:
|
3080
|
+
"""
|
3081
|
+
List of ports to expose from the container. Vertex AI sends any
|
3082
|
+
prediction requests that it receives to the first port on this list. Vertex
|
3083
|
+
AI also sends
|
3084
|
+
[liveness and health
|
3085
|
+
checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness)
|
3086
|
+
to this port.
|
3087
|
+
If you do not specify this field, it defaults to following value:
|
3088
|
+
```json
|
3089
|
+
[
|
3090
|
+
{
|
3091
|
+
"containerPort": 8080
|
3092
|
+
}
|
3093
|
+
]
|
3094
|
+
```
|
3095
|
+
Vertex AI does not use ports other than the first one listed. This field
|
3096
|
+
corresponds to the `ports` field of the Kubernetes Containers
|
3097
|
+
[v1 core
|
3098
|
+
API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
|
3099
|
+
Structure is documented below.
|
3100
|
+
"""
|
3101
|
+
return pulumi.get(self, "ports")
|
3102
|
+
|
3103
|
+
@ports.setter
|
3104
|
+
def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs']]]]):
|
3105
|
+
pulumi.set(self, "ports", value)
|
3106
|
+
|
3107
|
+
@_builtins.property
|
3108
|
+
@pulumi.getter(name="predictRoute")
|
3109
|
+
def predict_route(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3110
|
+
"""
|
3111
|
+
HTTP path on the container to send prediction requests to. Vertex AI
|
3112
|
+
forwards requests sent using
|
3113
|
+
projects.locations.endpoints.predict to this
|
3114
|
+
path on the container's IP address and port. Vertex AI then returns the
|
3115
|
+
container's response in the API response.
|
3116
|
+
For example, if you set this field to `/foo`, then when Vertex AI
|
3117
|
+
receives a prediction request, it forwards the request body in a POST
|
3118
|
+
request to the `/foo` path on the port of your container specified by the
|
3119
|
+
first value of this `ModelContainerSpec`'s
|
3120
|
+
ports field.
|
3121
|
+
If you don't specify this field, it defaults to the following value when
|
3122
|
+
you deploy this Model to an Endpoint:/v1/endpoints/ENDPOINT/deployedModels/DEPLOYED_MODEL:predict
|
3123
|
+
The placeholders in this value are replaced as follows:
|
3124
|
+
* ENDPOINT: The last segment (following `endpoints/`)of the
|
3125
|
+
Endpoint.name][] field of the Endpoint where this Model has been
|
3126
|
+
deployed. (Vertex AI makes this value available to your container code
|
3127
|
+
as the [`AIP_ENDPOINT_ID` environment
|
3128
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
3129
|
+
* DEPLOYED_MODEL: DeployedModel.id of the `DeployedModel`.
|
3130
|
+
(Vertex AI makes this value available to your container code
|
3131
|
+
as the [`AIP_DEPLOYED_MODEL_ID` environment
|
3132
|
+
variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
|
3133
|
+
"""
|
3134
|
+
return pulumi.get(self, "predict_route")
|
3135
|
+
|
3136
|
+
@predict_route.setter
|
3137
|
+
def predict_route(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3138
|
+
pulumi.set(self, "predict_route", value)
|
3139
|
+
|
3140
|
+
@_builtins.property
|
3141
|
+
@pulumi.getter(name="sharedMemorySizeMb")
|
3142
|
+
def shared_memory_size_mb(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3143
|
+
"""
|
3144
|
+
The amount of the VM memory to reserve as the shared memory for the model
|
3145
|
+
in megabytes.
|
3146
|
+
"""
|
3147
|
+
return pulumi.get(self, "shared_memory_size_mb")
|
3148
|
+
|
3149
|
+
@shared_memory_size_mb.setter
|
3150
|
+
def shared_memory_size_mb(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3151
|
+
pulumi.set(self, "shared_memory_size_mb", value)
|
3152
|
+
|
3153
|
+
@_builtins.property
|
3154
|
+
@pulumi.getter(name="startupProbe")
|
3155
|
+
def startup_probe(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs']]:
|
3156
|
+
"""
|
3157
|
+
Probe describes a health check to be performed against a container to
|
3158
|
+
determine whether it is alive or ready to receive traffic.
|
3159
|
+
Structure is documented below.
|
3160
|
+
"""
|
3161
|
+
return pulumi.get(self, "startup_probe")
|
3162
|
+
|
3163
|
+
@startup_probe.setter
|
3164
|
+
def startup_probe(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs']]):
|
3165
|
+
pulumi.set(self, "startup_probe", value)
|
3166
|
+
|
3167
|
+
|
3168
|
+
if not MYPY:
|
3169
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgsDict(TypedDict):
|
3170
|
+
name: pulumi.Input[_builtins.str]
|
3171
|
+
"""
|
3172
|
+
Name of the environment variable. Must be a valid C identifier.
|
3173
|
+
"""
|
3174
|
+
value: pulumi.Input[_builtins.str]
|
3175
|
+
"""
|
3176
|
+
Variables that reference a $(VAR_NAME) are expanded
|
3177
|
+
using the previous defined environment variables in the container and
|
3178
|
+
any service environment variables. If a variable cannot be resolved,
|
3179
|
+
the reference in the input string will be unchanged. The $(VAR_NAME)
|
3180
|
+
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
|
3181
|
+
references will never be expanded, regardless of whether the variable
|
3182
|
+
exists or not.
|
3183
|
+
"""
|
3184
|
+
elif False:
|
3185
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgsDict: TypeAlias = Mapping[str, Any]
|
3186
|
+
|
3187
|
+
@pulumi.input_type
|
3188
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecEnvArgs:
|
3189
|
+
def __init__(__self__, *,
|
3190
|
+
name: pulumi.Input[_builtins.str],
|
3191
|
+
value: pulumi.Input[_builtins.str]):
|
3192
|
+
"""
|
3193
|
+
:param pulumi.Input[_builtins.str] name: Name of the environment variable. Must be a valid C identifier.
|
3194
|
+
:param pulumi.Input[_builtins.str] value: Variables that reference a $(VAR_NAME) are expanded
|
3195
|
+
using the previous defined environment variables in the container and
|
3196
|
+
any service environment variables. If a variable cannot be resolved,
|
3197
|
+
the reference in the input string will be unchanged. The $(VAR_NAME)
|
3198
|
+
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
|
3199
|
+
references will never be expanded, regardless of whether the variable
|
3200
|
+
exists or not.
|
3201
|
+
"""
|
3202
|
+
pulumi.set(__self__, "name", name)
|
3203
|
+
pulumi.set(__self__, "value", value)
|
3204
|
+
|
3205
|
+
@_builtins.property
|
3206
|
+
@pulumi.getter
|
3207
|
+
def name(self) -> pulumi.Input[_builtins.str]:
|
3208
|
+
"""
|
3209
|
+
Name of the environment variable. Must be a valid C identifier.
|
3210
|
+
"""
|
3211
|
+
return pulumi.get(self, "name")
|
3212
|
+
|
3213
|
+
@name.setter
|
3214
|
+
def name(self, value: pulumi.Input[_builtins.str]):
|
3215
|
+
pulumi.set(self, "name", value)
|
3216
|
+
|
3217
|
+
@_builtins.property
|
3218
|
+
@pulumi.getter
|
3219
|
+
def value(self) -> pulumi.Input[_builtins.str]:
|
3220
|
+
"""
|
3221
|
+
Variables that reference a $(VAR_NAME) are expanded
|
3222
|
+
using the previous defined environment variables in the container and
|
3223
|
+
any service environment variables. If a variable cannot be resolved,
|
3224
|
+
the reference in the input string will be unchanged. The $(VAR_NAME)
|
3225
|
+
syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped
|
3226
|
+
references will never be expanded, regardless of whether the variable
|
3227
|
+
exists or not.
|
3228
|
+
"""
|
3229
|
+
return pulumi.get(self, "value")
|
3230
|
+
|
3231
|
+
@value.setter
|
3232
|
+
def value(self, value: pulumi.Input[_builtins.str]):
|
3233
|
+
pulumi.set(self, "value", value)
|
3234
|
+
|
3235
|
+
|
3236
|
+
if not MYPY:
|
3237
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgsDict(TypedDict):
|
3238
|
+
container_port: NotRequired[pulumi.Input[_builtins.int]]
|
3239
|
+
"""
|
3240
|
+
The number of the port to expose on the pod's IP address.
|
3241
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
3242
|
+
"""
|
3243
|
+
elif False:
|
3244
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgsDict: TypeAlias = Mapping[str, Any]
|
3245
|
+
|
3246
|
+
@pulumi.input_type
|
3247
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecGrpcPortArgs:
|
3248
|
+
def __init__(__self__, *,
|
3249
|
+
container_port: Optional[pulumi.Input[_builtins.int]] = None):
|
3250
|
+
"""
|
3251
|
+
:param pulumi.Input[_builtins.int] container_port: The number of the port to expose on the pod's IP address.
|
3252
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
3253
|
+
"""
|
3254
|
+
if container_port is not None:
|
3255
|
+
pulumi.set(__self__, "container_port", container_port)
|
3256
|
+
|
3257
|
+
@_builtins.property
|
3258
|
+
@pulumi.getter(name="containerPort")
|
3259
|
+
def container_port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3260
|
+
"""
|
3261
|
+
The number of the port to expose on the pod's IP address.
|
3262
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
3263
|
+
"""
|
3264
|
+
return pulumi.get(self, "container_port")
|
3265
|
+
|
3266
|
+
@container_port.setter
|
3267
|
+
def container_port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3268
|
+
pulumi.set(self, "container_port", value)
|
3269
|
+
|
3270
|
+
|
3271
|
+
if not MYPY:
|
3272
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgsDict(TypedDict):
|
3273
|
+
exec_: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgsDict']]
|
3274
|
+
"""
|
3275
|
+
ExecAction specifies a command to execute.
|
3276
|
+
Structure is documented below.
|
3277
|
+
"""
|
3278
|
+
failure_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
3279
|
+
"""
|
3280
|
+
Number of consecutive failures before the probe is considered failed.
|
3281
|
+
Defaults to 3. Minimum value is 1.
|
3282
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3283
|
+
"""
|
3284
|
+
grpc: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgsDict']]
|
3285
|
+
"""
|
3286
|
+
GrpcAction checks the health of a container using a gRPC service.
|
3287
|
+
Structure is documented below.
|
3288
|
+
"""
|
3289
|
+
http_get: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgsDict']]
|
3290
|
+
"""
|
3291
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
3292
|
+
Structure is documented below.
|
3293
|
+
"""
|
3294
|
+
initial_delay_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3295
|
+
"""
|
3296
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
3297
|
+
Minimum value is 0.
|
3298
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
3299
|
+
"""
|
3300
|
+
period_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3301
|
+
"""
|
3302
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
3303
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
3304
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
3305
|
+
"""
|
3306
|
+
success_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
3307
|
+
"""
|
3308
|
+
Number of consecutive successes before the probe is considered successful.
|
3309
|
+
Defaults to 1. Minimum value is 1.
|
3310
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
3311
|
+
"""
|
3312
|
+
tcp_socket: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgsDict']]
|
3313
|
+
"""
|
3314
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
3315
|
+
connection.
|
3316
|
+
Structure is documented below.
|
3317
|
+
"""
|
3318
|
+
timeout_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3319
|
+
"""
|
3320
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
3321
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
3322
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
3323
|
+
"""
|
3324
|
+
elif False:
|
3325
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgsDict: TypeAlias = Mapping[str, Any]
|
3326
|
+
|
3327
|
+
@pulumi.input_type
|
3328
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeArgs:
|
3329
|
+
def __init__(__self__, *,
|
3330
|
+
exec_: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs']] = None,
|
3331
|
+
failure_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
3332
|
+
grpc: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs']] = None,
|
3333
|
+
http_get: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs']] = None,
|
3334
|
+
initial_delay_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
3335
|
+
period_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
3336
|
+
success_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
3337
|
+
tcp_socket: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs']] = None,
|
3338
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
3339
|
+
"""
|
3340
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs'] exec_: ExecAction specifies a command to execute.
|
3341
|
+
Structure is documented below.
|
3342
|
+
:param pulumi.Input[_builtins.int] failure_threshold: Number of consecutive failures before the probe is considered failed.
|
3343
|
+
Defaults to 3. Minimum value is 1.
|
3344
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3345
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs'] grpc: GrpcAction checks the health of a container using a gRPC service.
|
3346
|
+
Structure is documented below.
|
3347
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs'] http_get: HttpGetAction describes an action based on HTTP Get requests.
|
3348
|
+
Structure is documented below.
|
3349
|
+
:param pulumi.Input[_builtins.int] initial_delay_seconds: Number of seconds to wait before starting the probe. Defaults to 0.
|
3350
|
+
Minimum value is 0.
|
3351
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
3352
|
+
:param pulumi.Input[_builtins.int] period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds.
|
3353
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
3354
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
3355
|
+
:param pulumi.Input[_builtins.int] success_threshold: Number of consecutive successes before the probe is considered successful.
|
3356
|
+
Defaults to 1. Minimum value is 1.
|
3357
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
3358
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs'] tcp_socket: TcpSocketAction probes the health of a container by opening a TCP socket
|
3359
|
+
connection.
|
3360
|
+
Structure is documented below.
|
3361
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Number of seconds after which the probe times out. Defaults to 1 second.
|
3362
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
3363
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
3364
|
+
"""
|
3365
|
+
if exec_ is not None:
|
3366
|
+
pulumi.set(__self__, "exec_", exec_)
|
3367
|
+
if failure_threshold is not None:
|
3368
|
+
pulumi.set(__self__, "failure_threshold", failure_threshold)
|
3369
|
+
if grpc is not None:
|
3370
|
+
pulumi.set(__self__, "grpc", grpc)
|
3371
|
+
if http_get is not None:
|
3372
|
+
pulumi.set(__self__, "http_get", http_get)
|
3373
|
+
if initial_delay_seconds is not None:
|
3374
|
+
pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
|
3375
|
+
if period_seconds is not None:
|
3376
|
+
pulumi.set(__self__, "period_seconds", period_seconds)
|
3377
|
+
if success_threshold is not None:
|
3378
|
+
pulumi.set(__self__, "success_threshold", success_threshold)
|
3379
|
+
if tcp_socket is not None:
|
3380
|
+
pulumi.set(__self__, "tcp_socket", tcp_socket)
|
3381
|
+
if timeout_seconds is not None:
|
3382
|
+
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
3383
|
+
|
3384
|
+
@_builtins.property
|
3385
|
+
@pulumi.getter(name="exec")
|
3386
|
+
def exec_(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs']]:
|
3387
|
+
"""
|
3388
|
+
ExecAction specifies a command to execute.
|
3389
|
+
Structure is documented below.
|
3390
|
+
"""
|
3391
|
+
return pulumi.get(self, "exec_")
|
3392
|
+
|
3393
|
+
@exec_.setter
|
3394
|
+
def exec_(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs']]):
|
3395
|
+
pulumi.set(self, "exec_", value)
|
3396
|
+
|
3397
|
+
@_builtins.property
|
3398
|
+
@pulumi.getter(name="failureThreshold")
|
3399
|
+
def failure_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3400
|
+
"""
|
3401
|
+
Number of consecutive failures before the probe is considered failed.
|
3402
|
+
Defaults to 3. Minimum value is 1.
|
3403
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3404
|
+
"""
|
3405
|
+
return pulumi.get(self, "failure_threshold")
|
3406
|
+
|
3407
|
+
@failure_threshold.setter
|
3408
|
+
def failure_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3409
|
+
pulumi.set(self, "failure_threshold", value)
|
3410
|
+
|
3411
|
+
@_builtins.property
|
3412
|
+
@pulumi.getter
|
3413
|
+
def grpc(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs']]:
|
3414
|
+
"""
|
3415
|
+
GrpcAction checks the health of a container using a gRPC service.
|
3416
|
+
Structure is documented below.
|
3417
|
+
"""
|
3418
|
+
return pulumi.get(self, "grpc")
|
3419
|
+
|
3420
|
+
@grpc.setter
|
3421
|
+
def grpc(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs']]):
|
3422
|
+
pulumi.set(self, "grpc", value)
|
3423
|
+
|
3424
|
+
@_builtins.property
|
3425
|
+
@pulumi.getter(name="httpGet")
|
3426
|
+
def http_get(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs']]:
|
3427
|
+
"""
|
3428
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
3429
|
+
Structure is documented below.
|
3430
|
+
"""
|
3431
|
+
return pulumi.get(self, "http_get")
|
3432
|
+
|
3433
|
+
@http_get.setter
|
3434
|
+
def http_get(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs']]):
|
3435
|
+
pulumi.set(self, "http_get", value)
|
3436
|
+
|
3437
|
+
@_builtins.property
|
3438
|
+
@pulumi.getter(name="initialDelaySeconds")
|
3439
|
+
def initial_delay_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3440
|
+
"""
|
3441
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
3442
|
+
Minimum value is 0.
|
3443
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
3444
|
+
"""
|
3445
|
+
return pulumi.get(self, "initial_delay_seconds")
|
3446
|
+
|
3447
|
+
@initial_delay_seconds.setter
|
3448
|
+
def initial_delay_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3449
|
+
pulumi.set(self, "initial_delay_seconds", value)
|
3450
|
+
|
3451
|
+
@_builtins.property
|
3452
|
+
@pulumi.getter(name="periodSeconds")
|
3453
|
+
def period_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3454
|
+
"""
|
3455
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
3456
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
3457
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
3458
|
+
"""
|
3459
|
+
return pulumi.get(self, "period_seconds")
|
3460
|
+
|
3461
|
+
@period_seconds.setter
|
3462
|
+
def period_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3463
|
+
pulumi.set(self, "period_seconds", value)
|
3464
|
+
|
3465
|
+
@_builtins.property
|
3466
|
+
@pulumi.getter(name="successThreshold")
|
3467
|
+
def success_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3468
|
+
"""
|
3469
|
+
Number of consecutive successes before the probe is considered successful.
|
3470
|
+
Defaults to 1. Minimum value is 1.
|
3471
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
3472
|
+
"""
|
3473
|
+
return pulumi.get(self, "success_threshold")
|
3474
|
+
|
3475
|
+
@success_threshold.setter
|
3476
|
+
def success_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3477
|
+
pulumi.set(self, "success_threshold", value)
|
3478
|
+
|
3479
|
+
@_builtins.property
|
3480
|
+
@pulumi.getter(name="tcpSocket")
|
3481
|
+
def tcp_socket(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs']]:
|
3482
|
+
"""
|
3483
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
3484
|
+
connection.
|
3485
|
+
Structure is documented below.
|
3486
|
+
"""
|
3487
|
+
return pulumi.get(self, "tcp_socket")
|
3488
|
+
|
3489
|
+
@tcp_socket.setter
|
3490
|
+
def tcp_socket(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs']]):
|
3491
|
+
pulumi.set(self, "tcp_socket", value)
|
3492
|
+
|
3493
|
+
@_builtins.property
|
3494
|
+
@pulumi.getter(name="timeoutSeconds")
|
3495
|
+
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3496
|
+
"""
|
3497
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
3498
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
3499
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
3500
|
+
"""
|
3501
|
+
return pulumi.get(self, "timeout_seconds")
|
3502
|
+
|
3503
|
+
@timeout_seconds.setter
|
3504
|
+
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3505
|
+
pulumi.set(self, "timeout_seconds", value)
|
3506
|
+
|
3507
|
+
|
3508
|
+
if not MYPY:
|
3509
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgsDict(TypedDict):
|
3510
|
+
commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
3511
|
+
"""
|
3512
|
+
Command is the command line to execute inside the container, the working
|
3513
|
+
directory for the command is root ('/') in the container's filesystem.
|
3514
|
+
The command is simply exec'd, it is not run inside a shell, so
|
3515
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
3516
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
3517
|
+
live/healthy and non-zero is unhealthy.
|
3518
|
+
"""
|
3519
|
+
elif False:
|
3520
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgsDict: TypeAlias = Mapping[str, Any]
|
3521
|
+
|
3522
|
+
@pulumi.input_type
|
3523
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeExecArgs:
|
3524
|
+
def __init__(__self__, *,
|
3525
|
+
commands: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
3526
|
+
"""
|
3527
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] commands: Command is the command line to execute inside the container, the working
|
3528
|
+
directory for the command is root ('/') in the container's filesystem.
|
3529
|
+
The command is simply exec'd, it is not run inside a shell, so
|
3530
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
3531
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
3532
|
+
live/healthy and non-zero is unhealthy.
|
3533
|
+
"""
|
3534
|
+
if commands is not None:
|
3535
|
+
pulumi.set(__self__, "commands", commands)
|
3536
|
+
|
3537
|
+
@_builtins.property
|
3538
|
+
@pulumi.getter
|
3539
|
+
def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
3540
|
+
"""
|
3541
|
+
Command is the command line to execute inside the container, the working
|
3542
|
+
directory for the command is root ('/') in the container's filesystem.
|
3543
|
+
The command is simply exec'd, it is not run inside a shell, so
|
3544
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
3545
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
3546
|
+
live/healthy and non-zero is unhealthy.
|
3547
|
+
"""
|
3548
|
+
return pulumi.get(self, "commands")
|
3549
|
+
|
3550
|
+
@commands.setter
|
3551
|
+
def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
3552
|
+
pulumi.set(self, "commands", value)
|
3553
|
+
|
3554
|
+
|
3555
|
+
if not MYPY:
|
3556
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgsDict(TypedDict):
|
3557
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
3558
|
+
"""
|
3559
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
3560
|
+
"""
|
3561
|
+
service: NotRequired[pulumi.Input[_builtins.str]]
|
3562
|
+
"""
|
3563
|
+
Service is the name of the service to place in the gRPC
|
3564
|
+
HealthCheckRequest. See
|
3565
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
3566
|
+
If this is not specified, the default behavior is defined by gRPC.
|
3567
|
+
"""
|
3568
|
+
elif False:
|
3569
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgsDict: TypeAlias = Mapping[str, Any]
|
3570
|
+
|
3571
|
+
@pulumi.input_type
|
3572
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeGrpcArgs:
|
3573
|
+
def __init__(__self__, *,
|
3574
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
3575
|
+
service: Optional[pulumi.Input[_builtins.str]] = None):
|
3576
|
+
"""
|
3577
|
+
:param pulumi.Input[_builtins.int] port: Port number of the gRPC service. Number must be in the range 1 to 65535.
|
3578
|
+
:param pulumi.Input[_builtins.str] service: Service is the name of the service to place in the gRPC
|
3579
|
+
HealthCheckRequest. See
|
3580
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
3581
|
+
If this is not specified, the default behavior is defined by gRPC.
|
3582
|
+
"""
|
3583
|
+
if port is not None:
|
3584
|
+
pulumi.set(__self__, "port", port)
|
3585
|
+
if service is not None:
|
3586
|
+
pulumi.set(__self__, "service", service)
|
3587
|
+
|
3588
|
+
@_builtins.property
|
3589
|
+
@pulumi.getter
|
3590
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3591
|
+
"""
|
3592
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
3593
|
+
"""
|
3594
|
+
return pulumi.get(self, "port")
|
3595
|
+
|
3596
|
+
@port.setter
|
3597
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3598
|
+
pulumi.set(self, "port", value)
|
3599
|
+
|
3600
|
+
@_builtins.property
|
3601
|
+
@pulumi.getter
|
3602
|
+
def service(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3603
|
+
"""
|
3604
|
+
Service is the name of the service to place in the gRPC
|
3605
|
+
HealthCheckRequest. See
|
3606
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
3607
|
+
If this is not specified, the default behavior is defined by gRPC.
|
3608
|
+
"""
|
3609
|
+
return pulumi.get(self, "service")
|
3610
|
+
|
3611
|
+
@service.setter
|
3612
|
+
def service(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3613
|
+
pulumi.set(self, "service", value)
|
3614
|
+
|
3615
|
+
|
3616
|
+
if not MYPY:
|
3617
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgsDict(TypedDict):
|
3618
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
3619
|
+
"""
|
3620
|
+
Host name to connect to, defaults to the model serving container's IP.
|
3621
|
+
You probably want to set "Host" in httpHeaders instead.
|
3622
|
+
"""
|
3623
|
+
http_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgsDict']]]]
|
3624
|
+
"""
|
3625
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
3626
|
+
Structure is documented below.
|
3627
|
+
"""
|
3628
|
+
path: NotRequired[pulumi.Input[_builtins.str]]
|
3629
|
+
"""
|
3630
|
+
Path to access on the HTTP server.
|
3631
|
+
"""
|
3632
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
3633
|
+
"""
|
3634
|
+
Number of the port to access on the container.
|
3635
|
+
Number must be in the range 1 to 65535.
|
3636
|
+
"""
|
3637
|
+
scheme: NotRequired[pulumi.Input[_builtins.str]]
|
3638
|
+
"""
|
3639
|
+
Scheme to use for connecting to the host.
|
3640
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
3641
|
+
"""
|
3642
|
+
elif False:
|
3643
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgsDict: TypeAlias = Mapping[str, Any]
|
3644
|
+
|
3645
|
+
@pulumi.input_type
|
3646
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetArgs:
|
3647
|
+
def __init__(__self__, *,
|
3648
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
3649
|
+
http_headers: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs']]]] = None,
|
3650
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
3651
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
3652
|
+
scheme: Optional[pulumi.Input[_builtins.str]] = None):
|
3653
|
+
"""
|
3654
|
+
:param pulumi.Input[_builtins.str] host: Host name to connect to, defaults to the model serving container's IP.
|
3655
|
+
You probably want to set "Host" in httpHeaders instead.
|
3656
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs']]] http_headers: Custom headers to set in the request. HTTP allows repeated headers.
|
3657
|
+
Structure is documented below.
|
3658
|
+
:param pulumi.Input[_builtins.str] path: Path to access on the HTTP server.
|
3659
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
3660
|
+
Number must be in the range 1 to 65535.
|
3661
|
+
:param pulumi.Input[_builtins.str] scheme: Scheme to use for connecting to the host.
|
3662
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
3663
|
+
"""
|
3664
|
+
if host is not None:
|
3665
|
+
pulumi.set(__self__, "host", host)
|
3666
|
+
if http_headers is not None:
|
3667
|
+
pulumi.set(__self__, "http_headers", http_headers)
|
3668
|
+
if path is not None:
|
3669
|
+
pulumi.set(__self__, "path", path)
|
3670
|
+
if port is not None:
|
3671
|
+
pulumi.set(__self__, "port", port)
|
3672
|
+
if scheme is not None:
|
3673
|
+
pulumi.set(__self__, "scheme", scheme)
|
3674
|
+
|
3675
|
+
@_builtins.property
|
3676
|
+
@pulumi.getter
|
3677
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3678
|
+
"""
|
3679
|
+
Host name to connect to, defaults to the model serving container's IP.
|
3680
|
+
You probably want to set "Host" in httpHeaders instead.
|
3681
|
+
"""
|
3682
|
+
return pulumi.get(self, "host")
|
3683
|
+
|
3684
|
+
@host.setter
|
3685
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3686
|
+
pulumi.set(self, "host", value)
|
3687
|
+
|
3688
|
+
@_builtins.property
|
3689
|
+
@pulumi.getter(name="httpHeaders")
|
3690
|
+
def http_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs']]]]:
|
3691
|
+
"""
|
3692
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
3693
|
+
Structure is documented below.
|
3694
|
+
"""
|
3695
|
+
return pulumi.get(self, "http_headers")
|
3696
|
+
|
3697
|
+
@http_headers.setter
|
3698
|
+
def http_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs']]]]):
|
3699
|
+
pulumi.set(self, "http_headers", value)
|
3700
|
+
|
3701
|
+
@_builtins.property
|
3702
|
+
@pulumi.getter
|
3703
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3704
|
+
"""
|
3705
|
+
Path to access on the HTTP server.
|
3706
|
+
"""
|
3707
|
+
return pulumi.get(self, "path")
|
3708
|
+
|
3709
|
+
@path.setter
|
3710
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3711
|
+
pulumi.set(self, "path", value)
|
3712
|
+
|
3713
|
+
@_builtins.property
|
3714
|
+
@pulumi.getter
|
3715
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3716
|
+
"""
|
3717
|
+
Number of the port to access on the container.
|
3718
|
+
Number must be in the range 1 to 65535.
|
3719
|
+
"""
|
3720
|
+
return pulumi.get(self, "port")
|
3721
|
+
|
3722
|
+
@port.setter
|
3723
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3724
|
+
pulumi.set(self, "port", value)
|
3725
|
+
|
3726
|
+
@_builtins.property
|
3727
|
+
@pulumi.getter
|
3728
|
+
def scheme(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3729
|
+
"""
|
3730
|
+
Scheme to use for connecting to the host.
|
3731
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
3732
|
+
"""
|
3733
|
+
return pulumi.get(self, "scheme")
|
3734
|
+
|
3735
|
+
@scheme.setter
|
3736
|
+
def scheme(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3737
|
+
pulumi.set(self, "scheme", value)
|
3738
|
+
|
3739
|
+
|
3740
|
+
if not MYPY:
|
3741
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgsDict(TypedDict):
|
3742
|
+
name: NotRequired[pulumi.Input[_builtins.str]]
|
3743
|
+
"""
|
3744
|
+
The header field name.
|
3745
|
+
This will be canonicalized upon output, so case-variant names will be
|
3746
|
+
understood as the same header.
|
3747
|
+
"""
|
3748
|
+
value: NotRequired[pulumi.Input[_builtins.str]]
|
3749
|
+
"""
|
3750
|
+
The header field value
|
3751
|
+
"""
|
3752
|
+
elif False:
|
3753
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgsDict: TypeAlias = Mapping[str, Any]
|
3754
|
+
|
3755
|
+
@pulumi.input_type
|
3756
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeHttpGetHttpHeaderArgs:
|
3757
|
+
def __init__(__self__, *,
|
3758
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
3759
|
+
value: Optional[pulumi.Input[_builtins.str]] = None):
|
3760
|
+
"""
|
3761
|
+
:param pulumi.Input[_builtins.str] name: The header field name.
|
3762
|
+
This will be canonicalized upon output, so case-variant names will be
|
3763
|
+
understood as the same header.
|
3764
|
+
:param pulumi.Input[_builtins.str] value: The header field value
|
3765
|
+
"""
|
3766
|
+
if name is not None:
|
3767
|
+
pulumi.set(__self__, "name", name)
|
3768
|
+
if value is not None:
|
3769
|
+
pulumi.set(__self__, "value", value)
|
3770
|
+
|
3771
|
+
@_builtins.property
|
3772
|
+
@pulumi.getter
|
3773
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3774
|
+
"""
|
3775
|
+
The header field name.
|
3776
|
+
This will be canonicalized upon output, so case-variant names will be
|
3777
|
+
understood as the same header.
|
3778
|
+
"""
|
3779
|
+
return pulumi.get(self, "name")
|
3780
|
+
|
3781
|
+
@name.setter
|
3782
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3783
|
+
pulumi.set(self, "name", value)
|
3784
|
+
|
3785
|
+
@_builtins.property
|
3786
|
+
@pulumi.getter
|
3787
|
+
def value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3788
|
+
"""
|
3789
|
+
The header field value
|
3790
|
+
"""
|
3791
|
+
return pulumi.get(self, "value")
|
3792
|
+
|
3793
|
+
@value.setter
|
3794
|
+
def value(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3795
|
+
pulumi.set(self, "value", value)
|
3796
|
+
|
3797
|
+
|
3798
|
+
if not MYPY:
|
3799
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgsDict(TypedDict):
|
3800
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
3801
|
+
"""
|
3802
|
+
Optional: Host name to connect to, defaults to the model serving
|
3803
|
+
container's IP.
|
3804
|
+
"""
|
3805
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
3806
|
+
"""
|
3807
|
+
Number of the port to access on the container.
|
3808
|
+
Number must be in the range 1 to 65535.
|
3809
|
+
"""
|
3810
|
+
elif False:
|
3811
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgsDict: TypeAlias = Mapping[str, Any]
|
3812
|
+
|
3813
|
+
@pulumi.input_type
|
3814
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecHealthProbeTcpSocketArgs:
|
3815
|
+
def __init__(__self__, *,
|
3816
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
3817
|
+
port: Optional[pulumi.Input[_builtins.int]] = None):
|
3818
|
+
"""
|
3819
|
+
:param pulumi.Input[_builtins.str] host: Optional: Host name to connect to, defaults to the model serving
|
3820
|
+
container's IP.
|
3821
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
3822
|
+
Number must be in the range 1 to 65535.
|
3823
|
+
"""
|
3824
|
+
if host is not None:
|
3825
|
+
pulumi.set(__self__, "host", host)
|
3826
|
+
if port is not None:
|
3827
|
+
pulumi.set(__self__, "port", port)
|
3828
|
+
|
3829
|
+
@_builtins.property
|
3830
|
+
@pulumi.getter
|
3831
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
3832
|
+
"""
|
3833
|
+
Optional: Host name to connect to, defaults to the model serving
|
3834
|
+
container's IP.
|
3835
|
+
"""
|
3836
|
+
return pulumi.get(self, "host")
|
3837
|
+
|
3838
|
+
@host.setter
|
3839
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
3840
|
+
pulumi.set(self, "host", value)
|
3841
|
+
|
3842
|
+
@_builtins.property
|
3843
|
+
@pulumi.getter
|
3844
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3845
|
+
"""
|
3846
|
+
Number of the port to access on the container.
|
3847
|
+
Number must be in the range 1 to 65535.
|
3848
|
+
"""
|
3849
|
+
return pulumi.get(self, "port")
|
3850
|
+
|
3851
|
+
@port.setter
|
3852
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3853
|
+
pulumi.set(self, "port", value)
|
3854
|
+
|
3855
|
+
|
3856
|
+
if not MYPY:
|
3857
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgsDict(TypedDict):
|
3858
|
+
exec_: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgsDict']]
|
3859
|
+
"""
|
3860
|
+
ExecAction specifies a command to execute.
|
3861
|
+
Structure is documented below.
|
3862
|
+
"""
|
3863
|
+
failure_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
3864
|
+
"""
|
3865
|
+
Number of consecutive failures before the probe is considered failed.
|
3866
|
+
Defaults to 3. Minimum value is 1.
|
3867
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3868
|
+
"""
|
3869
|
+
grpc: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgsDict']]
|
3870
|
+
"""
|
3871
|
+
GrpcAction checks the health of a container using a gRPC service.
|
3872
|
+
Structure is documented below.
|
3873
|
+
"""
|
3874
|
+
http_get: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgsDict']]
|
3875
|
+
"""
|
3876
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
3877
|
+
Structure is documented below.
|
3878
|
+
"""
|
3879
|
+
initial_delay_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3880
|
+
"""
|
3881
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
3882
|
+
Minimum value is 0.
|
3883
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
3884
|
+
"""
|
3885
|
+
period_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3886
|
+
"""
|
3887
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
3888
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
3889
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
3890
|
+
"""
|
3891
|
+
success_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
3892
|
+
"""
|
3893
|
+
Number of consecutive successes before the probe is considered successful.
|
3894
|
+
Defaults to 1. Minimum value is 1.
|
3895
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
3896
|
+
"""
|
3897
|
+
tcp_socket: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgsDict']]
|
3898
|
+
"""
|
3899
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
3900
|
+
connection.
|
3901
|
+
Structure is documented below.
|
3902
|
+
"""
|
3903
|
+
timeout_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
3904
|
+
"""
|
3905
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
3906
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
3907
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
3908
|
+
"""
|
3909
|
+
elif False:
|
3910
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgsDict: TypeAlias = Mapping[str, Any]
|
3911
|
+
|
3912
|
+
@pulumi.input_type
|
3913
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeArgs:
|
3914
|
+
def __init__(__self__, *,
|
3915
|
+
exec_: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs']] = None,
|
3916
|
+
failure_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
3917
|
+
grpc: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs']] = None,
|
3918
|
+
http_get: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs']] = None,
|
3919
|
+
initial_delay_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
3920
|
+
period_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
3921
|
+
success_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
3922
|
+
tcp_socket: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs']] = None,
|
3923
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
3924
|
+
"""
|
3925
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs'] exec_: ExecAction specifies a command to execute.
|
3926
|
+
Structure is documented below.
|
3927
|
+
:param pulumi.Input[_builtins.int] failure_threshold: Number of consecutive failures before the probe is considered failed.
|
3928
|
+
Defaults to 3. Minimum value is 1.
|
3929
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3930
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs'] grpc: GrpcAction checks the health of a container using a gRPC service.
|
3931
|
+
Structure is documented below.
|
3932
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs'] http_get: HttpGetAction describes an action based on HTTP Get requests.
|
3933
|
+
Structure is documented below.
|
3934
|
+
:param pulumi.Input[_builtins.int] initial_delay_seconds: Number of seconds to wait before starting the probe. Defaults to 0.
|
3935
|
+
Minimum value is 0.
|
3936
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
3937
|
+
:param pulumi.Input[_builtins.int] period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds.
|
3938
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
3939
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
3940
|
+
:param pulumi.Input[_builtins.int] success_threshold: Number of consecutive successes before the probe is considered successful.
|
3941
|
+
Defaults to 1. Minimum value is 1.
|
3942
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
3943
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs'] tcp_socket: TcpSocketAction probes the health of a container by opening a TCP socket
|
3944
|
+
connection.
|
3945
|
+
Structure is documented below.
|
3946
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Number of seconds after which the probe times out. Defaults to 1 second.
|
3947
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
3948
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
3949
|
+
"""
|
3950
|
+
if exec_ is not None:
|
3951
|
+
pulumi.set(__self__, "exec_", exec_)
|
3952
|
+
if failure_threshold is not None:
|
3953
|
+
pulumi.set(__self__, "failure_threshold", failure_threshold)
|
3954
|
+
if grpc is not None:
|
3955
|
+
pulumi.set(__self__, "grpc", grpc)
|
3956
|
+
if http_get is not None:
|
3957
|
+
pulumi.set(__self__, "http_get", http_get)
|
3958
|
+
if initial_delay_seconds is not None:
|
3959
|
+
pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
|
3960
|
+
if period_seconds is not None:
|
3961
|
+
pulumi.set(__self__, "period_seconds", period_seconds)
|
3962
|
+
if success_threshold is not None:
|
3963
|
+
pulumi.set(__self__, "success_threshold", success_threshold)
|
3964
|
+
if tcp_socket is not None:
|
3965
|
+
pulumi.set(__self__, "tcp_socket", tcp_socket)
|
3966
|
+
if timeout_seconds is not None:
|
3967
|
+
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
3968
|
+
|
3969
|
+
@_builtins.property
|
3970
|
+
@pulumi.getter(name="exec")
|
3971
|
+
def exec_(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs']]:
|
3972
|
+
"""
|
3973
|
+
ExecAction specifies a command to execute.
|
3974
|
+
Structure is documented below.
|
3975
|
+
"""
|
3976
|
+
return pulumi.get(self, "exec_")
|
3977
|
+
|
3978
|
+
@exec_.setter
|
3979
|
+
def exec_(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs']]):
|
3980
|
+
pulumi.set(self, "exec_", value)
|
3981
|
+
|
3982
|
+
@_builtins.property
|
3983
|
+
@pulumi.getter(name="failureThreshold")
|
3984
|
+
def failure_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
3985
|
+
"""
|
3986
|
+
Number of consecutive failures before the probe is considered failed.
|
3987
|
+
Defaults to 3. Minimum value is 1.
|
3988
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
3989
|
+
"""
|
3990
|
+
return pulumi.get(self, "failure_threshold")
|
3991
|
+
|
3992
|
+
@failure_threshold.setter
|
3993
|
+
def failure_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
3994
|
+
pulumi.set(self, "failure_threshold", value)
|
3995
|
+
|
3996
|
+
@_builtins.property
|
3997
|
+
@pulumi.getter
|
3998
|
+
def grpc(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs']]:
|
3999
|
+
"""
|
4000
|
+
GrpcAction checks the health of a container using a gRPC service.
|
4001
|
+
Structure is documented below.
|
4002
|
+
"""
|
4003
|
+
return pulumi.get(self, "grpc")
|
4004
|
+
|
4005
|
+
@grpc.setter
|
4006
|
+
def grpc(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs']]):
|
4007
|
+
pulumi.set(self, "grpc", value)
|
4008
|
+
|
4009
|
+
@_builtins.property
|
4010
|
+
@pulumi.getter(name="httpGet")
|
4011
|
+
def http_get(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs']]:
|
4012
|
+
"""
|
4013
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
4014
|
+
Structure is documented below.
|
4015
|
+
"""
|
4016
|
+
return pulumi.get(self, "http_get")
|
4017
|
+
|
4018
|
+
@http_get.setter
|
4019
|
+
def http_get(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs']]):
|
4020
|
+
pulumi.set(self, "http_get", value)
|
4021
|
+
|
4022
|
+
@_builtins.property
|
4023
|
+
@pulumi.getter(name="initialDelaySeconds")
|
4024
|
+
def initial_delay_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4025
|
+
"""
|
4026
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
4027
|
+
Minimum value is 0.
|
4028
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
4029
|
+
"""
|
4030
|
+
return pulumi.get(self, "initial_delay_seconds")
|
4031
|
+
|
4032
|
+
@initial_delay_seconds.setter
|
4033
|
+
def initial_delay_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4034
|
+
pulumi.set(self, "initial_delay_seconds", value)
|
4035
|
+
|
4036
|
+
@_builtins.property
|
4037
|
+
@pulumi.getter(name="periodSeconds")
|
4038
|
+
def period_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4039
|
+
"""
|
4040
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
4041
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
4042
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
4043
|
+
"""
|
4044
|
+
return pulumi.get(self, "period_seconds")
|
4045
|
+
|
4046
|
+
@period_seconds.setter
|
4047
|
+
def period_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4048
|
+
pulumi.set(self, "period_seconds", value)
|
4049
|
+
|
4050
|
+
@_builtins.property
|
4051
|
+
@pulumi.getter(name="successThreshold")
|
4052
|
+
def success_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4053
|
+
"""
|
4054
|
+
Number of consecutive successes before the probe is considered successful.
|
4055
|
+
Defaults to 1. Minimum value is 1.
|
4056
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
4057
|
+
"""
|
4058
|
+
return pulumi.get(self, "success_threshold")
|
4059
|
+
|
4060
|
+
@success_threshold.setter
|
4061
|
+
def success_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4062
|
+
pulumi.set(self, "success_threshold", value)
|
4063
|
+
|
4064
|
+
@_builtins.property
|
4065
|
+
@pulumi.getter(name="tcpSocket")
|
4066
|
+
def tcp_socket(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs']]:
|
4067
|
+
"""
|
4068
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
4069
|
+
connection.
|
4070
|
+
Structure is documented below.
|
4071
|
+
"""
|
4072
|
+
return pulumi.get(self, "tcp_socket")
|
4073
|
+
|
4074
|
+
@tcp_socket.setter
|
4075
|
+
def tcp_socket(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs']]):
|
4076
|
+
pulumi.set(self, "tcp_socket", value)
|
4077
|
+
|
4078
|
+
@_builtins.property
|
4079
|
+
@pulumi.getter(name="timeoutSeconds")
|
4080
|
+
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4081
|
+
"""
|
4082
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
4083
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
4084
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
4085
|
+
"""
|
4086
|
+
return pulumi.get(self, "timeout_seconds")
|
4087
|
+
|
4088
|
+
@timeout_seconds.setter
|
4089
|
+
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4090
|
+
pulumi.set(self, "timeout_seconds", value)
|
4091
|
+
|
4092
|
+
|
4093
|
+
if not MYPY:
|
4094
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgsDict(TypedDict):
|
4095
|
+
commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
4096
|
+
"""
|
4097
|
+
Command is the command line to execute inside the container, the working
|
4098
|
+
directory for the command is root ('/') in the container's filesystem.
|
4099
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4100
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4101
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4102
|
+
live/healthy and non-zero is unhealthy.
|
4103
|
+
"""
|
4104
|
+
elif False:
|
4105
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgsDict: TypeAlias = Mapping[str, Any]
|
4106
|
+
|
4107
|
+
@pulumi.input_type
|
4108
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeExecArgs:
|
4109
|
+
def __init__(__self__, *,
|
4110
|
+
commands: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
4111
|
+
"""
|
4112
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] commands: Command is the command line to execute inside the container, the working
|
4113
|
+
directory for the command is root ('/') in the container's filesystem.
|
4114
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4115
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4116
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4117
|
+
live/healthy and non-zero is unhealthy.
|
4118
|
+
"""
|
4119
|
+
if commands is not None:
|
4120
|
+
pulumi.set(__self__, "commands", commands)
|
4121
|
+
|
4122
|
+
@_builtins.property
|
4123
|
+
@pulumi.getter
|
4124
|
+
def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
4125
|
+
"""
|
4126
|
+
Command is the command line to execute inside the container, the working
|
4127
|
+
directory for the command is root ('/') in the container's filesystem.
|
4128
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4129
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4130
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4131
|
+
live/healthy and non-zero is unhealthy.
|
4132
|
+
"""
|
4133
|
+
return pulumi.get(self, "commands")
|
4134
|
+
|
4135
|
+
@commands.setter
|
4136
|
+
def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
4137
|
+
pulumi.set(self, "commands", value)
|
4138
|
+
|
4139
|
+
|
4140
|
+
if not MYPY:
|
4141
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgsDict(TypedDict):
|
4142
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
4143
|
+
"""
|
4144
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4145
|
+
"""
|
4146
|
+
service: NotRequired[pulumi.Input[_builtins.str]]
|
4147
|
+
"""
|
4148
|
+
Service is the name of the service to place in the gRPC
|
4149
|
+
HealthCheckRequest. See
|
4150
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4151
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4152
|
+
"""
|
4153
|
+
elif False:
|
4154
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgsDict: TypeAlias = Mapping[str, Any]
|
4155
|
+
|
4156
|
+
@pulumi.input_type
|
4157
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeGrpcArgs:
|
4158
|
+
def __init__(__self__, *,
|
4159
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
4160
|
+
service: Optional[pulumi.Input[_builtins.str]] = None):
|
4161
|
+
"""
|
4162
|
+
:param pulumi.Input[_builtins.int] port: Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4163
|
+
:param pulumi.Input[_builtins.str] service: Service is the name of the service to place in the gRPC
|
4164
|
+
HealthCheckRequest. See
|
4165
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4166
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4167
|
+
"""
|
4168
|
+
if port is not None:
|
4169
|
+
pulumi.set(__self__, "port", port)
|
4170
|
+
if service is not None:
|
4171
|
+
pulumi.set(__self__, "service", service)
|
4172
|
+
|
4173
|
+
@_builtins.property
|
4174
|
+
@pulumi.getter
|
4175
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4176
|
+
"""
|
4177
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4178
|
+
"""
|
4179
|
+
return pulumi.get(self, "port")
|
4180
|
+
|
4181
|
+
@port.setter
|
4182
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4183
|
+
pulumi.set(self, "port", value)
|
4184
|
+
|
4185
|
+
@_builtins.property
|
4186
|
+
@pulumi.getter
|
4187
|
+
def service(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4188
|
+
"""
|
4189
|
+
Service is the name of the service to place in the gRPC
|
4190
|
+
HealthCheckRequest. See
|
4191
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4192
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4193
|
+
"""
|
4194
|
+
return pulumi.get(self, "service")
|
4195
|
+
|
4196
|
+
@service.setter
|
4197
|
+
def service(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4198
|
+
pulumi.set(self, "service", value)
|
4199
|
+
|
4200
|
+
|
4201
|
+
if not MYPY:
|
4202
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgsDict(TypedDict):
|
4203
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
4204
|
+
"""
|
4205
|
+
Host name to connect to, defaults to the model serving container's IP.
|
4206
|
+
You probably want to set "Host" in httpHeaders instead.
|
4207
|
+
"""
|
4208
|
+
http_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgsDict']]]]
|
4209
|
+
"""
|
4210
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
4211
|
+
Structure is documented below.
|
4212
|
+
"""
|
4213
|
+
path: NotRequired[pulumi.Input[_builtins.str]]
|
4214
|
+
"""
|
4215
|
+
Path to access on the HTTP server.
|
4216
|
+
"""
|
4217
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
4218
|
+
"""
|
4219
|
+
Number of the port to access on the container.
|
4220
|
+
Number must be in the range 1 to 65535.
|
4221
|
+
"""
|
4222
|
+
scheme: NotRequired[pulumi.Input[_builtins.str]]
|
4223
|
+
"""
|
4224
|
+
Scheme to use for connecting to the host.
|
4225
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4226
|
+
"""
|
4227
|
+
elif False:
|
4228
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgsDict: TypeAlias = Mapping[str, Any]
|
4229
|
+
|
4230
|
+
@pulumi.input_type
|
4231
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetArgs:
|
4232
|
+
def __init__(__self__, *,
|
4233
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
4234
|
+
http_headers: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs']]]] = None,
|
4235
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
4236
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
4237
|
+
scheme: Optional[pulumi.Input[_builtins.str]] = None):
|
4238
|
+
"""
|
4239
|
+
:param pulumi.Input[_builtins.str] host: Host name to connect to, defaults to the model serving container's IP.
|
4240
|
+
You probably want to set "Host" in httpHeaders instead.
|
4241
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs']]] http_headers: Custom headers to set in the request. HTTP allows repeated headers.
|
4242
|
+
Structure is documented below.
|
4243
|
+
:param pulumi.Input[_builtins.str] path: Path to access on the HTTP server.
|
4244
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
4245
|
+
Number must be in the range 1 to 65535.
|
4246
|
+
:param pulumi.Input[_builtins.str] scheme: Scheme to use for connecting to the host.
|
4247
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4248
|
+
"""
|
4249
|
+
if host is not None:
|
4250
|
+
pulumi.set(__self__, "host", host)
|
4251
|
+
if http_headers is not None:
|
4252
|
+
pulumi.set(__self__, "http_headers", http_headers)
|
4253
|
+
if path is not None:
|
4254
|
+
pulumi.set(__self__, "path", path)
|
4255
|
+
if port is not None:
|
4256
|
+
pulumi.set(__self__, "port", port)
|
4257
|
+
if scheme is not None:
|
4258
|
+
pulumi.set(__self__, "scheme", scheme)
|
4259
|
+
|
4260
|
+
@_builtins.property
|
4261
|
+
@pulumi.getter
|
4262
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4263
|
+
"""
|
4264
|
+
Host name to connect to, defaults to the model serving container's IP.
|
4265
|
+
You probably want to set "Host" in httpHeaders instead.
|
4266
|
+
"""
|
4267
|
+
return pulumi.get(self, "host")
|
4268
|
+
|
4269
|
+
@host.setter
|
4270
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4271
|
+
pulumi.set(self, "host", value)
|
4272
|
+
|
4273
|
+
@_builtins.property
|
4274
|
+
@pulumi.getter(name="httpHeaders")
|
4275
|
+
def http_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs']]]]:
|
4276
|
+
"""
|
4277
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
4278
|
+
Structure is documented below.
|
4279
|
+
"""
|
4280
|
+
return pulumi.get(self, "http_headers")
|
4281
|
+
|
4282
|
+
@http_headers.setter
|
4283
|
+
def http_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs']]]]):
|
4284
|
+
pulumi.set(self, "http_headers", value)
|
4285
|
+
|
4286
|
+
@_builtins.property
|
4287
|
+
@pulumi.getter
|
4288
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4289
|
+
"""
|
4290
|
+
Path to access on the HTTP server.
|
4291
|
+
"""
|
4292
|
+
return pulumi.get(self, "path")
|
4293
|
+
|
4294
|
+
@path.setter
|
4295
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4296
|
+
pulumi.set(self, "path", value)
|
4297
|
+
|
4298
|
+
@_builtins.property
|
4299
|
+
@pulumi.getter
|
4300
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4301
|
+
"""
|
4302
|
+
Number of the port to access on the container.
|
4303
|
+
Number must be in the range 1 to 65535.
|
4304
|
+
"""
|
4305
|
+
return pulumi.get(self, "port")
|
4306
|
+
|
4307
|
+
@port.setter
|
4308
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4309
|
+
pulumi.set(self, "port", value)
|
4310
|
+
|
4311
|
+
@_builtins.property
|
4312
|
+
@pulumi.getter
|
4313
|
+
def scheme(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4314
|
+
"""
|
4315
|
+
Scheme to use for connecting to the host.
|
4316
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4317
|
+
"""
|
4318
|
+
return pulumi.get(self, "scheme")
|
4319
|
+
|
4320
|
+
@scheme.setter
|
4321
|
+
def scheme(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4322
|
+
pulumi.set(self, "scheme", value)
|
4323
|
+
|
4324
|
+
|
4325
|
+
if not MYPY:
|
4326
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgsDict(TypedDict):
|
4327
|
+
name: NotRequired[pulumi.Input[_builtins.str]]
|
4328
|
+
"""
|
4329
|
+
The header field name.
|
4330
|
+
This will be canonicalized upon output, so case-variant names will be
|
4331
|
+
understood as the same header.
|
4332
|
+
"""
|
4333
|
+
value: NotRequired[pulumi.Input[_builtins.str]]
|
4334
|
+
"""
|
4335
|
+
The header field value
|
4336
|
+
"""
|
4337
|
+
elif False:
|
4338
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgsDict: TypeAlias = Mapping[str, Any]
|
4339
|
+
|
4340
|
+
@pulumi.input_type
|
4341
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeHttpGetHttpHeaderArgs:
|
4342
|
+
def __init__(__self__, *,
|
4343
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
4344
|
+
value: Optional[pulumi.Input[_builtins.str]] = None):
|
4345
|
+
"""
|
4346
|
+
:param pulumi.Input[_builtins.str] name: The header field name.
|
4347
|
+
This will be canonicalized upon output, so case-variant names will be
|
4348
|
+
understood as the same header.
|
4349
|
+
:param pulumi.Input[_builtins.str] value: The header field value
|
4350
|
+
"""
|
4351
|
+
if name is not None:
|
4352
|
+
pulumi.set(__self__, "name", name)
|
4353
|
+
if value is not None:
|
4354
|
+
pulumi.set(__self__, "value", value)
|
4355
|
+
|
4356
|
+
@_builtins.property
|
4357
|
+
@pulumi.getter
|
4358
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4359
|
+
"""
|
4360
|
+
The header field name.
|
4361
|
+
This will be canonicalized upon output, so case-variant names will be
|
4362
|
+
understood as the same header.
|
4363
|
+
"""
|
4364
|
+
return pulumi.get(self, "name")
|
4365
|
+
|
4366
|
+
@name.setter
|
4367
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4368
|
+
pulumi.set(self, "name", value)
|
4369
|
+
|
4370
|
+
@_builtins.property
|
4371
|
+
@pulumi.getter
|
4372
|
+
def value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4373
|
+
"""
|
4374
|
+
The header field value
|
4375
|
+
"""
|
4376
|
+
return pulumi.get(self, "value")
|
4377
|
+
|
4378
|
+
@value.setter
|
4379
|
+
def value(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4380
|
+
pulumi.set(self, "value", value)
|
4381
|
+
|
4382
|
+
|
4383
|
+
if not MYPY:
|
4384
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgsDict(TypedDict):
|
4385
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
4386
|
+
"""
|
4387
|
+
Optional: Host name to connect to, defaults to the model serving
|
4388
|
+
container's IP.
|
4389
|
+
"""
|
4390
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
4391
|
+
"""
|
4392
|
+
Number of the port to access on the container.
|
4393
|
+
Number must be in the range 1 to 65535.
|
4394
|
+
"""
|
4395
|
+
elif False:
|
4396
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgsDict: TypeAlias = Mapping[str, Any]
|
4397
|
+
|
4398
|
+
@pulumi.input_type
|
4399
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecLivenessProbeTcpSocketArgs:
|
4400
|
+
def __init__(__self__, *,
|
4401
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
4402
|
+
port: Optional[pulumi.Input[_builtins.int]] = None):
|
4403
|
+
"""
|
4404
|
+
:param pulumi.Input[_builtins.str] host: Optional: Host name to connect to, defaults to the model serving
|
4405
|
+
container's IP.
|
4406
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
4407
|
+
Number must be in the range 1 to 65535.
|
4408
|
+
"""
|
4409
|
+
if host is not None:
|
4410
|
+
pulumi.set(__self__, "host", host)
|
4411
|
+
if port is not None:
|
4412
|
+
pulumi.set(__self__, "port", port)
|
4413
|
+
|
4414
|
+
@_builtins.property
|
4415
|
+
@pulumi.getter
|
4416
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4417
|
+
"""
|
4418
|
+
Optional: Host name to connect to, defaults to the model serving
|
4419
|
+
container's IP.
|
4420
|
+
"""
|
4421
|
+
return pulumi.get(self, "host")
|
4422
|
+
|
4423
|
+
@host.setter
|
4424
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4425
|
+
pulumi.set(self, "host", value)
|
4426
|
+
|
4427
|
+
@_builtins.property
|
4428
|
+
@pulumi.getter
|
4429
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4430
|
+
"""
|
4431
|
+
Number of the port to access on the container.
|
4432
|
+
Number must be in the range 1 to 65535.
|
4433
|
+
"""
|
4434
|
+
return pulumi.get(self, "port")
|
4435
|
+
|
4436
|
+
@port.setter
|
4437
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4438
|
+
pulumi.set(self, "port", value)
|
4439
|
+
|
4440
|
+
|
4441
|
+
if not MYPY:
|
4442
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgsDict(TypedDict):
|
4443
|
+
container_port: NotRequired[pulumi.Input[_builtins.int]]
|
4444
|
+
"""
|
4445
|
+
The number of the port to expose on the pod's IP address.
|
4446
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
4447
|
+
"""
|
4448
|
+
elif False:
|
4449
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgsDict: TypeAlias = Mapping[str, Any]
|
4450
|
+
|
4451
|
+
@pulumi.input_type
|
4452
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecPortArgs:
|
4453
|
+
def __init__(__self__, *,
|
4454
|
+
container_port: Optional[pulumi.Input[_builtins.int]] = None):
|
4455
|
+
"""
|
4456
|
+
:param pulumi.Input[_builtins.int] container_port: The number of the port to expose on the pod's IP address.
|
4457
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
4458
|
+
"""
|
4459
|
+
if container_port is not None:
|
4460
|
+
pulumi.set(__self__, "container_port", container_port)
|
4461
|
+
|
4462
|
+
@_builtins.property
|
4463
|
+
@pulumi.getter(name="containerPort")
|
4464
|
+
def container_port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4465
|
+
"""
|
4466
|
+
The number of the port to expose on the pod's IP address.
|
4467
|
+
Must be a valid port number, between 1 and 65535 inclusive.
|
4468
|
+
"""
|
4469
|
+
return pulumi.get(self, "container_port")
|
4470
|
+
|
4471
|
+
@container_port.setter
|
4472
|
+
def container_port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4473
|
+
pulumi.set(self, "container_port", value)
|
4474
|
+
|
4475
|
+
|
4476
|
+
if not MYPY:
|
4477
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgsDict(TypedDict):
|
4478
|
+
exec_: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgsDict']]
|
4479
|
+
"""
|
4480
|
+
ExecAction specifies a command to execute.
|
4481
|
+
Structure is documented below.
|
4482
|
+
"""
|
4483
|
+
failure_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
4484
|
+
"""
|
4485
|
+
Number of consecutive failures before the probe is considered failed.
|
4486
|
+
Defaults to 3. Minimum value is 1.
|
4487
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
4488
|
+
"""
|
4489
|
+
grpc: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgsDict']]
|
4490
|
+
"""
|
4491
|
+
GrpcAction checks the health of a container using a gRPC service.
|
4492
|
+
Structure is documented below.
|
4493
|
+
"""
|
4494
|
+
http_get: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgsDict']]
|
4495
|
+
"""
|
4496
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
4497
|
+
Structure is documented below.
|
4498
|
+
"""
|
4499
|
+
initial_delay_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
4500
|
+
"""
|
4501
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
4502
|
+
Minimum value is 0.
|
4503
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
4504
|
+
"""
|
4505
|
+
period_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
4506
|
+
"""
|
4507
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
4508
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
4509
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
4510
|
+
"""
|
4511
|
+
success_threshold: NotRequired[pulumi.Input[_builtins.int]]
|
4512
|
+
"""
|
4513
|
+
Number of consecutive successes before the probe is considered successful.
|
4514
|
+
Defaults to 1. Minimum value is 1.
|
4515
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
4516
|
+
"""
|
4517
|
+
tcp_socket: NotRequired[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgsDict']]
|
4518
|
+
"""
|
4519
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
4520
|
+
connection.
|
4521
|
+
Structure is documented below.
|
4522
|
+
"""
|
4523
|
+
timeout_seconds: NotRequired[pulumi.Input[_builtins.int]]
|
4524
|
+
"""
|
4525
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
4526
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
4527
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
4528
|
+
"""
|
4529
|
+
elif False:
|
4530
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgsDict: TypeAlias = Mapping[str, Any]
|
4531
|
+
|
4532
|
+
@pulumi.input_type
|
4533
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeArgs:
|
4534
|
+
def __init__(__self__, *,
|
4535
|
+
exec_: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs']] = None,
|
4536
|
+
failure_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
4537
|
+
grpc: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs']] = None,
|
4538
|
+
http_get: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs']] = None,
|
4539
|
+
initial_delay_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
4540
|
+
period_seconds: Optional[pulumi.Input[_builtins.int]] = None,
|
4541
|
+
success_threshold: Optional[pulumi.Input[_builtins.int]] = None,
|
4542
|
+
tcp_socket: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs']] = None,
|
4543
|
+
timeout_seconds: Optional[pulumi.Input[_builtins.int]] = None):
|
4544
|
+
"""
|
4545
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs'] exec_: ExecAction specifies a command to execute.
|
4546
|
+
Structure is documented below.
|
4547
|
+
:param pulumi.Input[_builtins.int] failure_threshold: Number of consecutive failures before the probe is considered failed.
|
4548
|
+
Defaults to 3. Minimum value is 1.
|
4549
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
4550
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs'] grpc: GrpcAction checks the health of a container using a gRPC service.
|
4551
|
+
Structure is documented below.
|
4552
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs'] http_get: HttpGetAction describes an action based on HTTP Get requests.
|
4553
|
+
Structure is documented below.
|
4554
|
+
:param pulumi.Input[_builtins.int] initial_delay_seconds: Number of seconds to wait before starting the probe. Defaults to 0.
|
4555
|
+
Minimum value is 0.
|
4556
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
4557
|
+
:param pulumi.Input[_builtins.int] period_seconds: How often (in seconds) to perform the probe. Default to 10 seconds.
|
4558
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
4559
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
4560
|
+
:param pulumi.Input[_builtins.int] success_threshold: Number of consecutive successes before the probe is considered successful.
|
4561
|
+
Defaults to 1. Minimum value is 1.
|
4562
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
4563
|
+
:param pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs'] tcp_socket: TcpSocketAction probes the health of a container by opening a TCP socket
|
4564
|
+
connection.
|
4565
|
+
Structure is documented below.
|
4566
|
+
:param pulumi.Input[_builtins.int] timeout_seconds: Number of seconds after which the probe times out. Defaults to 1 second.
|
4567
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
4568
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
4569
|
+
"""
|
4570
|
+
if exec_ is not None:
|
4571
|
+
pulumi.set(__self__, "exec_", exec_)
|
4572
|
+
if failure_threshold is not None:
|
4573
|
+
pulumi.set(__self__, "failure_threshold", failure_threshold)
|
4574
|
+
if grpc is not None:
|
4575
|
+
pulumi.set(__self__, "grpc", grpc)
|
4576
|
+
if http_get is not None:
|
4577
|
+
pulumi.set(__self__, "http_get", http_get)
|
4578
|
+
if initial_delay_seconds is not None:
|
4579
|
+
pulumi.set(__self__, "initial_delay_seconds", initial_delay_seconds)
|
4580
|
+
if period_seconds is not None:
|
4581
|
+
pulumi.set(__self__, "period_seconds", period_seconds)
|
4582
|
+
if success_threshold is not None:
|
4583
|
+
pulumi.set(__self__, "success_threshold", success_threshold)
|
4584
|
+
if tcp_socket is not None:
|
4585
|
+
pulumi.set(__self__, "tcp_socket", tcp_socket)
|
4586
|
+
if timeout_seconds is not None:
|
4587
|
+
pulumi.set(__self__, "timeout_seconds", timeout_seconds)
|
4588
|
+
|
4589
|
+
@_builtins.property
|
4590
|
+
@pulumi.getter(name="exec")
|
4591
|
+
def exec_(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs']]:
|
4592
|
+
"""
|
4593
|
+
ExecAction specifies a command to execute.
|
4594
|
+
Structure is documented below.
|
4595
|
+
"""
|
4596
|
+
return pulumi.get(self, "exec_")
|
4597
|
+
|
4598
|
+
@exec_.setter
|
4599
|
+
def exec_(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs']]):
|
4600
|
+
pulumi.set(self, "exec_", value)
|
4601
|
+
|
4602
|
+
@_builtins.property
|
4603
|
+
@pulumi.getter(name="failureThreshold")
|
4604
|
+
def failure_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4605
|
+
"""
|
4606
|
+
Number of consecutive failures before the probe is considered failed.
|
4607
|
+
Defaults to 3. Minimum value is 1.
|
4608
|
+
Maps to Kubernetes probe argument 'failureThreshold'.
|
4609
|
+
"""
|
4610
|
+
return pulumi.get(self, "failure_threshold")
|
4611
|
+
|
4612
|
+
@failure_threshold.setter
|
4613
|
+
def failure_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4614
|
+
pulumi.set(self, "failure_threshold", value)
|
4615
|
+
|
4616
|
+
@_builtins.property
|
4617
|
+
@pulumi.getter
|
4618
|
+
def grpc(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs']]:
|
4619
|
+
"""
|
4620
|
+
GrpcAction checks the health of a container using a gRPC service.
|
4621
|
+
Structure is documented below.
|
4622
|
+
"""
|
4623
|
+
return pulumi.get(self, "grpc")
|
4624
|
+
|
4625
|
+
@grpc.setter
|
4626
|
+
def grpc(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs']]):
|
4627
|
+
pulumi.set(self, "grpc", value)
|
4628
|
+
|
4629
|
+
@_builtins.property
|
4630
|
+
@pulumi.getter(name="httpGet")
|
4631
|
+
def http_get(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs']]:
|
4632
|
+
"""
|
4633
|
+
HttpGetAction describes an action based on HTTP Get requests.
|
4634
|
+
Structure is documented below.
|
4635
|
+
"""
|
4636
|
+
return pulumi.get(self, "http_get")
|
4637
|
+
|
4638
|
+
@http_get.setter
|
4639
|
+
def http_get(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs']]):
|
4640
|
+
pulumi.set(self, "http_get", value)
|
4641
|
+
|
4642
|
+
@_builtins.property
|
4643
|
+
@pulumi.getter(name="initialDelaySeconds")
|
4644
|
+
def initial_delay_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4645
|
+
"""
|
4646
|
+
Number of seconds to wait before starting the probe. Defaults to 0.
|
4647
|
+
Minimum value is 0.
|
4648
|
+
Maps to Kubernetes probe argument 'initialDelaySeconds'.
|
4649
|
+
"""
|
4650
|
+
return pulumi.get(self, "initial_delay_seconds")
|
4651
|
+
|
4652
|
+
@initial_delay_seconds.setter
|
4653
|
+
def initial_delay_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4654
|
+
pulumi.set(self, "initial_delay_seconds", value)
|
4655
|
+
|
4656
|
+
@_builtins.property
|
4657
|
+
@pulumi.getter(name="periodSeconds")
|
4658
|
+
def period_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4659
|
+
"""
|
4660
|
+
How often (in seconds) to perform the probe. Default to 10 seconds.
|
4661
|
+
Minimum value is 1. Must be less than timeout_seconds.
|
4662
|
+
Maps to Kubernetes probe argument 'periodSeconds'.
|
4663
|
+
"""
|
4664
|
+
return pulumi.get(self, "period_seconds")
|
4665
|
+
|
4666
|
+
@period_seconds.setter
|
4667
|
+
def period_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4668
|
+
pulumi.set(self, "period_seconds", value)
|
4669
|
+
|
4670
|
+
@_builtins.property
|
4671
|
+
@pulumi.getter(name="successThreshold")
|
4672
|
+
def success_threshold(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4673
|
+
"""
|
4674
|
+
Number of consecutive successes before the probe is considered successful.
|
4675
|
+
Defaults to 1. Minimum value is 1.
|
4676
|
+
Maps to Kubernetes probe argument 'successThreshold'.
|
4677
|
+
"""
|
4678
|
+
return pulumi.get(self, "success_threshold")
|
4679
|
+
|
4680
|
+
@success_threshold.setter
|
4681
|
+
def success_threshold(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4682
|
+
pulumi.set(self, "success_threshold", value)
|
4683
|
+
|
4684
|
+
@_builtins.property
|
4685
|
+
@pulumi.getter(name="tcpSocket")
|
4686
|
+
def tcp_socket(self) -> Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs']]:
|
4687
|
+
"""
|
4688
|
+
TcpSocketAction probes the health of a container by opening a TCP socket
|
4689
|
+
connection.
|
4690
|
+
Structure is documented below.
|
4691
|
+
"""
|
4692
|
+
return pulumi.get(self, "tcp_socket")
|
4693
|
+
|
4694
|
+
@tcp_socket.setter
|
4695
|
+
def tcp_socket(self, value: Optional[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs']]):
|
4696
|
+
pulumi.set(self, "tcp_socket", value)
|
4697
|
+
|
4698
|
+
@_builtins.property
|
4699
|
+
@pulumi.getter(name="timeoutSeconds")
|
4700
|
+
def timeout_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4701
|
+
"""
|
4702
|
+
Number of seconds after which the probe times out. Defaults to 1 second.
|
4703
|
+
Minimum value is 1. Must be greater or equal to period_seconds.
|
4704
|
+
Maps to Kubernetes probe argument 'timeoutSeconds'.
|
4705
|
+
"""
|
4706
|
+
return pulumi.get(self, "timeout_seconds")
|
4707
|
+
|
4708
|
+
@timeout_seconds.setter
|
4709
|
+
def timeout_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4710
|
+
pulumi.set(self, "timeout_seconds", value)
|
4711
|
+
|
4712
|
+
|
4713
|
+
if not MYPY:
|
4714
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgsDict(TypedDict):
|
4715
|
+
commands: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
|
4716
|
+
"""
|
4717
|
+
Command is the command line to execute inside the container, the working
|
4718
|
+
directory for the command is root ('/') in the container's filesystem.
|
4719
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4720
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4721
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4722
|
+
live/healthy and non-zero is unhealthy.
|
4723
|
+
"""
|
4724
|
+
elif False:
|
4725
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgsDict: TypeAlias = Mapping[str, Any]
|
4726
|
+
|
4727
|
+
@pulumi.input_type
|
4728
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeExecArgs:
|
4729
|
+
def __init__(__self__, *,
|
4730
|
+
commands: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
|
4731
|
+
"""
|
4732
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] commands: Command is the command line to execute inside the container, the working
|
4733
|
+
directory for the command is root ('/') in the container's filesystem.
|
4734
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4735
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4736
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4737
|
+
live/healthy and non-zero is unhealthy.
|
4738
|
+
"""
|
4739
|
+
if commands is not None:
|
4740
|
+
pulumi.set(__self__, "commands", commands)
|
4741
|
+
|
4742
|
+
@_builtins.property
|
4743
|
+
@pulumi.getter
|
4744
|
+
def commands(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
4745
|
+
"""
|
4746
|
+
Command is the command line to execute inside the container, the working
|
4747
|
+
directory for the command is root ('/') in the container's filesystem.
|
4748
|
+
The command is simply exec'd, it is not run inside a shell, so
|
4749
|
+
traditional shell instructions ('|', etc) won't work. To use a shell, you
|
4750
|
+
need to explicitly call out to that shell. Exit status of 0 is treated as
|
4751
|
+
live/healthy and non-zero is unhealthy.
|
4752
|
+
"""
|
4753
|
+
return pulumi.get(self, "commands")
|
4754
|
+
|
4755
|
+
@commands.setter
|
4756
|
+
def commands(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
4757
|
+
pulumi.set(self, "commands", value)
|
4758
|
+
|
4759
|
+
|
4760
|
+
if not MYPY:
|
4761
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgsDict(TypedDict):
|
4762
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
4763
|
+
"""
|
4764
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4765
|
+
"""
|
4766
|
+
service: NotRequired[pulumi.Input[_builtins.str]]
|
4767
|
+
"""
|
4768
|
+
Service is the name of the service to place in the gRPC
|
4769
|
+
HealthCheckRequest. See
|
4770
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4771
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4772
|
+
"""
|
4773
|
+
elif False:
|
4774
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgsDict: TypeAlias = Mapping[str, Any]
|
4775
|
+
|
4776
|
+
@pulumi.input_type
|
4777
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeGrpcArgs:
|
4778
|
+
def __init__(__self__, *,
|
4779
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
4780
|
+
service: Optional[pulumi.Input[_builtins.str]] = None):
|
4781
|
+
"""
|
4782
|
+
:param pulumi.Input[_builtins.int] port: Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4783
|
+
:param pulumi.Input[_builtins.str] service: Service is the name of the service to place in the gRPC
|
4784
|
+
HealthCheckRequest. See
|
4785
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4786
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4787
|
+
"""
|
4788
|
+
if port is not None:
|
4789
|
+
pulumi.set(__self__, "port", port)
|
4790
|
+
if service is not None:
|
4791
|
+
pulumi.set(__self__, "service", service)
|
4792
|
+
|
4793
|
+
@_builtins.property
|
4794
|
+
@pulumi.getter
|
4795
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4796
|
+
"""
|
4797
|
+
Port number of the gRPC service. Number must be in the range 1 to 65535.
|
4798
|
+
"""
|
4799
|
+
return pulumi.get(self, "port")
|
4800
|
+
|
4801
|
+
@port.setter
|
4802
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4803
|
+
pulumi.set(self, "port", value)
|
4804
|
+
|
4805
|
+
@_builtins.property
|
4806
|
+
@pulumi.getter
|
4807
|
+
def service(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4808
|
+
"""
|
4809
|
+
Service is the name of the service to place in the gRPC
|
4810
|
+
HealthCheckRequest. See
|
4811
|
+
https://github.com/grpc/grpc/blob/master/doc/health-checking.md.
|
4812
|
+
If this is not specified, the default behavior is defined by gRPC.
|
4813
|
+
"""
|
4814
|
+
return pulumi.get(self, "service")
|
4815
|
+
|
4816
|
+
@service.setter
|
4817
|
+
def service(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4818
|
+
pulumi.set(self, "service", value)
|
4819
|
+
|
4820
|
+
|
4821
|
+
if not MYPY:
|
4822
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgsDict(TypedDict):
|
4823
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
4824
|
+
"""
|
4825
|
+
Host name to connect to, defaults to the model serving container's IP.
|
4826
|
+
You probably want to set "Host" in httpHeaders instead.
|
4827
|
+
"""
|
4828
|
+
http_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgsDict']]]]
|
4829
|
+
"""
|
4830
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
4831
|
+
Structure is documented below.
|
4832
|
+
"""
|
4833
|
+
path: NotRequired[pulumi.Input[_builtins.str]]
|
4834
|
+
"""
|
4835
|
+
Path to access on the HTTP server.
|
4836
|
+
"""
|
4837
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
4838
|
+
"""
|
4839
|
+
Number of the port to access on the container.
|
4840
|
+
Number must be in the range 1 to 65535.
|
4841
|
+
"""
|
4842
|
+
scheme: NotRequired[pulumi.Input[_builtins.str]]
|
4843
|
+
"""
|
4844
|
+
Scheme to use for connecting to the host.
|
4845
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4846
|
+
"""
|
4847
|
+
elif False:
|
4848
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgsDict: TypeAlias = Mapping[str, Any]
|
4849
|
+
|
4850
|
+
@pulumi.input_type
|
4851
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetArgs:
|
4852
|
+
def __init__(__self__, *,
|
4853
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
4854
|
+
http_headers: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs']]]] = None,
|
4855
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
4856
|
+
port: Optional[pulumi.Input[_builtins.int]] = None,
|
4857
|
+
scheme: Optional[pulumi.Input[_builtins.str]] = None):
|
4858
|
+
"""
|
4859
|
+
:param pulumi.Input[_builtins.str] host: Host name to connect to, defaults to the model serving container's IP.
|
4860
|
+
You probably want to set "Host" in httpHeaders instead.
|
4861
|
+
:param pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs']]] http_headers: Custom headers to set in the request. HTTP allows repeated headers.
|
4862
|
+
Structure is documented below.
|
4863
|
+
:param pulumi.Input[_builtins.str] path: Path to access on the HTTP server.
|
4864
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
4865
|
+
Number must be in the range 1 to 65535.
|
4866
|
+
:param pulumi.Input[_builtins.str] scheme: Scheme to use for connecting to the host.
|
4867
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4868
|
+
"""
|
4869
|
+
if host is not None:
|
4870
|
+
pulumi.set(__self__, "host", host)
|
4871
|
+
if http_headers is not None:
|
4872
|
+
pulumi.set(__self__, "http_headers", http_headers)
|
4873
|
+
if path is not None:
|
4874
|
+
pulumi.set(__self__, "path", path)
|
4875
|
+
if port is not None:
|
4876
|
+
pulumi.set(__self__, "port", port)
|
4877
|
+
if scheme is not None:
|
4878
|
+
pulumi.set(__self__, "scheme", scheme)
|
4879
|
+
|
4880
|
+
@_builtins.property
|
4881
|
+
@pulumi.getter
|
4882
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4883
|
+
"""
|
4884
|
+
Host name to connect to, defaults to the model serving container's IP.
|
4885
|
+
You probably want to set "Host" in httpHeaders instead.
|
4886
|
+
"""
|
4887
|
+
return pulumi.get(self, "host")
|
4888
|
+
|
4889
|
+
@host.setter
|
4890
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4891
|
+
pulumi.set(self, "host", value)
|
4892
|
+
|
4893
|
+
@_builtins.property
|
4894
|
+
@pulumi.getter(name="httpHeaders")
|
4895
|
+
def http_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs']]]]:
|
4896
|
+
"""
|
4897
|
+
Custom headers to set in the request. HTTP allows repeated headers.
|
4898
|
+
Structure is documented below.
|
4899
|
+
"""
|
4900
|
+
return pulumi.get(self, "http_headers")
|
4901
|
+
|
4902
|
+
@http_headers.setter
|
4903
|
+
def http_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs']]]]):
|
4904
|
+
pulumi.set(self, "http_headers", value)
|
4905
|
+
|
4906
|
+
@_builtins.property
|
4907
|
+
@pulumi.getter
|
4908
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4909
|
+
"""
|
4910
|
+
Path to access on the HTTP server.
|
4911
|
+
"""
|
4912
|
+
return pulumi.get(self, "path")
|
4913
|
+
|
4914
|
+
@path.setter
|
4915
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4916
|
+
pulumi.set(self, "path", value)
|
4917
|
+
|
4918
|
+
@_builtins.property
|
4919
|
+
@pulumi.getter
|
4920
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
4921
|
+
"""
|
4922
|
+
Number of the port to access on the container.
|
4923
|
+
Number must be in the range 1 to 65535.
|
4924
|
+
"""
|
4925
|
+
return pulumi.get(self, "port")
|
4926
|
+
|
4927
|
+
@port.setter
|
4928
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
4929
|
+
pulumi.set(self, "port", value)
|
4930
|
+
|
4931
|
+
@_builtins.property
|
4932
|
+
@pulumi.getter
|
4933
|
+
def scheme(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4934
|
+
"""
|
4935
|
+
Scheme to use for connecting to the host.
|
4936
|
+
Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
|
4937
|
+
"""
|
4938
|
+
return pulumi.get(self, "scheme")
|
4939
|
+
|
4940
|
+
@scheme.setter
|
4941
|
+
def scheme(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4942
|
+
pulumi.set(self, "scheme", value)
|
4943
|
+
|
4944
|
+
|
4945
|
+
if not MYPY:
|
4946
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgsDict(TypedDict):
|
4947
|
+
name: NotRequired[pulumi.Input[_builtins.str]]
|
4948
|
+
"""
|
4949
|
+
The header field name.
|
4950
|
+
This will be canonicalized upon output, so case-variant names will be
|
4951
|
+
understood as the same header.
|
4952
|
+
"""
|
4953
|
+
value: NotRequired[pulumi.Input[_builtins.str]]
|
4954
|
+
"""
|
4955
|
+
The header field value
|
4956
|
+
"""
|
4957
|
+
elif False:
|
4958
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgsDict: TypeAlias = Mapping[str, Any]
|
4959
|
+
|
4960
|
+
@pulumi.input_type
|
4961
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeHttpGetHttpHeaderArgs:
|
4962
|
+
def __init__(__self__, *,
|
4963
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
4964
|
+
value: Optional[pulumi.Input[_builtins.str]] = None):
|
4965
|
+
"""
|
4966
|
+
:param pulumi.Input[_builtins.str] name: The header field name.
|
4967
|
+
This will be canonicalized upon output, so case-variant names will be
|
4968
|
+
understood as the same header.
|
4969
|
+
:param pulumi.Input[_builtins.str] value: The header field value
|
4970
|
+
"""
|
4971
|
+
if name is not None:
|
4972
|
+
pulumi.set(__self__, "name", name)
|
4973
|
+
if value is not None:
|
4974
|
+
pulumi.set(__self__, "value", value)
|
4975
|
+
|
4976
|
+
@_builtins.property
|
4977
|
+
@pulumi.getter
|
4978
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4979
|
+
"""
|
4980
|
+
The header field name.
|
4981
|
+
This will be canonicalized upon output, so case-variant names will be
|
4982
|
+
understood as the same header.
|
4983
|
+
"""
|
4984
|
+
return pulumi.get(self, "name")
|
4985
|
+
|
4986
|
+
@name.setter
|
4987
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
4988
|
+
pulumi.set(self, "name", value)
|
4989
|
+
|
4990
|
+
@_builtins.property
|
4991
|
+
@pulumi.getter
|
4992
|
+
def value(self) -> Optional[pulumi.Input[_builtins.str]]:
|
4993
|
+
"""
|
4994
|
+
The header field value
|
4995
|
+
"""
|
4996
|
+
return pulumi.get(self, "value")
|
4997
|
+
|
4998
|
+
@value.setter
|
4999
|
+
def value(self, value: Optional[pulumi.Input[_builtins.str]]):
|
5000
|
+
pulumi.set(self, "value", value)
|
5001
|
+
|
5002
|
+
|
5003
|
+
if not MYPY:
|
5004
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgsDict(TypedDict):
|
5005
|
+
host: NotRequired[pulumi.Input[_builtins.str]]
|
5006
|
+
"""
|
5007
|
+
Optional: Host name to connect to, defaults to the model serving
|
5008
|
+
container's IP.
|
5009
|
+
"""
|
5010
|
+
port: NotRequired[pulumi.Input[_builtins.int]]
|
5011
|
+
"""
|
5012
|
+
Number of the port to access on the container.
|
5013
|
+
Number must be in the range 1 to 65535.
|
5014
|
+
"""
|
5015
|
+
elif False:
|
5016
|
+
AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgsDict: TypeAlias = Mapping[str, Any]
|
5017
|
+
|
5018
|
+
@pulumi.input_type
|
5019
|
+
class AiEndpointWithModelGardenDeploymentModelConfigContainerSpecStartupProbeTcpSocketArgs:
|
5020
|
+
def __init__(__self__, *,
|
5021
|
+
host: Optional[pulumi.Input[_builtins.str]] = None,
|
5022
|
+
port: Optional[pulumi.Input[_builtins.int]] = None):
|
5023
|
+
"""
|
5024
|
+
:param pulumi.Input[_builtins.str] host: Optional: Host name to connect to, defaults to the model serving
|
5025
|
+
container's IP.
|
5026
|
+
:param pulumi.Input[_builtins.int] port: Number of the port to access on the container.
|
5027
|
+
Number must be in the range 1 to 65535.
|
5028
|
+
"""
|
5029
|
+
if host is not None:
|
5030
|
+
pulumi.set(__self__, "host", host)
|
5031
|
+
if port is not None:
|
5032
|
+
pulumi.set(__self__, "port", port)
|
5033
|
+
|
5034
|
+
@_builtins.property
|
5035
|
+
@pulumi.getter
|
5036
|
+
def host(self) -> Optional[pulumi.Input[_builtins.str]]:
|
5037
|
+
"""
|
5038
|
+
Optional: Host name to connect to, defaults to the model serving
|
5039
|
+
container's IP.
|
5040
|
+
"""
|
5041
|
+
return pulumi.get(self, "host")
|
5042
|
+
|
5043
|
+
@host.setter
|
5044
|
+
def host(self, value: Optional[pulumi.Input[_builtins.str]]):
|
5045
|
+
pulumi.set(self, "host", value)
|
5046
|
+
|
5047
|
+
@_builtins.property
|
5048
|
+
@pulumi.getter
|
5049
|
+
def port(self) -> Optional[pulumi.Input[_builtins.int]]:
|
5050
|
+
"""
|
5051
|
+
Number of the port to access on the container.
|
5052
|
+
Number must be in the range 1 to 65535.
|
5053
|
+
"""
|
5054
|
+
return pulumi.get(self, "port")
|
5055
|
+
|
5056
|
+
@port.setter
|
5057
|
+
def port(self, value: Optional[pulumi.Input[_builtins.int]]):
|
5058
|
+
pulumi.set(self, "port", value)
|
5059
|
+
|
5060
|
+
|
1418
5061
|
if not MYPY:
|
1419
5062
|
class AiFeatureGroupBigQueryArgsDict(TypedDict):
|
1420
5063
|
big_query_source: pulumi.Input['AiFeatureGroupBigQueryBigQuerySourceArgsDict']
|