v1

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 2, 2020 License: Apache-2.0 Imports: 3 Imported by: 2

Documentation

Overview

This annotation signals to the generator that there are types in this file that need DeepCopy methods. +kubebuilder:object:generate=true

Index

Constants

This section is empty.

Variables

View Source
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 BatchStrategy

type BatchStrategy string

Batch Transform related struct

type CategoricalParameterRange

type CategoricalParameterRange struct {
	Name *string `json:"name"`

	// +kubebuilder:validation:MinItems=1
	Values []string `json:"values"`
}

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 CheckpointConfig struct {
	LocalPath *string `json:"localPath,omitempty"`

	// +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$
	S3Uri *string `json:"s3Uri"`
}

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 CompressionType

type CompressionType string

+kubebuilder:validation:Enum=None;Gzip

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 DeployedImage struct {
	ResolutionTime *metav1.Time `json:"resolutionTime,omitempty"`

	ResolvedImage *string `json:"resolvedImage,omitempty"`

	SpecifiedImage *string `json:"specifiedImage,omitempty"`
}

type FileSystemDataSource

type FileSystemDataSource struct {
	DirectoryPath *string `json:"directoryPath"`

	FileSystemAccessMode *string `json:"fileSystemAccessMode"`

	FileSystemId *string `json:"fileSystemId"`

	FileSystemType *string `json:"fileSystemType"`
}

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 MetricDefinition struct {
	// +kubebuilder:validation:MinLength=1
	Name *string `json:"name"`

	// +kubebuilder:validation:MinLength=1
	Regex *string `json:"regex"`
}

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 OutputDataConfig struct {
	KmsKeyId *string `json:"kmsKeyId,omitempty"`

	// +kubebuilder:validation:Pattern=^(https|s3)://([^/]+)/?(.*)$
	S3OutputPath *string `json:"s3OutputPath"`
}

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 ResourceLimits struct {
	// +kubebuilder:validation:Minimum=1
	MaxNumberOfTrainingJobs *int64 `json:"maxNumberOfTrainingJobs"`

	// +kubebuilder:validation:Minimum=1
	MaxParallelTrainingJobs *int64 `json:"maxParallelTrainingJobs"`
}

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 SplitType

type SplitType string

type StoppingCondition

type StoppingCondition struct {
	// +kubebuilder:validation:Minimum=1
	MaxRuntimeInSeconds *int64 `json:"maxRuntimeInSeconds,omitempty"`

	// +kubebuilder:validation:Minimum=1
	MaxWaitTimeInSeconds *int64 `json:"maxWaitTimeInSeconds,omitempty"`
}

type Tag

type Tag struct {

	// +kubebuilder:validation:MinLength=1
	Key *string `json:"key"`

	Value *string `json:"value"`
}

func DeepCopyTagSlice

func DeepCopyTagSlice(tagsToCopy []Tag) []Tag

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 TrainingInputMode

type TrainingInputMode string

+kubebuilder:validation:Enum=File;Pipe

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

type VpcConfig

type VpcConfig struct {
	// +kubebuilder:validation:MinItems=1
	SecurityGroupIds []string `json:"securityGroupIds"`

	// +kubebuilder:validation:MinItems=1
	Subnets []string `json:"subnets"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL