VertexAIEndpoint
Property | Value |
---|---|
Google Cloud Service Name | Vertex AI |
Google Cloud Service Documentation | /vertex-ai/docs |
Google Cloud REST Resource Name | v1beta1.projects.locations.endpoints |
Google Cloud REST Resource Documentation | /vertex-ai/docs/reference/rest/v1beta1/projects.locations.endpoints |
Config Connector Resource Short Names | gcpvertexaiendpoint gcpvertexaiendpoints vertexaiendpoint |
Config Connector Service Name | aiplatform.googleapis.com |
Config Connector Resource Fully Qualified Name | vertexaiendpoints.vertexai.cnrm.cloud.google.com |
Can Be Referenced by IAMPolicy/IAMPolicyMember | No |
Config Connector Default Average Reconcile Interval In Seconds | 600 |
Custom Resource Definition Properties
Spec
Schema
description: string
displayName: string
encryptionSpec:
kmsKeyNameRef:
external: string
name: string
namespace: string
networkRef:
external: string
name: string
namespace: string
projectRef:
external: string
name: string
namespace: string
region: string
resourceID: string
Fields | |
---|---|
Optional |
The description of the Endpoint. |
Required |
Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters. |
Optional |
Immutable. Customer-managed encryption key spec for an Endpoint. If set, this Endpoint and all sub-resources of this Endpoint will be secured by this key. |
Required* |
Required. The Cloud KMS resource identifier of the customer managed encryption key used to protect a resource. Has the form: projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key. The key needs to be in the same region as where the compute resource is created. |
Optional |
Allowed value: The `selfLink` field of a `KMSCryptoKey` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Optional |
Optional. The full name of the Google Compute Engine network to which the Endpoint should be peered. Private services access must already be configured for the network. If left unspecified, the Endpoint is not peered with any network. Only one of the fields, network or enablePrivateServiceConnect, can be set. Format: projects/{project_id}/global/networks/{network_name}. |
Optional |
Allowed value: string of the format `projects/{{project}}/global/networks/{{value}}`, where {{value}} is the `name` field of a `ComputeNetwork` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Required |
The project that this resource belongs to. |
Optional |
Allowed value: The `name` field of a `Project` resource. |
Optional |
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names |
Optional |
Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ |
Required |
Immutable. The region for the resource. |
Optional |
Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. |
* Field is required when parent field is specified
Status
Schema
conditions:
- lastTransitionTime: string
message: string
reason: string
status: string
type: string
observedGeneration: integer
observedState:
createTime: string
modelDeploymentMonitoringJob: string
Fields | |
---|---|
conditions |
Conditions represent the latest available observation of the resource's current state. |
conditions[] |
|
conditions[].lastTransitionTime |
Last time the condition transitioned from one status to another. |
conditions[].message |
Human-readable message indicating details about last transition. |
conditions[].reason |
Unique, one-word, CamelCase reason for the condition's last transition. |
conditions[].status |
Status is the status of the condition. Can be True, False, Unknown. |
conditions[].type |
Type is the type of the condition. |
observedGeneration |
ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. |
observedState |
The observed state of the underlying GCP resource. |
observedState.createTime |
Output only. Timestamp when this Endpoint was created. |
observedState.modelDeploymentMonitoringJob |
Output only. Resource name of the Model Monitoring job associated with this Endpoint if monitoring is enabled by CreateModelDeploymentMonitoringJob. Format: 'projects/{project}/locations/{location}/modelDeploymentMonitoringJobs/{model_deployment_monitoring_job}'. |
Sample YAML(s)
Vertexai Endpoint Encryptionkey
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: vertexai.cnrm.cloud.google.com/v1beta1
kind: VertexAIEndpoint
metadata:
name: vertexaiendpoint-sample-encryptionkey
labels:
label-one: "value-one"
spec:
displayName: "vertexai-endpoint-encryptionkey"
description: "example vertex AI endpoint with encryption key"
region: us-central1
encryptionSpec:
kmsKeyNameRef:
name: vertexaiendpoint-dep-encryptionkey
projectRef:
# Replace ${PROJECT_ID?} with your project ID.
external: ${PROJECT_ID?}
---
# Replace ${PROJECT_ID?} and ${PROJECT_NUMBER?} below with your desired project
# ID and project number.
apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
name: vertexaiendpoint-dep-encryptionkey
spec:
memberFrom:
serviceIdentityRef:
name: vertexaiendpoint-dep-encryptionkey
role: roles/cloudkms.cryptoKeyEncrypterDecrypter # required by vertex AI service agent to access KMS keys
resourceRef:
apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
kind: Project
external: projects/${PROJECT_ID?}
---
apiVersion: kms.cnrm.cloud.google.com/v1beta1
kind: KMSCryptoKey
metadata:
name: vertexaiendpoint-dep-encryptionkey
spec:
keyRingRef:
name: vertexaiendpoint-dep-encryptionkey
purpose: ENCRYPT_DECRYPT
---
apiVersion: kms.cnrm.cloud.google.com/v1beta1
kind: KMSKeyRing
metadata:
name: vertexaiendpoint-dep-encryptionkey
spec:
location: us-central1
---
apiVersion: serviceusage.cnrm.cloud.google.com/v1beta1
kind: ServiceIdentity
metadata:
name: vertexaiendpoint-dep-encryptionkey
annotations:
cnrm.cloud.google.com/deletion-policy: "abandon"
spec:
projectRef:
# Replace ${PROJECT_ID?} with your project ID.
external: ${PROJECT_ID?}
resourceID: aiplatform.googleapis.com
Vertexai Endpoint Network
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
apiVersion: vertexai.cnrm.cloud.google.com/v1beta1
kind: VertexAIEndpoint
metadata:
name: vertexaiendpoint-sample-network
labels:
label-one: "value-one"
spec:
displayName: "vertexai-endpoint-network"
description: "example vertex AI endpoint with network peering"
region: us-central1
networkRef:
name: vertexaiendpoint-dep-network
projectRef:
# Replace ${PROJECT_ID?} with your project ID.
external: ${PROJECT_ID?}
---
apiVersion: compute.cnrm.cloud.google.com/v1beta1
kind: ComputeAddress
metadata:
name: vertexaiendpoint-dep-network
spec:
location: global
purpose: VPC_PEERING
addressType: INTERNAL
prefixLength: 24
networkRef:
name: vertexaiendpoint-dep-network
---
apiVersion: compute.cnrm.cloud.google.com/v1beta1
kind: ComputeNetwork
metadata:
name: vertexaiendpoint-dep-network
spec:
autoCreateSubnetworks: false
---
apiVersion: servicenetworking.cnrm.cloud.google.com/v1beta1
kind: ServiceNetworkingConnection
metadata:
name: vertexaiendpoint-dep-network
spec:
networkRef:
name: vertexaiendpoint-dep-network
service: "servicenetworking.googleapis.com"
reservedPeeringRanges:
- name: vertexaiendpoint-dep-network