--- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: hyperparametertuningjobs.sagemaker.aws.amazon.com spec: additionalPrinterColumns: - JSONPath: .status.hyperParameterTuningJobStatus name: Status type: string - JSONPath: .metadata.creationTimestamp format: date name: Creation-Time type: string - JSONPath: .status.trainingJobStatusCounters.completed format: int64 name: Completed type: number - JSONPath: .status.trainingJobStatusCounters.inProgress format: int64 name: InProgress type: number - JSONPath: .status.trainingJobStatusCounters.totalError format: int64 name: Errors type: number - JSONPath: .status.trainingJobStatusCounters.stopped format: int64 name: Stopped type: number - JSONPath: .status.bestTrainingJob.trainingJobName name: Best-Training-Job type: string - JSONPath: .status.sageMakerHyperParameterTuningJobName name: Sagemaker-Job-Name type: string group: sagemaker.aws.amazon.com names: kind: HyperparameterTuningJob listKind: HyperparameterTuningJobList plural: hyperparametertuningjobs singular: hyperparametertuningjob scope: Namespaced subresources: status: {} validation: openAPIV3Schema: description: HyperparameterTuningJob is the Schema for the hyperparametertuningjobs API properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: HyperparameterTuningJobSpec defines the desired state of HyperparameterTuningJob These are taken from aws-go-sdk-v2 and modified to use Kubebuilder validation and json omitempty instead of aws-go-sdk-v2 validation and required parameter notation, respectively. properties: hyperParameterTuningJobConfig: properties: hyperParameterTuningJobObjective: properties: metricName: minLength: 1 type: string type: type: string required: - metricName - type type: object parameterRanges: properties: categoricalParameterRanges: items: properties: name: type: string values: items: type: string minItems: 1 type: array required: - name - values type: object type: array continuousParameterRanges: items: properties: maxValue: type: string minValue: type: string name: type: string scalingType: type: string required: - maxValue - minValue - name - scalingType type: object type: array integerParameterRanges: items: properties: maxValue: type: string minValue: type: string name: type: string scalingType: type: string required: - maxValue - minValue - name - scalingType type: object type: array type: object resourceLimits: properties: maxNumberOfTrainingJobs: format: int64 minimum: 1 type: integer maxParallelTrainingJobs: format: int64 minimum: 1 type: integer required: - maxNumberOfTrainingJobs - maxParallelTrainingJobs type: object strategy: type: string trainingJobEarlyStoppingType: type: string required: - resourceLimits - strategy type: object hyperParameterTuningJobName: type: string region: minLength: 1 type: string sageMakerEndpoint: description: A custom SageMaker endpoint to use when communicating with SageMaker. pattern: ^(https|http)://.*$ type: string tags: items: properties: key: minLength: 1 type: string value: type: string required: - key - value type: object type: array trainingJobDefinition: properties: algorithmSpecification: properties: algorithmName: minLength: 1 type: string metricDefinitions: items: properties: name: minLength: 1 type: string regex: minLength: 1 type: string required: - name - regex type: object type: array trainingImage: type: string trainingInputMode: enum: - File - Pipe type: string required: - trainingInputMode type: object checkpointConfig: properties: localPath: type: string s3Uri: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string required: - s3Uri type: object enableInterContainerTrafficEncryption: type: boolean enableManagedSpotTraining: type: boolean enableNetworkIsolation: type: boolean inputDataConfig: items: properties: channelName: minLength: 1 pattern: '[A-Za-z0-9\.\-_]+' type: string compressionType: enum: - None - Gzip type: string contentType: type: string dataSource: properties: fileSystemDataSource: properties: directoryPath: type: string fileSystemAccessMode: type: string fileSystemId: type: string fileSystemType: type: string required: - directoryPath - fileSystemAccessMode - fileSystemId - fileSystemType type: object s3DataSource: properties: attributeNames: items: type: string type: array s3DataDistributionType: enum: - FullyReplicated - ShardedByS3Key type: string s3DataType: enum: - S3Prefix - ManifestFile - AugmentedManifestFile type: string s3Uri: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string required: - s3DataType - s3Uri type: object type: object inputMode: enum: - Pipe - File type: string recordWrapperType: type: string shuffleConfig: properties: seed: format: int64 type: integer required: - seed type: object required: - channelName - dataSource type: object minItems: 1 type: array outputDataConfig: properties: kmsKeyId: type: string s3OutputPath: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string required: - s3OutputPath type: object resourceConfig: properties: instanceCount: format: int64 minimum: 1 type: integer instanceType: minLength: 1 type: string volumeKmsKeyId: type: string volumeSizeInGB: format: int64 minimum: 1 type: integer required: - instanceCount - instanceType - volumeSizeInGB type: object roleArn: minLength: 20 type: string staticHyperParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array stoppingCondition: properties: maxRuntimeInSeconds: format: int64 minimum: 1 type: integer maxWaitTimeInSeconds: format: int64 minimum: 1 type: integer type: object vpcConfig: properties: securityGroupIds: items: type: string maxItems: 5 minItems: 1 type: array subnets: items: type: string maxItems: 16 minItems: 1 type: array required: - securityGroupIds - subnets type: object required: - algorithmSpecification - outputDataConfig - resourceConfig - roleArn - stoppingCondition type: object warmStartConfig: properties: parentHyperParameterTuningJobs: items: properties: hyperParameterTuningJobName: minLength: 1 type: string type: object minItems: 1 type: array warmStartType: type: string required: - parentHyperParameterTuningJobs - warmStartType type: object required: - hyperParameterTuningJobConfig - region type: object status: description: HyperparameterTuningJobStatus defines the observed state of HyperparameterTuningJob properties: additional: description: Field to store additional information, for example if we are unable to check the status we update this. type: string bestTrainingJob: description: A HyperParameterTrainingJobSummary object that describes the training job that completed with the best current HyperParameterTuningJobObjective. See https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-BestTrainingJob properties: creationTime: format: date-time type: string failureReason: type: string finalHyperParameterTuningJobObjectiveMetric: properties: metricName: type: string type: type: string value: description: Value is string instead of float64 to prevent bugs when deserializing onto different platforms. type: string type: object objectiveStatus: type: string trainingEndTime: format: date-time type: string trainingJobArn: type: string trainingJobName: type: string trainingJobStatus: type: string trainingStartTime: format: date-time type: string tunedHyperParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array tuningJobName: type: string type: object hyperParameterTuningJobStatus: description: The status of HyperParameterTrainingJob https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeHyperParameterTuningJob.html#SageMaker-DescribeHyperParameterTuningJob-response-HyperParameterTuningJobStatus type: string lastCheckTime: description: The last time that we checked the status of the SageMaker job. format: date-time type: string sageMakerHyperParameterTuningJobName: description: SageMaker hyperparametertuning job name type: string trainingJobStatusCounters: description: The TrainingJobStatusCounters object that specifies the number of training jobs, categorized by status, that this tuning job launched. https://docs.aws.amazon.com/sagemaker/latest/dg/API_TrainingJobStatusCounters.html properties: completed: description: The number of completed training jobs launched by the hyperparameter tuning job. format: int64 type: integer inProgress: description: The number of in-progress training jobs launched by a hyperparameter tuning job. format: int64 type: integer nonRetryableError: description: The number of training jobs that failed and can't be retried. A failed training job can't be retried if it failed because a client error occurred. format: int64 type: integer retryableError: description: The number of training jobs that failed, but can be retried. A failed training job can be retried only if it failed because an internal service error occurred. format: int64 type: integer stopped: description: The number of training jobs launched by a hyperparameter tuning job that were manually stopped. format: int64 type: integer totalError: description: The sum of NonRetryableError and RetryableError. This is unique to the Kubernetes operator and is used to simplify the `kubectl get` output. format: int64 type: integer type: object type: object type: object version: v1 versions: - name: v1 served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []