File: api_op_StartNotebookExecution.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (185 lines) | stat: -rw-r--r-- 6,054 bytes parent folder | download
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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
// Code generated by smithy-go-codegen DO NOT EDIT.

package emr

import (
	"context"
	"fmt"
	awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
	"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
	"github.com/aws/aws-sdk-go-v2/service/emr/types"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
)

// Starts a notebook execution.
func (c *Client) StartNotebookExecution(ctx context.Context, params *StartNotebookExecutionInput, optFns ...func(*Options)) (*StartNotebookExecutionOutput, error) {
	if params == nil {
		params = &StartNotebookExecutionInput{}
	}

	result, metadata, err := c.invokeOperation(ctx, "StartNotebookExecution", params, optFns, c.addOperationStartNotebookExecutionMiddlewares)
	if err != nil {
		return nil, err
	}

	out := result.(*StartNotebookExecutionOutput)
	out.ResultMetadata = metadata
	return out, nil
}

type StartNotebookExecutionInput struct {

	// Specifies the execution engine (cluster) that runs the notebook execution.
	//
	// This member is required.
	ExecutionEngine *types.ExecutionEngineConfig

	// The name or ARN of the IAM role that is used as the service role for Amazon EMR
	// (the Amazon EMR role) for the notebook execution.
	//
	// This member is required.
	ServiceRole *string

	// The unique identifier of the Amazon EMR Notebook to use for notebook execution.
	EditorId *string

	// The environment variables associated with the notebook execution.
	EnvironmentVariables map[string]string

	// An optional name for the notebook execution.
	NotebookExecutionName *string

	// The unique identifier of the Amazon EC2 security group to associate with the
	// Amazon EMR Notebook for this notebook execution.
	NotebookInstanceSecurityGroupId *string

	// Input parameters in JSON format passed to the Amazon EMR Notebook at runtime
	// for execution.
	NotebookParams *string

	// The Amazon S3 location for the notebook execution input.
	NotebookS3Location *types.NotebookS3LocationFromInput

	// The output format for the notebook execution.
	OutputNotebookFormat types.OutputNotebookFormat

	// The Amazon S3 location for the notebook execution output.
	OutputNotebookS3Location *types.OutputNotebookS3LocationFromInput

	// The path and file name of the notebook file for this execution, relative to the
	// path specified for the Amazon EMR Notebook. For example, if you specify a path
	// of s3://MyBucket/MyNotebooks when you create an Amazon EMR Notebook for a
	// notebook with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this
	// request), and you specify a RelativePath of
	// my_notebook_executions/notebook_execution.ipynb , the location of the file for
	// the notebook execution is
	// s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb
	// .
	RelativePath *string

	// A list of tags associated with a notebook execution. Tags are user-defined
	// key-value pairs that consist of a required key string with a maximum of 128
	// characters and an optional value string with a maximum of 256 characters.
	Tags []types.Tag

	noSmithyDocumentSerde
}

type StartNotebookExecutionOutput struct {

	// The unique identifier of the notebook execution.
	NotebookExecutionId *string

	// Metadata pertaining to the operation's result.
	ResultMetadata middleware.Metadata

	noSmithyDocumentSerde
}

func (c *Client) addOperationStartNotebookExecutionMiddlewares(stack *middleware.Stack, options Options) (err error) {
	if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
		return err
	}
	err = stack.Serialize.Add(&awsAwsjson11_serializeOpStartNotebookExecution{}, middleware.After)
	if err != nil {
		return err
	}
	err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpStartNotebookExecution{}, middleware.After)
	if err != nil {
		return err
	}
	if err := addProtocolFinalizerMiddlewares(stack, options, "StartNotebookExecution"); err != nil {
		return fmt.Errorf("add protocol finalizers: %v", err)
	}

	if err = addlegacyEndpointContextSetter(stack, options); err != nil {
		return err
	}
	if err = addSetLoggerMiddleware(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
		return err
	}
	if err = addResolveEndpointMiddleware(stack, options); err != nil {
		return err
	}
	if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
		return err
	}
	if err = addRetryMiddlewares(stack, options); err != nil {
		return err
	}
	if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
		return err
	}
	if err = addClientUserAgent(stack, options); err != nil {
		return err
	}
	if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
		return err
	}
	if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
		return err
	}
	if err = addOpStartNotebookExecutionValidationMiddleware(stack); err != nil {
		return err
	}
	if err = stack.Initialize.Add(newServiceMetadataMiddleware_opStartNotebookExecution(options.Region), middleware.Before); err != nil {
		return err
	}
	if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
		return err
	}
	if err = addRequestIDRetrieverMiddleware(stack); err != nil {
		return err
	}
	if err = addResponseErrorMiddleware(stack); err != nil {
		return err
	}
	if err = addRequestResponseLogging(stack, options); err != nil {
		return err
	}
	if err = addDisableHTTPSMiddleware(stack, options); err != nil {
		return err
	}
	return nil
}

func newServiceMetadataMiddleware_opStartNotebookExecution(region string) *awsmiddleware.RegisterServiceMetadata {
	return &awsmiddleware.RegisterServiceMetadata{
		Region:        region,
		ServiceID:     ServiceID,
		OperationName: "StartNotebookExecution",
	}
}