Documentation ¶
Overview ¶
This annotation signals to the generator that there are types in this file that need DeepCopy methods. +kubebuilder:object:generate=true
Index ¶
- Variables
- type AlgorithmSpecification
- type AssemblyType
- type BatchStrategy
- type CategoricalParameterRange
- type Channel
- type CheckpointConfig
- type CollectionConfiguration
- type CompressionType
- type ContainerDefinition
- type ContinuousParameterRange
- type DataProcessing
- type DataSource
- type DebugHookConfig
- type DebugRuleConfiguration
- type DebugRuleEvaluationStatus
- type DeployedImage
- type FileSystemDataSource
- type FinalHyperParameterTuningJobObjectiveMetric
- type HyperParameterAlgorithmSpecification
- type HyperParameterScalingType
- type HyperParameterTrainingJobDefinition
- type HyperParameterTrainingJobSummary
- type HyperParameterTuningJobConfig
- type HyperParameterTuningJobObjective
- type HyperParameterTuningJobObjectiveType
- type HyperParameterTuningJobStrategyType
- type HyperParameterTuningJobWarmStartConfig
- type HyperParameterTuningJobWarmStartType
- type IntegerParameterRange
- type JoinSource
- type KeyValuePair
- type MetricDefinition
- type Model
- type ObjectiveStatus
- type OutputDataConfig
- type ParameterRanges
- type ParentHyperParameterTuningJob
- type ProductionVariant
- type ProductionVariantAcceleratorType
- type ProductionVariantInstanceType
- type ProductionVariantSummary
- type ResourceConfig
- type ResourceLimits
- type S3DataSource
- type S3DataType
- type ShuffleConfig
- type SplitType
- type StoppingCondition
- type Tag
- type TensorBoardOutputConfig
- type TrainingInputMode
- type TrainingJobEarlyStoppingType
- type TrainingJobStatusCounters
- type TransformDataSource
- type TransformInput
- type TransformOutput
- type TransformResources
- type TransformS3DataSource
- type VpcConfig
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "sagemaker.aws.amazon.com", Version: "v1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AlgorithmSpecification ¶
type AlgorithmSpecification struct { // +kubebuilder:validation:MinLength=1 AlgorithmName *string `json:"algorithmName,omitempty"` MetricDefinitions []MetricDefinition `json:"metricDefinitions,omitempty"` // +kubebuilder:validation:MinLength=1 TrainingImage *string `json:"trainingImage,omitempty"` TrainingInputMode TrainingInputMode `json:"trainingInputMode"` }
type AssemblyType ¶
type AssemblyType string
type Channel ¶
type Channel struct { // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:Pattern=[A-Za-z0-9\.\-_]+ ChannelName *string `json:"channelName"` // +kubebuilder:validation:Enum=None;Gzip CompressionType string `json:"compressionType,omitempty"` ContentType *string `json:"contentType,omitempty"` DataSource *DataSource `json:"dataSource"` // +kubebuilder:validation:Enum=Pipe;File InputMode string `json:"inputMode,omitempty"` RecordWrapperType string `json:"recordWrapperType,omitempty"` ShuffleConfig *ShuffleConfig `json:"shuffleConfig,omitempty"` }
type CheckpointConfig ¶
type CollectionConfiguration ¶
type CollectionConfiguration struct { CollectionName *string `json:"collectionName,omitempty"` CollectionParameters []*KeyValuePair `json:"collectionParameters,omitempty"` }
CollectionConfiguration https://docs.aws.amazon.com/sagemaker/latest/dg/API_CollectionConfiguration.html
type ContainerDefinition ¶
type ContainerDefinition struct { ContainerHostname *string `json:"containerHostname,omitempty"` Environment []*KeyValuePair `json:"environment,omitempty"` Image *string `json:"image,omitempty"` ModelDataUrl *string `json:"modelDataUrl,omitempty"` ModelPackageName *string `json:"modelPackageName,omitempty"` }
Describes the container, as part of model definition.
type ContinuousParameterRange ¶
type ContinuousParameterRange struct { MaxValue *string `json:"maxValue"` MinValue *string `json:"minValue"` Name *string `json:"name"` ScalingType HyperParameterScalingType `json:"scalingType"` }
type DataProcessing ¶
type DataProcessing struct { InputFilter *string `json:"inputFilter,omitempty"` JoinSource JoinSource `json:"JoinSource,omitempty"` OutputFilter *string `json:"OutputFilter,omitempty"` }
type DataSource ¶
type DataSource struct { FileSystemDataSource *FileSystemDataSource `json:"fileSystemDataSource,omitempty"` S3DataSource *S3DataSource `json:"s3DataSource,omitempty"` }
type DebugHookConfig ¶
type DebugHookConfig struct { LocalPath *string `json:"localPath,omitempty"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3OutputPath *string `json:"s3OutputPath"` HookParameters []*KeyValuePair `json:"ruleParameters,omitempty"` CollectionConfigurations []*CollectionConfiguration `json:"collectionConfigurations,omitempty"` }
DebugHookConfig https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugHookConfig.html
type DebugRuleConfiguration ¶
type DebugRuleConfiguration struct { RuleConfigurationName *string `json:"ruleConfigurationName"` LocalPath *string `json:"localPath,omitempty"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3OutputPath *string `json:"s3OutputPath,omitempty"` RuleEvaluatorImage *string `json:"ruleEvaluatorImage"` // +kubebuilder:validation:Minimum=1 VolumeSizeInGB *int64 `json:"volumeSizeInGB,omitempty"` InstanceType string `json:"instanceType,omitempty"` RuleParameters []*KeyValuePair `json:"ruleParameters,omitempty"` }
DebugRuleConfiguration https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugRuleConfiguration.html
type DebugRuleEvaluationStatus ¶
type DebugRuleEvaluationStatus struct { LastModifiedTime *metav1.Time `json:"lastModifiedTime,omitempty"` RuleConfigurationName *string `json:"ruleConfigurationName,omitempty"` RuleEvaluationJobArn *string `json:"ruleEvaluationJobArn,omitempty"` RuleEvaluationStatus *string `json:"ruleEvaluationStatus,omitempty"` StatusDetail *string `json:"statusDetail,omitempty"` }
DebugRuleEvalutionStatus https://docs.aws.amazon.com/sagemaker/latest/dg/API_DebugRuleEvaluationStatus.html
type DeployedImage ¶
type FileSystemDataSource ¶
type FinalHyperParameterTuningJobObjectiveMetric ¶
type FinalHyperParameterTuningJobObjectiveMetric struct { MetricName *string `json:"metricName,omitempty"` Type HyperParameterTuningJobObjectiveType `json:"type,omitempty"` // Value is string instead of float64 to prevent bugs when deserializing onto different platforms. Value *string `json:"value,omitempty"` }
type HyperParameterAlgorithmSpecification ¶
type HyperParameterAlgorithmSpecification struct { // +kubebuilder:validation:MinLength=1 AlgorithmName *string `json:"algorithmName,omitempty"` MetricDefinitions []MetricDefinition `json:"metricDefinitions,omitempty"` TrainingImage *string `json:"trainingImage,omitempty"` TrainingInputMode TrainingInputMode `json:"trainingInputMode"` }
type HyperParameterScalingType ¶
type HyperParameterScalingType string
type HyperParameterTrainingJobDefinition ¶
type HyperParameterTrainingJobDefinition struct { AlgorithmSpecification *HyperParameterAlgorithmSpecification `json:"algorithmSpecification"` EnableInterContainerTrafficEncryption *bool `json:"enableInterContainerTrafficEncryption,omitempty"` EnableNetworkIsolation *bool `json:"enableNetworkIsolation,omitempty"` EnableManagedSpotTraining *bool `json:"enableManagedSpotTraining,omitempty"` // +kubebuilder:validation:MinItems=1 InputDataConfig []Channel `json:"inputDataConfig,omitempty"` OutputDataConfig *OutputDataConfig `json:"outputDataConfig"` CheckpointConfig *CheckpointConfig `json:"checkpointConfig,omitempty"` ResourceConfig *ResourceConfig `json:"resourceConfig"` // +kubebuilder:validation:MinLength=20 RoleArn *string `json:"roleArn"` StaticHyperParameters []*KeyValuePair `json:"staticHyperParameters,omitempty"` StoppingCondition *StoppingCondition `json:"stoppingCondition"` VpcConfig *VpcConfig `json:"vpcConfig,omitempty"` }
type HyperParameterTrainingJobSummary ¶
type HyperParameterTrainingJobSummary struct { CreationTime *metav1.Time `json:"creationTime,omitempty"` FailureReason *string `json:"failureReason,omitempty"` FinalHyperParameterTuningJobObjectiveMetric *FinalHyperParameterTuningJobObjectiveMetric `json:"finalHyperParameterTuningJobObjectiveMetric,omitempty"` ObjectiveStatus ObjectiveStatus `json:"objectiveStatus,omitempty"` TrainingEndTime *metav1.Time `json:"trainingEndTime,omitempty"` TrainingJobArn *string `json:"trainingJobArn,omitempty"` TrainingJobName *string `json:"trainingJobName,omitempty"` TrainingJobStatus string `json:"trainingJobStatus,omitempty"` TrainingStartTime *metav1.Time `json:"trainingStartTime,omitempty"` TunedHyperParameters []*KeyValuePair `json:"tunedHyperParameters,omitempty"` TuningJobName *string `json:"tuningJobName,omitempty"` }
This is only used in the Status, so no validation is required.
type HyperParameterTuningJobConfig ¶
type HyperParameterTuningJobConfig struct { HyperParameterTuningJobObjective *HyperParameterTuningJobObjective `json:"hyperParameterTuningJobObjective,omitempty"` ParameterRanges *ParameterRanges `json:"parameterRanges,omitempty"` ResourceLimits *ResourceLimits `json:"resourceLimits"` Strategy HyperParameterTuningJobStrategyType `json:"strategy"` TrainingJobEarlyStoppingType TrainingJobEarlyStoppingType `json:"trainingJobEarlyStoppingType,omitempty"` }
type HyperParameterTuningJobObjective ¶
type HyperParameterTuningJobObjective struct { // +kubebuilder:validation:MinLength=1 MetricName *string `json:"metricName"` Type HyperParameterTuningJobObjectiveType `json:"type"` }
type HyperParameterTuningJobObjectiveType ¶
type HyperParameterTuningJobObjectiveType string
type HyperParameterTuningJobStrategyType ¶
type HyperParameterTuningJobStrategyType string
type HyperParameterTuningJobWarmStartConfig ¶
type HyperParameterTuningJobWarmStartConfig struct { // +kubebuilder:validation:MinItems=1 ParentHyperParameterTuningJobs []ParentHyperParameterTuningJob `json:"parentHyperParameterTuningJobs"` WarmStartType HyperParameterTuningJobWarmStartType `json:"warmStartType"` }
type HyperParameterTuningJobWarmStartType ¶
type HyperParameterTuningJobWarmStartType string
type IntegerParameterRange ¶
type IntegerParameterRange struct { MaxValue *string `json:"maxValue"` MinValue *string `json:"minValue"` Name *string `json:"name"` ScalingType HyperParameterScalingType `json:"scalingType"` }
type JoinSource ¶
type JoinSource string
type KeyValuePair ¶
type KeyValuePair struct { Name string `json:"name,omitempty"` Value string `json:"value,omitempty"` }
Used in describing maps in Kubernetes.
type MetricDefinition ¶
type Model ¶
type Model struct { Name *string `json:"name"` // +kubebuilder:validation:MinItems=1 Containers []*ContainerDefinition `json:"containers,omitempty"` PrimaryContainer *string `json:"primaryContainer,omitempty"` // +kubebuilder:validation:MinLength=20 ExecutionRoleArn *string `json:"executionRoleArn"` EnableNetworkIsolation *bool `json:"enableNetworkIsolation,omitempty"` VpcConfig *VpcConfig `json:"vpcConfig,omitempty"` }
This is something we are defining not coming from aws-sdk-go-v2
type ObjectiveStatus ¶
type ObjectiveStatus string
type OutputDataConfig ¶
type ParameterRanges ¶
type ParameterRanges struct { CategoricalParameterRanges []CategoricalParameterRange `json:"categoricalParameterRanges,omitempty"` ContinuousParameterRanges []ContinuousParameterRange `json:"continuousParameterRanges,omitempty"` IntegerParameterRanges []IntegerParameterRange `json:"integerParameterRanges,omitempty"` }
type ParentHyperParameterTuningJob ¶
type ParentHyperParameterTuningJob struct { // +kubebuilder:validation:MinLength=1 HyperParameterTuningJobName *string `json:"hyperParameterTuningJobName,omitempty"` }
type ProductionVariant ¶
type ProductionVariant struct { AcceleratorType ProductionVariantAcceleratorType `json:"acceleratorType,omitempty"` // +kubebuilder:validation:Minimum=1 InitialInstanceCount *int64 `json:"initialInstanceCount"` // We use an int64 here instead of float because floats are not supported // by the Kubernetes API. // The actual traffic directed to this ProductionVariant is the ratio of this // variant weight to the sum of all variant weights. InitialVariantWeight *int64 `json:"initialVariantWeight,omitempty"` InstanceType ProductionVariantInstanceType `json:"instanceType"` // +kubebuilder:validation:MinLength=1 ModelName *string `json:"modelName"` // +kubebuilder:validation:MinLength=1 VariantName *string `json:"variantName"` }
type ProductionVariantAcceleratorType ¶
type ProductionVariantAcceleratorType string
type ProductionVariantInstanceType ¶
type ProductionVariantInstanceType string
type ProductionVariantSummary ¶
type ProductionVariantSummary struct { CurrentInstanceCount *int64 `json:"currentInstanceCount,omitempty"` // We use an int64 here instead of float because floats are not supported // by the Kubernetes API. // The actual traffic directed to this ProductionVariant is the ratio of this // variant weight to the sum of all variant weights. CurrentWeight *int64 `json:"currentWeight,omitempty"` DeployedImages []DeployedImage `json:"deployedImages,omitempty"` DesiredInstanceCount *int64 `json:"desiredInstanceCount,omitempty"` // We use an int64 here instead of float because floats are not supported // by the Kubernetes API. // The actual traffic directed to this ProductionVariant is the ratio of this // variant weight to the sum of all variant weights. DesiredWeight *int64 `json:"desiredWeight,omitempty"` VariantName *string `json:"variantName"` }
Please also see https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ProductionVariantSummary This is only used in status so no validation is required
type ResourceConfig ¶
type ResourceConfig struct { // +kubebuilder:validation:Minimum=1 InstanceCount *int64 `json:"instanceCount"` // +kubebuilder:validation:MinLength=1 InstanceType string `json:"instanceType"` VolumeKmsKeyId *string `json:"volumeKmsKeyId,omitempty"` // +kubebuilder:validation:Minimum=1 VolumeSizeInGB *int64 `json:"volumeSizeInGB"` }
type ResourceLimits ¶
type S3DataSource ¶
type S3DataSource struct { AttributeNames []string `json:"attributeNames,omitempty"` // +kubebuilder:validation:Enum=FullyReplicated;ShardedByS3Key S3DataDistributionType string `json:"s3DataDistributionType,omitempty"` // +kubebuilder:validation:Enum=S3Prefix;ManifestFile;AugmentedManifestFile S3DataType string `json:"s3DataType"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3Uri *string `json:"s3Uri"` }
type S3DataType ¶
type S3DataType string
+kubebuilder:validation:Enum=S3Prefix;ManifestFile;AugmentedManifestFile
type ShuffleConfig ¶
type ShuffleConfig struct {
Seed *int64 `json:"seed"`
}
type StoppingCondition ¶
type Tag ¶
type Tag struct { // +kubebuilder:validation:MinLength=1 Key *string `json:"key"` Value *string `json:"value"` }
func DeepCopyTagSlice ¶
Go does not allow methods on value types, so we have to write deepcopy methods manually when necessary.
type TensorBoardOutputConfig ¶
type TensorBoardOutputConfig struct { LocalPath *string `json:"localPath,omitempty"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3OutputPath *string `json:"s3OutputPath"` }
TensorBoardOutputConfig https://docs.aws.amazon.com/sagemaker/latest/dg/API_TensorBoardOutputConfig.html
type TrainingJobEarlyStoppingType ¶
type TrainingJobEarlyStoppingType string
type TrainingJobStatusCounters ¶
type TrainingJobStatusCounters struct { // The number of completed training jobs launched by the hyperparameter tuning // job. Completed *int64 `json:"completed,omitempty"` // The number of in-progress training jobs launched by a hyperparameter tuning // job. InProgress *int64 `json:"inProgress,omitempty"` // 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. NonRetryableError *int64 `json:"nonRetryableError,omitempty"` // 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. RetryableError *int64 `json:"retryableError,omitempty"` // The sum of NonRetryableError and RetryableError. // This is unique to the Kubernetes operator and is used to simplify the `kubectl get` output. TotalError *int64 `json:"totalError,omitempty"` // The number of training jobs launched by a hyperparameter tuning job that // were manually stopped. Stopped *int64 `json:"stopped,omitempty"` }
This is only used in status, so no validation is required The numbers of training jobs launched by a hyperparameter tuning job, categorized by status. Please also see https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/TrainingJobStatusCounters TODO: separate the status and spec structure in two different files and keep the common code here.
type TransformDataSource ¶
type TransformDataSource struct {
S3DataSource *TransformS3DataSource `json:"s3DataSource"`
}
type TransformInput ¶
type TransformInput struct { CompressionType CompressionType `json:"compressionType,omitempty"` ContentType *string `json:"contentType,omitempty"` DataSource *TransformDataSource `json:"dataSource"` SplitType SplitType `json:"splitType,omitempty"` }
type TransformOutput ¶
type TransformOutput struct { Accept *string `json:"accept,omitempty"` AssembleWith AssemblyType `json:"assembleWith,omitempty"` KmsKeyId *string `json:"kmsKeyId,omitempty"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3OutputPath *string `json:"s3OutputPath"` }
type TransformResources ¶
type TransformResources struct { // +kubebuilder:validation:Minimum=1 InstanceCount *int64 `json:"instanceCount"` // Transform job has separate instance type called TransformInstanceType // Keeping it string // +kubebuilder:validation:MinLength=1 InstanceType string `json:"instanceType"` VolumeKmsKeyId *string `json:"volumeKmsKeyId,omitempty"` }
type TransformS3DataSource ¶
type TransformS3DataSource struct { // +kubebuilder:validation:Enum=S3Prefix;ManifestFile;AugmentedManifestFile S3DataType S3DataType `json:"s3DataType"` // +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$ S3Uri *string `json:"s3Uri"` }