-
Notifications
You must be signed in to change notification settings - Fork 17
/
awsstepfunctionstasks_EksCallProps.go
86 lines (83 loc) · 3.66 KB
/
awsstepfunctionstasks_EksCallProps.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
package awsstepfunctionstasks
import (
"github.com/aws/aws-cdk-go/awscdk"
"github.com/aws/aws-cdk-go/awscdk/awseks"
"github.com/aws/aws-cdk-go/awscdk/awsstepfunctions"
)
// Properties for calling a EKS endpoint with EksCall.
//
// Example:
// import eks "github.com/aws/aws-cdk-go/awscdk"
//
//
// myEksCluster := eks.NewCluster(this, jsii.String("my sample cluster"), &clusterProps{
// version: eks.kubernetesVersion_V1_18(),
// clusterName: jsii.String("myEksCluster"),
// })
//
// tasks.NewEksCall(this, jsii.String("Call a EKS Endpoint"), &eksCallProps{
// cluster: myEksCluster,
// httpMethod: tasks.httpMethods_GET,
// httpPath: jsii.String("/api/v1/namespaces/default/pods"),
// })
//
// Experimental.
type EksCallProps struct {
// An optional description for this state.
// Experimental.
Comment *string `field:"optional" json:"comment" yaml:"comment"`
// Timeout for the heartbeat.
// Experimental.
Heartbeat awscdk.Duration `field:"optional" json:"heartbeat" yaml:"heartbeat"`
// 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 {}.
// Experimental.
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
//
// Experimental.
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 {}.
// Experimental.
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.
// Experimental.
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
//
// Experimental.
ResultSelector *map[string]interface{} `field:"optional" json:"resultSelector" yaml:"resultSelector"`
// Timeout for the state machine.
// Experimental.
Timeout awscdk.Duration `field:"optional" json:"timeout" yaml:"timeout"`
// The EKS cluster.
// Experimental.
Cluster awseks.ICluster `field:"required" json:"cluster" yaml:"cluster"`
// HTTP method ("GET", "POST", "PUT", ...) part of HTTP request.
// Experimental.
HttpMethod HttpMethods `field:"required" json:"httpMethod" yaml:"httpMethod"`
// HTTP path of the Kubernetes REST API operation For example: /api/v1/namespaces/default/pods.
// Experimental.
HttpPath *string `field:"required" json:"httpPath" yaml:"httpPath"`
// Query Parameters part of HTTP request.
// Experimental.
QueryParameters *map[string]*[]*string `field:"optional" json:"queryParameters" yaml:"queryParameters"`
// Request body part of HTTP request.
// Experimental.
RequestBody awsstepfunctions.TaskInput `field:"optional" json:"requestBody" yaml:"requestBody"`
}