UNPKG

@pulumi/databricks

Version:

A Pulumi package for creating and managing databricks cloud resources.

191 lines (190 loc) 8.79 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * This resource allows you to manage [Foundation Model provisioned throughput](https://docs.databricks.com/aws/en/machine-learning/foundation-model-apis/deploy-prov-throughput-foundation-model-apis) endpoints in Databricks. * * > This resource is currently in private preview, and only available for enrolled customers. * * > This resource can only be used with a workspace-level provider! * * ## Example Usage * * Creating a Foundation Model provisioned throughput endpoint * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as databricks from "@pulumi/databricks"; * * const llama = new databricks.ModelServingProvisionedThroughput("llama", { * aiGateway: { * usageTrackingConfig: { * enabled: true, * }, * }, * config: { * servedEntities: [{ * entityName: "system.ai.llama-4-maverick", * entityVersion: "1", * provisionedModelUnits: 100, * }], * }, * }); * ``` * * ## Access Control * * * databricks.Permissions can control which groups or individual users can *Manage*, *Query* or *View* individual serving endpoints. * * ## Related Resources * * The following resources are often used in the same context: * * * databricks.ModelServing to create custom and external serving endpoints in Databricks. * * databricks.RegisteredModel to create [Models in Unity Catalog](https://docs.databricks.com/en/mlflow/models-in-uc.html) in Databricks. * * End to end workspace management guide. * * databricks.Directory to manage directories in [Databricks Workspace](https://docs.databricks.com/workspace/workspace-objects.html). * * databricks.MlflowModel to create models in the [workspace model registry](https://docs.databricks.com/en/mlflow/model-registry.html) in Databricks. * * databricks.Notebook to manage [Databricks Notebooks](https://docs.databricks.com/notebooks/index.html). * * databricks.Notebook data to export a notebook from Databricks Workspace. * * databricks.Repo to manage [Databricks Repos](https://docs.databricks.com/repos.html). * * ## Import * * The model serving provisioned throughput resource can be imported using the name of the endpoint: * * hcl * * import { * * to = databricks_model_serving_provisioned_throughput.this * * id = "<model-serving-endpoint-name>" * * } * * ```sh * $ pulumi import databricks:index/modelServingProvisionedThroughput:ModelServingProvisionedThroughput Alternatively, when using Pulumi version 1.4 or earlier, import using the command: * ``` * * bash * * ```sh * $ pulumi import databricks:index/modelServingProvisionedThroughput:ModelServingProvisionedThroughput this <model-serving-endpoint-name> * ``` */ export declare class ModelServingProvisionedThroughput extends pulumi.CustomResource { /** * Get an existing ModelServingProvisionedThroughput resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ModelServingProvisionedThroughputState, opts?: pulumi.CustomResourceOptions): ModelServingProvisionedThroughput; /** * Returns true if the given object is an instance of ModelServingProvisionedThroughput. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is ModelServingProvisionedThroughput; /** * A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* */ readonly aiGateway: pulumi.Output<outputs.ModelServingProvisionedThroughputAiGateway | undefined>; /** * The Budget Policy ID set for this serving endpoint. */ readonly budgetPolicyId: pulumi.Output<string | undefined>; /** * The model serving endpoint configuration. */ readonly config: pulumi.Output<outputs.ModelServingProvisionedThroughputConfig>; /** * A block with Email notification setting. */ readonly emailNotifications: pulumi.Output<outputs.ModelServingProvisionedThroughputEmailNotifications | undefined>; /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. */ readonly name: pulumi.Output<string>; /** * Unique identifier of the serving endpoint primarily used to set permissions and refer to this instance for other operations. */ readonly servingEndpointId: pulumi.Output<string>; /** * Tags to be attached to the serving endpoint and automatically propagated to billing logs. */ readonly tags: pulumi.Output<outputs.ModelServingProvisionedThroughputTag[] | undefined>; /** * Create a ModelServingProvisionedThroughput resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: ModelServingProvisionedThroughputArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ModelServingProvisionedThroughput resources. */ export interface ModelServingProvisionedThroughputState { /** * A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* */ aiGateway?: pulumi.Input<inputs.ModelServingProvisionedThroughputAiGateway>; /** * The Budget Policy ID set for this serving endpoint. */ budgetPolicyId?: pulumi.Input<string>; /** * The model serving endpoint configuration. */ config?: pulumi.Input<inputs.ModelServingProvisionedThroughputConfig>; /** * A block with Email notification setting. */ emailNotifications?: pulumi.Input<inputs.ModelServingProvisionedThroughputEmailNotifications>; /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. */ name?: pulumi.Input<string>; /** * Unique identifier of the serving endpoint primarily used to set permissions and refer to this instance for other operations. */ servingEndpointId?: pulumi.Input<string>; /** * Tags to be attached to the serving endpoint and automatically propagated to billing logs. */ tags?: pulumi.Input<pulumi.Input<inputs.ModelServingProvisionedThroughputTag>[]>; } /** * The set of arguments for constructing a ModelServingProvisionedThroughput resource. */ export interface ModelServingProvisionedThroughputArgs { /** * A block with AI Gateway configuration for the serving endpoint. *Note: only external model endpoints are supported as of now.* */ aiGateway?: pulumi.Input<inputs.ModelServingProvisionedThroughputAiGateway>; /** * The Budget Policy ID set for this serving endpoint. */ budgetPolicyId?: pulumi.Input<string>; /** * The model serving endpoint configuration. */ config: pulumi.Input<inputs.ModelServingProvisionedThroughputConfig>; /** * A block with Email notification setting. */ emailNotifications?: pulumi.Input<inputs.ModelServingProvisionedThroughputEmailNotifications>; /** * The name of the model serving endpoint. This field is required and must be unique across a workspace. An endpoint name can consist of alphanumeric characters, dashes, and underscores. NOTE: Changing this name will delete the existing endpoint and create a new endpoint with the updated name. */ name?: pulumi.Input<string>; /** * Tags to be attached to the serving endpoint and automatically propagated to billing logs. */ tags?: pulumi.Input<pulumi.Input<inputs.ModelServingProvisionedThroughputTag>[]>; }