import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as outputs from "../../types/output"; /** * Creates a ModelDeploymentMonitoringJob. It will run periodically on a configured interval. * Auto-naming is currently not supported for this resource. */ export declare class ModelDeploymentMonitoringJob extends pulumi.CustomResource { /** * Get an existing ModelDeploymentMonitoringJob 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): ModelDeploymentMonitoringJob; /** * Returns true if the given object is an instance of ModelDeploymentMonitoringJob. 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 ModelDeploymentMonitoringJob; /** * YAML schema file uri describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. If this field is empty, all the feature data types are inferred from predict_instance_schema_uri, meaning that TFDV will use the data in the exact format(data type) as prediction request/response. If there are any data type differences between predict instance and TFDV instance, this field can be used to override the schema. For models trained with Vertex AI, this field must be set as all the fields in predict instance formatted as string. */ readonly analysisInstanceSchemaUri: pulumi.Output; /** * The created bigquery tables for the job under customer project. Customer could do their own query & analysis. There could be 4 log tables in maximum: 1. Training data logging predict request/response 2. Serving data logging predict request/response */ readonly bigqueryTables: pulumi.Output; /** * Timestamp when this ModelDeploymentMonitoringJob was created. */ readonly createTime: pulumi.Output; /** * The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob. */ readonly displayName: pulumi.Output; /** * If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing). */ readonly enableMonitoringPipelineLogs: pulumi.Output; /** * Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob and all sub-resources of this ModelDeploymentMonitoringJob will be secured by this key. */ readonly encryptionSpec: pulumi.Output; /** * Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` */ readonly endpoint: pulumi.Output; /** * Only populated when the job's state is `JOB_STATE_FAILED` or `JOB_STATE_CANCELLED`. */ readonly error: pulumi.Output; /** * The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. 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. */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Latest triggered monitoring pipeline metadata. */ readonly latestMonitoringPipelineMetadata: pulumi.Output; readonly location: pulumi.Output; /** * The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day. */ readonly logTtl: pulumi.Output; /** * Sample Strategy for logging. */ readonly loggingSamplingStrategy: pulumi.Output; /** * The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately. */ readonly modelDeploymentMonitoringObjectiveConfigs: pulumi.Output; /** * Schedule config for running the monitoring job. */ readonly modelDeploymentMonitoringScheduleConfig: pulumi.Output; /** * Alert config for model monitoring. */ readonly modelMonitoringAlertConfig: pulumi.Output; /** * Resource name of a ModelDeploymentMonitoringJob. */ readonly name: pulumi.Output; /** * Timestamp when this monitoring pipeline will be scheduled to run for the next round. */ readonly nextScheduleTime: pulumi.Output; /** * YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests. */ readonly predictInstanceSchemaUri: pulumi.Output; readonly project: pulumi.Output; /** * Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests. */ readonly samplePredictInstance: pulumi.Output; /** * Schedule state when the monitoring job is in Running state. */ readonly scheduleState: pulumi.Output; /** * The detailed state of the monitoring job. When the job is still creating, the state will be 'PENDING'. Once the job is successfully created, the state will be 'RUNNING'. Pause the job, the state will be 'PAUSED'. Resume the job, the state will return to 'RUNNING'. */ readonly state: pulumi.Output; /** * Stats anomalies base folder path. */ readonly statsAnomaliesBaseDirectory: pulumi.Output; /** * Timestamp when this ModelDeploymentMonitoringJob was updated most recently. */ readonly updateTime: pulumi.Output; /** * Create a ModelDeploymentMonitoringJob 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: ModelDeploymentMonitoringJobArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ModelDeploymentMonitoringJob resource. */ export interface ModelDeploymentMonitoringJobArgs { /** * YAML schema file uri describing the format of a single instance that you want Tensorflow Data Validation (TFDV) to analyze. If this field is empty, all the feature data types are inferred from predict_instance_schema_uri, meaning that TFDV will use the data in the exact format(data type) as prediction request/response. If there are any data type differences between predict instance and TFDV instance, this field can be used to override the schema. For models trained with Vertex AI, this field must be set as all the fields in predict instance formatted as string. */ analysisInstanceSchemaUri?: pulumi.Input; /** * The user-defined name of the ModelDeploymentMonitoringJob. The name can be up to 128 characters long and can consist of any UTF-8 characters. Display name of a ModelDeploymentMonitoringJob. */ displayName: pulumi.Input; /** * If true, the scheduled monitoring pipeline logs are sent to Google Cloud Logging, including pipeline status and anomalies detected. Please note the logs incur cost, which are subject to [Cloud Logging pricing](https://cloud.google.com/logging#pricing). */ enableMonitoringPipelineLogs?: pulumi.Input; /** * Customer-managed encryption key spec for a ModelDeploymentMonitoringJob. If set, this ModelDeploymentMonitoringJob and all sub-resources of this ModelDeploymentMonitoringJob will be secured by this key. */ encryptionSpec?: pulumi.Input; /** * Endpoint resource name. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` */ endpoint: pulumi.Input; /** * The labels with user-defined metadata to organize your ModelDeploymentMonitoringJob. 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. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; location?: pulumi.Input; /** * The TTL of BigQuery tables in user projects which stores logs. A day is the basic unit of the TTL and we take the ceil of TTL/86400(a day). e.g. { second: 3600} indicates ttl = 1 day. */ logTtl?: pulumi.Input; /** * Sample Strategy for logging. */ loggingSamplingStrategy: pulumi.Input; /** * The config for monitoring objectives. This is a per DeployedModel config. Each DeployedModel needs to be configured separately. */ modelDeploymentMonitoringObjectiveConfigs: pulumi.Input[]>; /** * Schedule config for running the monitoring job. */ modelDeploymentMonitoringScheduleConfig: pulumi.Input; /** * Alert config for model monitoring. */ modelMonitoringAlertConfig?: pulumi.Input; /** * YAML schema file uri describing the format of a single instance, which are given to format this Endpoint's prediction (and explanation). If not set, we will generate predict schema from collected predict requests. */ predictInstanceSchemaUri?: pulumi.Input; project?: pulumi.Input; /** * Sample Predict instance, same format as PredictRequest.instances, this can be set as a replacement of ModelDeploymentMonitoringJob.predict_instance_schema_uri. If not set, we will generate predict schema from collected predict requests. */ samplePredictInstance?: any; /** * Stats anomalies base folder path. */ statsAnomaliesBaseDirectory?: pulumi.Input; }