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 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package glue
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/glue/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates a new session.
func (c *Client) CreateSession(ctx context.Context, params *CreateSessionInput, optFns ...func(*Options)) (*CreateSessionOutput, error) {
if params == nil {
params = &CreateSessionInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateSession", params, optFns, c.addOperationCreateSessionMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateSessionOutput)
out.ResultMetadata = metadata
return out, nil
}
// Request to create a new session.
type CreateSessionInput struct {
// The SessionCommand that runs the job.
//
// This member is required.
Command *types.SessionCommand
// The ID of the session request.
//
// This member is required.
Id *string
// The IAM Role ARN
//
// This member is required.
Role *string
// The number of connections to use for the session.
Connections *types.ConnectionsList
// A map array of key-value pairs. Max is 75 pairs.
DefaultArguments map[string]string
// The description of the session.
Description *string
// The Glue version determines the versions of Apache Spark and Python that Glue
// supports. The GlueVersion must be greater than 2.0.
GlueVersion *string
// The number of minutes when idle before session times out. Default for Spark ETL
// jobs is value of Timeout. Consult the documentation for other job types.
IdleTimeout *int32
// The number of Glue data processing units (DPUs) that can be allocated when the
// job runs. A DPU is a relative measure of processing power that consists of 4
// vCPUs of compute capacity and 16 GB memory.
MaxCapacity *float64
// The number of workers of a defined WorkerType to use for the session.
NumberOfWorkers *int32
// The origin of the request.
RequestOrigin *string
// The name of the SecurityConfiguration structure to be used with the session
SecurityConfiguration *string
// The map of key value pairs (tags) belonging to the session.
Tags map[string]string
// The number of minutes before session times out. Default for Spark ETL jobs is
// 48 hours (2880 minutes), the maximum session lifetime for this job type. Consult
// the documentation for other job types.
Timeout *int32
// The type of predefined worker that is allocated when a job runs. Accepts a
// value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for
// Ray notebooks.
// - For the G.1X worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of
// memory) with 84GB disk (approximately 34GB free), and provides 1 executor per
// worker. We recommend this worker type for workloads such as data transforms,
// joins, and queries, to offers a scalable and cost effective way to run most
// jobs.
// - For the G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of
// memory) with 128GB disk (approximately 77GB free), and provides 1 executor per
// worker. We recommend this worker type for workloads such as data transforms,
// joins, and queries, to offers a scalable and cost effective way to run most
// jobs.
// - For the G.4X worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of
// memory) with 256GB disk (approximately 235GB free), and provides 1 executor per
// worker. We recommend this worker type for jobs whose workloads contain your most
// demanding transforms, aggregations, joins, and queries. This worker type is
// available only for Glue version 3.0 or later Spark ETL jobs in the following
// Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West
// (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo),
// Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).
// - For the G.8X worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of
// memory) with 512GB disk (approximately 487GB free), and provides 1 executor per
// worker. We recommend this worker type for jobs whose workloads contain your most
// demanding transforms, aggregations, joins, and queries. This worker type is
// available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon
// Web Services Regions as supported for the G.4X worker type.
// - For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of
// memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray
// workers based on the autoscaler.
WorkerType types.WorkerType
noSmithyDocumentSerde
}
type CreateSessionOutput struct {
// Returns the session object in the response.
Session *types.Session
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateSessionMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateSession{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateSession{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateSession"); 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 = addOpCreateSessionValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateSession(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_opCreateSession(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateSession",
}
}
|