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"`
}