-
Notifications
You must be signed in to change notification settings - Fork 17
/
SageMakerCreateEndpointConfigProps.go
124 lines (121 loc) · 5.75 KB
/
SageMakerCreateEndpointConfigProps.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package awsstepfunctionstasks
import (
"github.com/aws/aws-cdk-go/awscdk/v2"
"github.com/aws/aws-cdk-go/awscdk/v2/awskms"
"github.com/aws/aws-cdk-go/awscdk/v2/awsstepfunctions"
)
// Properties for creating an Amazon SageMaker endpoint configuration.
//
// Example:
// tasks.NewSageMakerCreateEndpointConfig(this, jsii.String("SagemakerEndpointConfig"), &SageMakerCreateEndpointConfigProps{
// EndpointConfigName: jsii.String("MyEndpointConfig"),
// ProductionVariants: []productionVariant{
// &productionVariant{
// InitialInstanceCount: jsii.Number(2),
// InstanceType: ec2.InstanceType_Of(ec2.InstanceClass_M5, ec2.InstanceSize_XLARGE),
// ModelName: jsii.String("MyModel"),
// VariantName: jsii.String("awesome-variant"),
// },
// },
// })
//
// See: https://docs.aws.amazon.com/step-functions/latest/dg/connect-sagemaker.html
//
type SageMakerCreateEndpointConfigProps struct {
// An optional description for this state.
// Default: - No comment.
//
Comment *string `field:"optional" json:"comment" yaml:"comment"`
// Credentials for an IAM Role that the State Machine assumes for executing the task.
//
// This enables cross-account resource invocations.
// See: https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
//
// Default: - None (Task is executed using the State Machine's execution role).
//
Credentials *awsstepfunctions.Credentials `field:"optional" json:"credentials" yaml:"credentials"`
// Timeout for the heartbeat.
// Default: - None.
//
// Deprecated: use `heartbeatTimeout`.
Heartbeat awscdk.Duration `field:"optional" json:"heartbeat" yaml:"heartbeat"`
// Timeout for the heartbeat.
//
// [disable-awslint:duration-prop-type] is needed because all props interface in
// aws-stepfunctions-tasks extend this interface.
// Default: - None.
//
HeartbeatTimeout awsstepfunctions.Timeout `field:"optional" json:"heartbeatTimeout" yaml:"heartbeatTimeout"`
// JSONPath expression to select part of the state to be the input to this state.
//
// May also be the special value JsonPath.DISCARD, which will cause the effective
// input to be the empty object {}.
// Default: - The entire task input (JSON path '$').
//
InputPath *string `field:"optional" json:"inputPath" yaml:"inputPath"`
// AWS Step Functions integrates with services directly in the Amazon States Language.
//
// You can control these AWS services using service integration patterns.
// See: https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token
//
// Default: - `IntegrationPattern.REQUEST_RESPONSE` for most tasks.
// `IntegrationPattern.RUN_JOB` for the following exceptions:
// `BatchSubmitJob`, `EmrAddStep`, `EmrCreateCluster`, `EmrTerminationCluster`, and `EmrContainersStartJobRun`.
//
IntegrationPattern awsstepfunctions.IntegrationPattern `field:"optional" json:"integrationPattern" yaml:"integrationPattern"`
// JSONPath expression to select select a portion of the state output to pass to the next state.
//
// May also be the special value JsonPath.DISCARD, which will cause the effective
// output to be the empty object {}.
// Default: - The entire JSON node determined by the state input, the task result,
// and resultPath is passed to the next state (JSON path '$').
//
OutputPath *string `field:"optional" json:"outputPath" yaml:"outputPath"`
// JSONPath expression to indicate where to inject the state's output.
//
// May also be the special value JsonPath.DISCARD, which will cause the state's
// input to become its output.
// Default: - Replaces the entire input with the result (JSON path '$').
//
ResultPath *string `field:"optional" json:"resultPath" yaml:"resultPath"`
// The JSON that will replace the state's raw result and become the effective result before ResultPath is applied.
//
// You can use ResultSelector to create a payload with values that are static
// or selected from the state's raw result.
// See: https://docs.aws.amazon.com/step-functions/latest/dg/input-output-inputpath-params.html#input-output-resultselector
//
// Default: - None.
//
ResultSelector *map[string]interface{} `field:"optional" json:"resultSelector" yaml:"resultSelector"`
// Optional name for this state.
// Default: - The construct ID will be used as state name.
//
StateName *string `field:"optional" json:"stateName" yaml:"stateName"`
// Timeout for the task.
//
// [disable-awslint:duration-prop-type] is needed because all props interface in
// aws-stepfunctions-tasks extend this interface.
// Default: - None.
//
TaskTimeout awsstepfunctions.Timeout `field:"optional" json:"taskTimeout" yaml:"taskTimeout"`
// Timeout for the task.
// Default: - None.
//
// Deprecated: use `taskTimeout`.
Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
// The name of the endpoint configuration.
EndpointConfigName *string `field:"required" json:"endpointConfigName" yaml:"endpointConfigName"`
// An list of ProductionVariant objects, one for each model that you want to host at this endpoint.
//
// Identifies a model that you want to host and the resources to deploy for hosting it.
// If you are deploying multiple models, tell Amazon SageMaker how to distribute traffic among the models by specifying variant weights.
ProductionVariants *[]*ProductionVariant `field:"required" json:"productionVariants" yaml:"productionVariants"`
// AWS Key Management Service key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance that hosts the endpoint.
// Default: - None.
//
KmsKey awskms.IKey `field:"optional" json:"kmsKey" yaml:"kmsKey"`
// Tags to be applied to the endpoint configuration.
// Default: - No tags.
//
Tags awsstepfunctions.TaskInput `field:"optional" json:"tags" yaml:"tags"`
}