Google Cloud (GCP) Classic

v6.44.0 published on Tuesday, Nov 29, 2022 by Pulumi

AiEndpoint

Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.

To get more information about Endpoint, see:

Example Usage

Vertex Ai Endpoint Network

using System.Collections.Generic;
using Pulumi;
using Gcp = Pulumi.Gcp;

return await Deployment.RunAsync(() => 
{
    var vertexNetwork = Gcp.Compute.GetNetwork.Invoke(new()
    {
        Name = "network-name",
    });

    var vertexRange = new Gcp.Compute.GlobalAddress("vertexRange", new()
    {
        Purpose = "VPC_PEERING",
        AddressType = "INTERNAL",
        PrefixLength = 24,
        Network = vertexNetwork.Apply(getNetworkResult => getNetworkResult.Id),
    });

    var vertexVpcConnection = new Gcp.ServiceNetworking.Connection("vertexVpcConnection", new()
    {
        Network = vertexNetwork.Apply(getNetworkResult => getNetworkResult.Id),
        Service = "servicenetworking.googleapis.com",
        ReservedPeeringRanges = new[]
        {
            vertexRange.Name,
        },
    });

    var project = Gcp.Organizations.GetProject.Invoke();

    var endpoint = new Gcp.Vertex.AiEndpoint("endpoint", new()
    {
        DisplayName = "sample-endpoint",
        Description = "A sample vertex endpoint",
        Location = "us-central1",
        Labels = 
        {
            { "label-one", "value-one" },
        },
        Network = Output.Tuple(project.Apply(getProjectResult => getProjectResult), vertexNetwork.Apply(getNetworkResult => getNetworkResult)).Apply(values =>
        {
            var project = values.Item1;
            var vertexNetwork = values.Item2;
            return $"projects/{project.Apply(getProjectResult => getProjectResult.Number)}/global/networks/{vertexNetwork.Apply(getNetworkResult => getNetworkResult.Name)}";
        }),
        EncryptionSpec = new Gcp.Vertex.Inputs.AiEndpointEncryptionSpecArgs
        {
            KmsKeyName = "kms-name",
        },
    }, new CustomResourceOptions
    {
        DependsOn = new[]
        {
            vertexVpcConnection,
        },
    });

    var cryptoKey = new Gcp.Kms.CryptoKeyIAMMember("cryptoKey", new()
    {
        CryptoKeyId = "kms-name",
        Role = "roles/cloudkms.cryptoKeyEncrypterDecrypter",
        Member = $"serviceAccount:service-{project.Apply(getProjectResult => getProjectResult.Number)}@gcp-sa-aiplatform.iam.gserviceaccount.com",
    });

});
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/servicenetworking"
	"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/vertex"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		vertexNetwork, err := compute.LookupNetwork(ctx, &compute.LookupNetworkArgs{
			Name: "network-name",
		}, nil)
		if err != nil {
			return err
		}
		vertexRange, err := compute.NewGlobalAddress(ctx, "vertexRange", &compute.GlobalAddressArgs{
			Purpose:      pulumi.String("VPC_PEERING"),
			AddressType:  pulumi.String("INTERNAL"),
			PrefixLength: pulumi.Int(24),
			Network:      pulumi.String(vertexNetwork.Id),
		})
		if err != nil {
			return err
		}
		vertexVpcConnection, err := servicenetworking.NewConnection(ctx, "vertexVpcConnection", &servicenetworking.ConnectionArgs{
			Network: pulumi.String(vertexNetwork.Id),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				vertexRange.Name,
			},
		})
		if err != nil {
			return err
		}
		project, err := organizations.LookupProject(ctx, nil, nil)
		if err != nil {
			return err
		}
		_, err = vertex.NewAiEndpoint(ctx, "endpoint", &vertex.AiEndpointArgs{
			DisplayName: pulumi.String("sample-endpoint"),
			Description: pulumi.String("A sample vertex endpoint"),
			Location:    pulumi.String("us-central1"),
			Labels: pulumi.StringMap{
				"label-one": pulumi.String("value-one"),
			},
			Network: pulumi.String(fmt.Sprintf("projects/%v/global/networks/%v", project.Number, vertexNetwork.Name)),
			EncryptionSpec: &vertex.AiEndpointEncryptionSpecArgs{
				KmsKeyName: pulumi.String("kms-name"),
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			vertexVpcConnection,
		}))
		if err != nil {
			return err
		}
		_, err = kms.NewCryptoKeyIAMMember(ctx, "cryptoKey", &kms.CryptoKeyIAMMemberArgs{
			CryptoKeyId: pulumi.String("kms-name"),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Member:      pulumi.String(fmt.Sprintf("serviceAccount:service-%v@gcp-sa-aiplatform.iam.gserviceaccount.com", project.Number)),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.compute.ComputeFunctions;
import com.pulumi.gcp.compute.inputs.GetNetworkArgs;
import com.pulumi.gcp.compute.GlobalAddress;
import com.pulumi.gcp.compute.GlobalAddressArgs;
import com.pulumi.gcp.servicenetworking.Connection;
import com.pulumi.gcp.servicenetworking.ConnectionArgs;
import com.pulumi.gcp.organizations.OrganizationsFunctions;
import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
import com.pulumi.gcp.vertex.AiEndpoint;
import com.pulumi.gcp.vertex.AiEndpointArgs;
import com.pulumi.gcp.vertex.inputs.AiEndpointEncryptionSpecArgs;
import com.pulumi.gcp.kms.CryptoKeyIAMMember;
import com.pulumi.gcp.kms.CryptoKeyIAMMemberArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var vertexNetwork = ComputeFunctions.getNetwork(GetNetworkArgs.builder()
            .name("network-name")
            .build());

        var vertexRange = new GlobalAddress("vertexRange", GlobalAddressArgs.builder()        
            .purpose("VPC_PEERING")
            .addressType("INTERNAL")
            .prefixLength(24)
            .network(vertexNetwork.applyValue(getNetworkResult -> getNetworkResult.id()))
            .build());

        var vertexVpcConnection = new Connection("vertexVpcConnection", ConnectionArgs.builder()        
            .network(vertexNetwork.applyValue(getNetworkResult -> getNetworkResult.id()))
            .service("servicenetworking.googleapis.com")
            .reservedPeeringRanges(vertexRange.name())
            .build());

        final var project = OrganizationsFunctions.getProject();

        var endpoint = new AiEndpoint("endpoint", AiEndpointArgs.builder()        
            .displayName("sample-endpoint")
            .description("A sample vertex endpoint")
            .location("us-central1")
            .labels(Map.of("label-one", "value-one"))
            .network(String.format("projects/%s/global/networks/%s", project.applyValue(getProjectResult -> getProjectResult.number()),vertexNetwork.applyValue(getNetworkResult -> getNetworkResult.name())))
            .encryptionSpec(AiEndpointEncryptionSpecArgs.builder()
                .kmsKeyName("kms-name")
                .build())
            .build(), CustomResourceOptions.builder()
                .dependsOn(vertexVpcConnection)
                .build());

        var cryptoKey = new CryptoKeyIAMMember("cryptoKey", CryptoKeyIAMMemberArgs.builder()        
            .cryptoKeyId("kms-name")
            .role("roles/cloudkms.cryptoKeyEncrypterDecrypter")
            .member(String.format("serviceAccount:service-%s@gcp-sa-aiplatform.iam.gserviceaccount.com", project.applyValue(getProjectResult -> getProjectResult.number())))
            .build());

    }
}
import pulumi
import pulumi_gcp as gcp

vertex_network = gcp.compute.get_network(name="network-name")
vertex_range = gcp.compute.GlobalAddress("vertexRange",
    purpose="VPC_PEERING",
    address_type="INTERNAL",
    prefix_length=24,
    network=vertex_network.id)
vertex_vpc_connection = gcp.servicenetworking.Connection("vertexVpcConnection",
    network=vertex_network.id,
    service="servicenetworking.googleapis.com",
    reserved_peering_ranges=[vertex_range.name])
project = gcp.organizations.get_project()
endpoint = gcp.vertex.AiEndpoint("endpoint",
    display_name="sample-endpoint",
    description="A sample vertex endpoint",
    location="us-central1",
    labels={
        "label-one": "value-one",
    },
    network=f"projects/{project.number}/global/networks/{vertex_network.name}",
    encryption_spec=gcp.vertex.AiEndpointEncryptionSpecArgs(
        kms_key_name="kms-name",
    ),
    opts=pulumi.ResourceOptions(depends_on=[vertex_vpc_connection]))
crypto_key = gcp.kms.CryptoKeyIAMMember("cryptoKey",
    crypto_key_id="kms-name",
    role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
    member=f"serviceAccount:service-{project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com")
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";

const vertexNetwork = gcp.compute.getNetwork({
    name: "network-name",
});
const vertexRange = new gcp.compute.GlobalAddress("vertexRange", {
    purpose: "VPC_PEERING",
    addressType: "INTERNAL",
    prefixLength: 24,
    network: vertexNetwork.then(vertexNetwork => vertexNetwork.id),
});
const vertexVpcConnection = new gcp.servicenetworking.Connection("vertexVpcConnection", {
    network: vertexNetwork.then(vertexNetwork => vertexNetwork.id),
    service: "servicenetworking.googleapis.com",
    reservedPeeringRanges: [vertexRange.name],
});
const project = gcp.organizations.getProject({});
const endpoint = new gcp.vertex.AiEndpoint("endpoint", {
    displayName: "sample-endpoint",
    description: "A sample vertex endpoint",
    location: "us-central1",
    labels: {
        "label-one": "value-one",
    },
    network: Promise.all([project, vertexNetwork]).then(([project, vertexNetwork]) => `projects/${project.number}/global/networks/${vertexNetwork.name}`),
    encryptionSpec: {
        kmsKeyName: "kms-name",
    },
}, {
    dependsOn: [vertexVpcConnection],
});
const cryptoKey = new gcp.kms.CryptoKeyIAMMember("cryptoKey", {
    cryptoKeyId: "kms-name",
    role: "roles/cloudkms.cryptoKeyEncrypterDecrypter",
    member: project.then(project => `serviceAccount:service-${project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com`),
});
resources:
  endpoint:
    type: gcp:vertex:AiEndpoint
    properties:
      displayName: sample-endpoint
      description: A sample vertex endpoint
      location: us-central1
      labels:
        label-one: value-one
      network: projects/${project.number}/global/networks/${vertexNetwork.name}
      encryptionSpec:
        kmsKeyName: kms-name
    options:
      dependson:
        - ${vertexVpcConnection}
  vertexVpcConnection:
    type: gcp:servicenetworking:Connection
    properties:
      network: ${vertexNetwork.id}
      service: servicenetworking.googleapis.com
      reservedPeeringRanges:
        - ${vertexRange.name}
  vertexRange:
    type: gcp:compute:GlobalAddress
    properties:
      purpose: VPC_PEERING
      addressType: INTERNAL
      prefixLength: 24
      network: ${vertexNetwork.id}
  cryptoKey:
    type: gcp:kms:CryptoKeyIAMMember
    properties:
      cryptoKeyId: kms-name
      role: roles/cloudkms.cryptoKeyEncrypterDecrypter
      member: serviceAccount:service-${project.number}@gcp-sa-aiplatform.iam.gserviceaccount.com
variables:
  vertexNetwork:
    fn::invoke:
      Function: gcp:compute:getNetwork
      Arguments:
        name: network-name
  project:
    fn::invoke:
      Function: gcp:organizations:getProject
      Arguments: {}

Create AiEndpoint Resource

new AiEndpoint(name: string, args: AiEndpointArgs, opts?: CustomResourceOptions);
@overload
def AiEndpoint(resource_name: str,
               opts: Optional[ResourceOptions] = None,
               description: Optional[str] = None,
               display_name: Optional[str] = None,
               encryption_spec: Optional[AiEndpointEncryptionSpecArgs] = None,
               labels: Optional[Mapping[str, str]] = None,
               location: Optional[str] = None,
               name: Optional[str] = None,
               network: Optional[str] = None,
               project: Optional[str] = None)
@overload
def AiEndpoint(resource_name: str,
               args: AiEndpointArgs,
               opts: Optional[ResourceOptions] = None)
func NewAiEndpoint(ctx *Context, name string, args AiEndpointArgs, opts ...ResourceOption) (*AiEndpoint, error)
public AiEndpoint(string name, AiEndpointArgs args, CustomResourceOptions? opts = null)
public AiEndpoint(String name, AiEndpointArgs args)
public AiEndpoint(String name, AiEndpointArgs args, CustomResourceOptions options)
type: gcp:vertex:AiEndpoint
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args AiEndpointArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args AiEndpointArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args AiEndpointArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args AiEndpointArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args AiEndpointArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

AiEndpoint Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The AiEndpoint resource accepts the following input properties:

DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

Location string

The location for the resource

Description string

The description of the Endpoint.

EncryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

Labels Dictionary<string, string>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

Name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

Network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

Location string

The location for the resource

Description string

The description of the Endpoint.

EncryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

Labels map[string]string

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

Name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

Network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

location String

The location for the resource

description String

The description of the Endpoint.

encryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

labels Map<String,String>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

name String

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network String

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

displayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

location string

The location for the resource

description string

The description of the Endpoint.

encryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

labels {[key: string]: string}

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

display_name str

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

location str

The location for the resource

description str

The description of the Endpoint.

encryption_spec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

labels Mapping[str, str]

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

name str

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network str

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

location String

The location for the resource

description String

The description of the Endpoint.

encryptionSpec Property Map

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. Structure is documented below.

labels Map<String>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

name String

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network String

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

Outputs

All input properties are implicitly available as output properties. Additionally, the AiEndpoint resource produces the following output properties:

CreateTime string

Output only. Timestamp when this Endpoint was created.

DeployedModels List<AiEndpointDeployedModel>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

Etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

Id string

The provider-assigned unique ID for this managed resource.

ModelDeploymentMonitoringJob string

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}'

UpdateTime string

Output only. Timestamp when this Endpoint was last updated.

CreateTime string

Output only. Timestamp when this Endpoint was created.

DeployedModels []AiEndpointDeployedModel

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

Etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

Id string

The provider-assigned unique ID for this managed resource.

ModelDeploymentMonitoringJob string

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}'

UpdateTime string

Output only. Timestamp when this Endpoint was last updated.

createTime String

Output only. Timestamp when this Endpoint was created.

deployedModels List<AiEndpointDeployedModel>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

etag String

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

id String

The provider-assigned unique ID for this managed resource.

modelDeploymentMonitoringJob String

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}'

updateTime String

Output only. Timestamp when this Endpoint was last updated.

createTime string

Output only. Timestamp when this Endpoint was created.

deployedModels AiEndpointDeployedModel[]

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

id string

The provider-assigned unique ID for this managed resource.

modelDeploymentMonitoringJob string

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}'

updateTime string

Output only. Timestamp when this Endpoint was last updated.

create_time str

Output only. Timestamp when this Endpoint was created.

deployed_models Sequence[AiEndpointDeployedModel]

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

etag str

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

id str

The provider-assigned unique ID for this managed resource.

model_deployment_monitoring_job str

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}'

update_time str

Output only. Timestamp when this Endpoint was last updated.

createTime String

Output only. Timestamp when this Endpoint was created.

deployedModels List<Property Map>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

etag String

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

id String

The provider-assigned unique ID for this managed resource.

modelDeploymentMonitoringJob String

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}'

updateTime String

Output only. Timestamp when this Endpoint was last updated.

Look up Existing AiEndpoint Resource

Get an existing AiEndpoint resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: AiEndpointState, opts?: CustomResourceOptions): AiEndpoint
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        create_time: Optional[str] = None,
        deployed_models: Optional[Sequence[AiEndpointDeployedModelArgs]] = None,
        description: Optional[str] = None,
        display_name: Optional[str] = None,
        encryption_spec: Optional[AiEndpointEncryptionSpecArgs] = None,
        etag: Optional[str] = None,
        labels: Optional[Mapping[str, str]] = None,
        location: Optional[str] = None,
        model_deployment_monitoring_job: Optional[str] = None,
        name: Optional[str] = None,
        network: Optional[str] = None,
        project: Optional[str] = None,
        update_time: Optional[str] = None) -> AiEndpoint
func GetAiEndpoint(ctx *Context, name string, id IDInput, state *AiEndpointState, opts ...ResourceOption) (*AiEndpoint, error)
public static AiEndpoint Get(string name, Input<string> id, AiEndpointState? state, CustomResourceOptions? opts = null)
public static AiEndpoint get(String name, Output<String> id, AiEndpointState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
CreateTime string

Output only. Timestamp when this Endpoint was created.

DeployedModels List<AiEndpointDeployedModelArgs>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

Description string

The description of the Endpoint.

DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

EncryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

Etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

Labels Dictionary<string, string>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

Location string

The location for the resource

ModelDeploymentMonitoringJob string

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}'

Name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

Network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

UpdateTime string

Output only. Timestamp when this Endpoint was last updated.

CreateTime string

Output only. Timestamp when this Endpoint was created.

DeployedModels []AiEndpointDeployedModelArgs

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

Description string

The description of the Endpoint.

DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

EncryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

Etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

Labels map[string]string

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

Location string

The location for the resource

ModelDeploymentMonitoringJob string

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}'

Name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

Network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

Project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

UpdateTime string

Output only. Timestamp when this Endpoint was last updated.

createTime String

Output only. Timestamp when this Endpoint was created.

deployedModels List<AiEndpointDeployedModelArgs>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

description String

The description of the Endpoint.

displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

encryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

etag String

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels Map<String,String>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

location String

The location for the resource

modelDeploymentMonitoringJob String

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}'

name String

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network String

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

updateTime String

Output only. Timestamp when this Endpoint was last updated.

createTime string

Output only. Timestamp when this Endpoint was created.

deployedModels AiEndpointDeployedModelArgs[]

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

description string

The description of the Endpoint.

displayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

encryptionSpec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

etag string

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels {[key: string]: string}

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

location string

The location for the resource

modelDeploymentMonitoringJob string

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}'

name string

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network string

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project string

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

updateTime string

Output only. Timestamp when this Endpoint was last updated.

create_time str

Output only. Timestamp when this Endpoint was created.

deployed_models Sequence[AiEndpointDeployedModelArgs]

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

description str

The description of the Endpoint.

display_name str

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

encryption_spec AiEndpointEncryptionSpecArgs

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. Structure is documented below.

etag str

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels Mapping[str, str]

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

location str

The location for the resource

model_deployment_monitoring_job str

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}'

name str

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network str

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project str

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

update_time str

Output only. Timestamp when this Endpoint was last updated.

createTime String

Output only. Timestamp when this Endpoint was created.

deployedModels List<Property Map>

Output only. The models deployed in this Endpoint. To add or remove DeployedModels use EndpointService.DeployModel and EndpointService.UndeployModel respectively. Models can also be deployed and undeployed using the Cloud Console.

description String

The description of the Endpoint.

displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

encryptionSpec Property Map

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. Structure is documented below.

etag String

Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens.

labels Map<String>

The labels with user-defined metadata to organize your Endpoints. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels.

location String

The location for the resource

modelDeploymentMonitoringJob String

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}'

name String

The resource name of the Endpoint. The name must be numeric with no leading zeros and can be at most 10 digits.

network String

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 enable_private_service_connect, can be set. Format: projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is network name.

project String

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

updateTime String

Output only. Timestamp when this Endpoint was last updated.

Supporting Types

AiEndpointDeployedModel

AutomaticResources List<AiEndpointDeployedModelAutomaticResource>
CreateTime string
DedicatedResources List<AiEndpointDeployedModelDedicatedResource>
DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

EnableAccessLogging bool
EnableContainerLogging bool
Id string

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

Model string
ModelVersionId string
PrivateEndpoints List<AiEndpointDeployedModelPrivateEndpoint>
ServiceAccount string
SharedResources string
AutomaticResources []AiEndpointDeployedModelAutomaticResource
CreateTime string
DedicatedResources []AiEndpointDeployedModelDedicatedResource
DisplayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

EnableAccessLogging bool
EnableContainerLogging bool
Id string

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

Model string
ModelVersionId string
PrivateEndpoints []AiEndpointDeployedModelPrivateEndpoint
ServiceAccount string
SharedResources string
automaticResources List<AiEndpointDeployedModelAutomaticResource>
createTime String
dedicatedResources List<AiEndpointDeployedModelDedicatedResource>
displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

enableAccessLogging Boolean
enableContainerLogging Boolean
id String

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

model String
modelVersionId String
privateEndpoints List<AiEndpointDeployedModelPrivateEndpoint>
serviceAccount String
sharedResources String
automaticResources AiEndpointDeployedModelAutomaticResource[]
createTime string
dedicatedResources AiEndpointDeployedModelDedicatedResource[]
displayName string

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

enableAccessLogging boolean
enableContainerLogging boolean
id string

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

model string
modelVersionId string
privateEndpoints AiEndpointDeployedModelPrivateEndpoint[]
serviceAccount string
sharedResources string
automatic_resources Sequence[AiEndpointDeployedModelAutomaticResource]
create_time str
dedicated_resources Sequence[AiEndpointDeployedModelDedicatedResource]
display_name str

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

enable_access_logging bool
enable_container_logging bool
id str

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

model str
model_version_id str
private_endpoints Sequence[AiEndpointDeployedModelPrivateEndpoint]
service_account str
shared_resources str
automaticResources List<Property Map>
createTime String
dedicatedResources List<Property Map>
displayName String

Required. The display name of the Endpoint. The name can be up to 128 characters long and can consist of any UTF-8 characters.

enableAccessLogging Boolean
enableContainerLogging Boolean
id String

an identifier for the resource with format projects/{{project}}/locations/{{location}}/endpoints/{{name}}

model String
modelVersionId String
privateEndpoints List<Property Map>
serviceAccount String
sharedResources String

AiEndpointDeployedModelAutomaticResource

AiEndpointDeployedModelDedicatedResource

AiEndpointDeployedModelDedicatedResourceAutoscalingMetricSpec

MetricName string
Target int
MetricName string
Target int
metricName String
target Integer
metricName string
target number
metricName String
target Number

AiEndpointDeployedModelDedicatedResourceMachineSpec

AiEndpointDeployedModelPrivateEndpoint

AiEndpointEncryptionSpec

KmsKeyName string

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.

KmsKeyName string

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.

kmsKeyName String

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.

kmsKeyName string

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.

kms_key_name str

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.

kmsKeyName String

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.

Import

Endpoint can be imported using any of these accepted formats

 $ pulumi import gcp:vertex/aiEndpoint:AiEndpoint default projects/{{project}}/locations/{{location}}/endpoints/{{name}}
 $ pulumi import gcp:vertex/aiEndpoint:AiEndpoint default {{project}}/{{location}}/{{name}}
 $ pulumi import gcp:vertex/aiEndpoint:AiEndpoint default {{location}}/{{name}}

Package Details

Repository
https://github.com/pulumi/pulumi-gcp
License
Apache-2.0
Notes

This Pulumi package is based on the google-beta Terraform Provider.