/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * The name of the job definition. */ export type JobDefinitionName = string; /** * The name of a processing job */ export type ProcessingJobName = string; /** * The name of the endpoint used to run the monitoring job. */ export type EndpointName = string; /** * A flag indicate if the dataset format is Parquet */ export type Parquet = boolean; /** * Resource Type definition for AWS::SageMaker::DataQualityJobDefinition */ export interface AwsSagemakerDataqualityjobdefinition { /** * The Amazon Resource Name (ARN) of job definition. */ JobDefinitionArn?: string; JobDefinitionName?: JobDefinitionName; DataQualityBaselineConfig?: DataQualityBaselineConfig; DataQualityAppSpecification: DataQualityAppSpecification; DataQualityJobInput: DataQualityJobInput; DataQualityJobOutputConfig: MonitoringOutputConfig; JobResources: MonitoringResources; NetworkConfig?: NetworkConfig; EndpointName?: EndpointName; /** * The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf. */ RoleArn: string; StoppingCondition?: StoppingCondition; /** * An array of key-value pairs to apply to this resource. * * @maxItems 50 */ Tags?: Tag[]; /** * The time at which the job definition was created. */ CreationTime?: string; } /** * Baseline configuration used to validate that the data conforms to the specified constraints and statistics. */ export interface DataQualityBaselineConfig { BaseliningJobName?: ProcessingJobName; ConstraintsResource?: ConstraintsResource; StatisticsResource?: StatisticsResource; } /** * The baseline constraints resource for a monitoring job. */ export interface ConstraintsResource { /** * The Amazon S3 URI for baseline constraint file in Amazon S3 that the current monitoring job should validated against. */ S3Uri?: string; } /** * The baseline statistics resource for a monitoring job. */ export interface StatisticsResource { /** * The Amazon S3 URI for the baseline statistics file in Amazon S3 that the current monitoring job should be validated against. */ S3Uri?: string; } /** * Container image configuration object for the monitoring job. */ export interface DataQualityAppSpecification { /** * An array of arguments for the container used to run the monitoring job. * * @maxItems 50 */ ContainerArguments?: string[]; /** * Specifies the entrypoint for a container used to run the monitoring job. * * @maxItems 100 */ ContainerEntrypoint?: string[]; /** * The container image to be run by the monitoring job. */ ImageUri: string; /** * An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers. */ PostAnalyticsProcessorSourceUri?: string; /** * An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers */ RecordPreprocessorSourceUri?: string; /** * Sets the environment variables in the Docker container */ Environment?: {}; } /** * The inputs for a monitoring job. */ export interface DataQualityJobInput { EndpointInput?: EndpointInput; BatchTransformInput?: BatchTransformInput; } /** * The endpoint for a monitoring job. */ export interface EndpointInput { EndpointName: EndpointName; /** * Path to the filesystem where the endpoint data is available to the container. */ LocalPath: string; /** * Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated */ S3DataDistributionType?: "FullyReplicated" | "ShardedByS3Key"; /** * Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File. */ S3InputMode?: "Pipe" | "File"; } /** * The batch transform input for a monitoring job. */ export interface BatchTransformInput { /** * A URI that identifies the Amazon S3 storage location where Batch Transform Job captures data. */ DataCapturedDestinationS3Uri: string; DatasetFormat: DatasetFormat; /** * Path to the filesystem where the endpoint data is available to the container. */ LocalPath: string; /** * Whether input data distributed in Amazon S3 is fully replicated or sharded by an S3 key. Defauts to FullyReplicated */ S3DataDistributionType?: "FullyReplicated" | "ShardedByS3Key"; /** * Whether the Pipe or File is used as the input mode for transfering data for the monitoring job. Pipe mode is recommended for large datasets. File mode is useful for small files that fit in memory. Defaults to File. */ S3InputMode?: "Pipe" | "File"; } /** * The dataset format of the data to monitor */ export interface DatasetFormat { Csv?: Csv; Json?: Json; Parquet?: Parquet; [k: string]: unknown; } /** * The CSV format */ export interface Csv { /** * A boolean flag indicating if given CSV has header */ Header?: boolean; [k: string]: unknown; } /** * The Json format */ export interface Json { /** * A boolean flag indicating if it is JSON line format */ Line?: boolean; [k: string]: unknown; } /** * The output configuration for monitoring jobs. */ export interface MonitoringOutputConfig { /** * The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt the model artifacts at rest using Amazon S3 server-side encryption. */ KmsKeyId?: string; /** * Monitoring outputs for monitoring jobs. This is where the output of the periodic monitoring jobs is uploaded. */ MonitoringOutputs: MonitoringOutput[]; } /** * The output object for a monitoring job. */ export interface MonitoringOutput { S3Output: S3Output; } /** * Information about where and how to store the results of a monitoring job. */ export interface S3Output { /** * The local path to the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. LocalPath is an absolute path for the output data. */ LocalPath: string; /** * Whether to upload the results of the monitoring job continuously or after the job completes. */ S3UploadMode?: "Continuous" | "EndOfJob"; /** * A URI that identifies the Amazon S3 storage location where Amazon SageMaker saves the results of a monitoring job. */ S3Uri: string; } /** * Identifies the resources to deploy for a monitoring job. */ export interface MonitoringResources { ClusterConfig: ClusterConfig; } /** * Configuration for the cluster used to run model monitoring jobs. */ export interface ClusterConfig { /** * The number of ML compute instances to use in the model monitoring job. For distributed processing jobs, specify a value greater than 1. The default value is 1. */ InstanceCount: number; /** * The ML compute instance type for the processing job. */ InstanceType: string; /** * The AWS Key Management Service (AWS KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the model monitoring job. */ VolumeKmsKeyId?: string; /** * The size of the ML storage volume, in gigabytes, that you want to provision. You must specify sufficient ML storage for your scenario. */ VolumeSizeInGB: number; } /** * Networking options for a job, such as network traffic encryption between containers, whether to allow inbound and outbound network calls to and from containers, and the VPC subnets and security groups to use for VPC-enabled jobs. */ export interface NetworkConfig { /** * Whether to encrypt all communications between distributed processing jobs. Choose True to encrypt communications. Encryption provides greater security for distributed processing jobs, but the processing might take longer. */ EnableInterContainerTrafficEncryption?: boolean; /** * Whether to allow inbound and outbound network calls to and from the containers used for the processing job. */ EnableNetworkIsolation?: boolean; VpcConfig?: VpcConfig; } /** * Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. */ export interface VpcConfig { /** * The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field. * * @minItems 1 * @maxItems 5 */ SecurityGroupIds: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string]; /** * The ID of the subnets in the VPC to which you want to connect to your monitoring jobs. * * @minItems 1 * @maxItems 16 */ Subnets: | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string] | [string, string, string, string, string, string] | [string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string] | [string, string, string, string, string, string, string, string, string, string, string, string, string, string] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ] | [ string, string, string, string, string, string, string, string, string, string, string, string, string, string, string, string ]; } /** * Specifies a time limit for how long the monitoring job is allowed to run. */ export interface StoppingCondition { /** * The maximum runtime allowed in seconds. */ MaxRuntimeInSeconds: number; } /** * A key-value pair to associate with a resource. */ export interface Tag { /** * The key name of the tag. You can specify a value that is 1 to 127 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Key: string; /** * The value for the tag. You can specify a value that is 1 to 255 Unicode characters in length and cannot be prefixed with aws:. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Value: string; }