--- apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.3.0 creationTimestamp: null name: trainingjobs.sagemaker.aws.amazon.com spec: additionalPrinterColumns: - JSONPath: .status.trainingJobStatus name: Status type: string - JSONPath: .status.secondaryStatus name: Secondary-Status type: string - JSONPath: .metadata.creationTimestamp format: date name: Creation-Time type: string - JSONPath: .status.sageMakerTrainingJobName name: Sagemaker-Job-Name type: string group: sagemaker.aws.amazon.com names: kind: TrainingJob listKind: TrainingJobList plural: trainingjobs singular: trainingjob scope: Namespaced subresources: status: {} validation: openAPIV3Schema: description: TrainingJob is the Schema for the trainingjobs 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: TrainingJobSpec defines the desired state of TrainingJob 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: minLength: 1 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 debugHookConfig: description: DebugHookConfig https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugHookConfig.html properties: collectionConfigurations: items: description: CollectionConfiguration https://docs.aws.amazon.com/sagemaker/latest/dg/API_CollectionConfiguration.html properties: collectionName: type: string collectionParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array type: object type: array localPath: type: string ruleParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array s3OutputPath: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string required: - s3OutputPath type: object debugRuleConfigurations: items: description: DebugRuleConfiguration https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugRuleConfiguration.html properties: instanceType: type: string localPath: type: string ruleConfigurationName: type: string ruleEvaluatorImage: type: string ruleParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array s3OutputPath: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string volumeSizeInGB: format: int64 minimum: 1 type: integer required: - ruleConfigurationName - ruleEvaluatorImage type: object type: array enableInterContainerTrafficEncryption: type: boolean enableManagedSpotTraining: type: boolean enableNetworkIsolation: type: boolean hyperParameters: items: description: Used in describing maps in Kubernetes. properties: name: type: string value: type: string type: object type: array 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 region: minLength: 1 type: string 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 sageMakerEndpoint: description: A custom SageMaker endpoint to use when communicating with SageMaker. pattern: ^(https|http)://.*$ type: string stoppingCondition: properties: maxRuntimeInSeconds: format: int64 minimum: 1 type: integer maxWaitTimeInSeconds: format: int64 minimum: 1 type: integer type: object tags: items: properties: key: minLength: 1 type: string value: type: string required: - key - value type: object type: array tensorBoardOutputConfig: description: TensorBoardOutputConfig https://docs.aws.amazon.com/sagemaker/latest/dg/API_TensorBoardOutputConfig.html properties: localPath: type: string s3OutputPath: pattern: ^(https|s3)://([^/]+)/?(.*)$ type: string required: - s3OutputPath type: object trainingJobName: description: The SageMaker training job name. This is optional for the SageMaker K8s operator. If it is empty, the operator will populate it with a generated name. maxLength: 63 type: string 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 - region - resourceConfig - roleArn - stoppingCondition type: object status: description: TrainingJobStatus defines the observed state of TrainingJob properties: additional: description: Field to store additional information, for example if we are unable to check the status we update this. type: string cloudWatchLogUrl: description: Cloud Watch url for training log type: string debugRuleEvaluationStatuses: description: Status of rule evaluation jobs, obtained from DebugRuleEvaluationStatuses. https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrainingJob.html#sagemaker-DescribeTrainingJob-response-DebugRuleEvaluationStatuses items: description: DebugRuleEvaluationStatus https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugRuleEvaluationStatus.html properties: lastModifiedTime: format: date-time type: string ruleConfigurationName: type: string ruleEvaluationJobArn: type: string ruleEvaluationStatus: type: string statusDetail: type: string type: object type: array lastCheckTime: description: The last time that we checked the status of the SageMaker job. format: date-time type: string modelPath: description: Full path to the training artifact (model) type: string sageMakerTrainingJobName: description: SageMaker training job name type: string secondaryStatus: description: The secondary, more granular status of the training job. https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-SecondaryStatus type: string trainingJobStatus: description: The status of the training job. https://docs.aws.amazon.com/sagemaker/latest/dg/API_DescribeTrainingJob.html#SageMaker-DescribeTrainingJob-response-TrainingJobStatus type: string type: object required: - spec type: object version: v1 versions: - name: v1 served: true storage: true status: acceptedNames: kind: "" plural: "" conditions: [] storedVersions: []