1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package emr 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opAddInstanceFleet = "AddInstanceFleet" 17 18// AddInstanceFleetRequest generates a "aws/request.Request" representing the 19// client's request for the AddInstanceFleet operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AddInstanceFleet for more information on using the AddInstanceFleet 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AddInstanceFleetRequest method. 34// req, resp := client.AddInstanceFleetRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet 42func (c *EMR) AddInstanceFleetRequest(input *AddInstanceFleetInput) (req *request.Request, output *AddInstanceFleetOutput) { 43 op := &request.Operation{ 44 Name: opAddInstanceFleet, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AddInstanceFleetInput{} 51 } 52 53 output = &AddInstanceFleetOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AddInstanceFleet API operation for Amazon Elastic MapReduce. 59// 60// Adds an instance fleet to a running cluster. 61// 62// The instance fleet configuration is available only in Amazon EMR versions 63// 4.8.0 and later, excluding 5.0.x. 64// 65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 66// with awserr.Error's Code and Message methods to get detailed information about 67// the error. 68// 69// See the AWS API reference guide for Amazon Elastic MapReduce's 70// API operation AddInstanceFleet for usage and error information. 71// 72// Returned Error Types: 73// * InternalServerException 74// This exception occurs when there is an internal failure in the Amazon EMR 75// service. 76// 77// * InvalidRequestException 78// This exception occurs when there is something wrong with user input. 79// 80// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet 81func (c *EMR) AddInstanceFleet(input *AddInstanceFleetInput) (*AddInstanceFleetOutput, error) { 82 req, out := c.AddInstanceFleetRequest(input) 83 return out, req.Send() 84} 85 86// AddInstanceFleetWithContext is the same as AddInstanceFleet with the addition of 87// the ability to pass a context and additional request options. 88// 89// See AddInstanceFleet for details on how to use this API operation. 90// 91// The context must be non-nil and will be used for request cancellation. If 92// the context is nil a panic will occur. In the future the SDK may create 93// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 94// for more information on using Contexts. 95func (c *EMR) AddInstanceFleetWithContext(ctx aws.Context, input *AddInstanceFleetInput, opts ...request.Option) (*AddInstanceFleetOutput, error) { 96 req, out := c.AddInstanceFleetRequest(input) 97 req.SetContext(ctx) 98 req.ApplyOptions(opts...) 99 return out, req.Send() 100} 101 102const opAddInstanceGroups = "AddInstanceGroups" 103 104// AddInstanceGroupsRequest generates a "aws/request.Request" representing the 105// client's request for the AddInstanceGroups operation. The "output" return 106// value will be populated with the request's response once the request completes 107// successfully. 108// 109// Use "Send" method on the returned Request to send the API call to the service. 110// the "output" return value is not valid until after Send returns without error. 111// 112// See AddInstanceGroups for more information on using the AddInstanceGroups 113// API call, and error handling. 114// 115// This method is useful when you want to inject custom logic or configuration 116// into the SDK's request lifecycle. Such as custom headers, or retry logic. 117// 118// 119// // Example sending a request using the AddInstanceGroupsRequest method. 120// req, resp := client.AddInstanceGroupsRequest(params) 121// 122// err := req.Send() 123// if err == nil { // resp is now filled 124// fmt.Println(resp) 125// } 126// 127// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups 128func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *request.Request, output *AddInstanceGroupsOutput) { 129 op := &request.Operation{ 130 Name: opAddInstanceGroups, 131 HTTPMethod: "POST", 132 HTTPPath: "/", 133 } 134 135 if input == nil { 136 input = &AddInstanceGroupsInput{} 137 } 138 139 output = &AddInstanceGroupsOutput{} 140 req = c.newRequest(op, input, output) 141 return 142} 143 144// AddInstanceGroups API operation for Amazon Elastic MapReduce. 145// 146// Adds one or more instance groups to a running cluster. 147// 148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 149// with awserr.Error's Code and Message methods to get detailed information about 150// the error. 151// 152// See the AWS API reference guide for Amazon Elastic MapReduce's 153// API operation AddInstanceGroups for usage and error information. 154// 155// Returned Error Types: 156// * InternalServerError 157// Indicates that an error occurred while processing the request and that the 158// request was not completed. 159// 160// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups 161func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGroupsOutput, error) { 162 req, out := c.AddInstanceGroupsRequest(input) 163 return out, req.Send() 164} 165 166// AddInstanceGroupsWithContext is the same as AddInstanceGroups with the addition of 167// the ability to pass a context and additional request options. 168// 169// See AddInstanceGroups for details on how to use this API operation. 170// 171// The context must be non-nil and will be used for request cancellation. If 172// the context is nil a panic will occur. In the future the SDK may create 173// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 174// for more information on using Contexts. 175func (c *EMR) AddInstanceGroupsWithContext(ctx aws.Context, input *AddInstanceGroupsInput, opts ...request.Option) (*AddInstanceGroupsOutput, error) { 176 req, out := c.AddInstanceGroupsRequest(input) 177 req.SetContext(ctx) 178 req.ApplyOptions(opts...) 179 return out, req.Send() 180} 181 182const opAddJobFlowSteps = "AddJobFlowSteps" 183 184// AddJobFlowStepsRequest generates a "aws/request.Request" representing the 185// client's request for the AddJobFlowSteps operation. The "output" return 186// value will be populated with the request's response once the request completes 187// successfully. 188// 189// Use "Send" method on the returned Request to send the API call to the service. 190// the "output" return value is not valid until after Send returns without error. 191// 192// See AddJobFlowSteps for more information on using the AddJobFlowSteps 193// API call, and error handling. 194// 195// This method is useful when you want to inject custom logic or configuration 196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 197// 198// 199// // Example sending a request using the AddJobFlowStepsRequest method. 200// req, resp := client.AddJobFlowStepsRequest(params) 201// 202// err := req.Send() 203// if err == nil { // resp is now filled 204// fmt.Println(resp) 205// } 206// 207// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps 208func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request.Request, output *AddJobFlowStepsOutput) { 209 op := &request.Operation{ 210 Name: opAddJobFlowSteps, 211 HTTPMethod: "POST", 212 HTTPPath: "/", 213 } 214 215 if input == nil { 216 input = &AddJobFlowStepsInput{} 217 } 218 219 output = &AddJobFlowStepsOutput{} 220 req = c.newRequest(op, input, output) 221 return 222} 223 224// AddJobFlowSteps API operation for Amazon Elastic MapReduce. 225// 226// AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps 227// are allowed in each job flow. 228// 229// If your cluster is long-running (such as a Hive data warehouse) or complex, 230// you may require more than 256 steps to process your data. You can bypass 231// the 256-step limitation in various ways, including using SSH to connect to 232// the master node and submitting queries directly to the software running on 233// the master node, such as Hive and Hadoop. For more information on how to 234// do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) 235// in the Amazon EMR Management Guide. 236// 237// A step specifies the location of a JAR file stored either on the master node 238// of the cluster or in Amazon S3. Each step is performed by the main function 239// of the main class of the JAR file. The main class can be specified either 240// in the manifest of the JAR or by using the MainFunction parameter of the 241// step. 242// 243// Amazon EMR executes each step in the order listed. For a step to be considered 244// complete, the main function must exit with a zero exit code and all Hadoop 245// jobs started while the step was running must have completed and run successfully. 246// 247// You can only add steps to a cluster that is in one of the following states: 248// STARTING, BOOTSTRAPPING, RUNNING, or WAITING. 249// 250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 251// with awserr.Error's Code and Message methods to get detailed information about 252// the error. 253// 254// See the AWS API reference guide for Amazon Elastic MapReduce's 255// API operation AddJobFlowSteps for usage and error information. 256// 257// Returned Error Types: 258// * InternalServerError 259// Indicates that an error occurred while processing the request and that the 260// request was not completed. 261// 262// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps 263func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutput, error) { 264 req, out := c.AddJobFlowStepsRequest(input) 265 return out, req.Send() 266} 267 268// AddJobFlowStepsWithContext is the same as AddJobFlowSteps with the addition of 269// the ability to pass a context and additional request options. 270// 271// See AddJobFlowSteps for details on how to use this API operation. 272// 273// The context must be non-nil and will be used for request cancellation. If 274// the context is nil a panic will occur. In the future the SDK may create 275// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 276// for more information on using Contexts. 277func (c *EMR) AddJobFlowStepsWithContext(ctx aws.Context, input *AddJobFlowStepsInput, opts ...request.Option) (*AddJobFlowStepsOutput, error) { 278 req, out := c.AddJobFlowStepsRequest(input) 279 req.SetContext(ctx) 280 req.ApplyOptions(opts...) 281 return out, req.Send() 282} 283 284const opAddTags = "AddTags" 285 286// AddTagsRequest generates a "aws/request.Request" representing the 287// client's request for the AddTags operation. The "output" return 288// value will be populated with the request's response once the request completes 289// successfully. 290// 291// Use "Send" method on the returned Request to send the API call to the service. 292// the "output" return value is not valid until after Send returns without error. 293// 294// See AddTags for more information on using the AddTags 295// API call, and error handling. 296// 297// This method is useful when you want to inject custom logic or configuration 298// into the SDK's request lifecycle. Such as custom headers, or retry logic. 299// 300// 301// // Example sending a request using the AddTagsRequest method. 302// req, resp := client.AddTagsRequest(params) 303// 304// err := req.Send() 305// if err == nil { // resp is now filled 306// fmt.Println(resp) 307// } 308// 309// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags 310func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { 311 op := &request.Operation{ 312 Name: opAddTags, 313 HTTPMethod: "POST", 314 HTTPPath: "/", 315 } 316 317 if input == nil { 318 input = &AddTagsInput{} 319 } 320 321 output = &AddTagsOutput{} 322 req = c.newRequest(op, input, output) 323 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 324 return 325} 326 327// AddTags API operation for Amazon Elastic MapReduce. 328// 329// Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters 330// in various ways, such as grouping clusters to track your Amazon EMR resource 331// allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 332// 333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 334// with awserr.Error's Code and Message methods to get detailed information about 335// the error. 336// 337// See the AWS API reference guide for Amazon Elastic MapReduce's 338// API operation AddTags for usage and error information. 339// 340// Returned Error Types: 341// * InternalServerException 342// This exception occurs when there is an internal failure in the Amazon EMR 343// service. 344// 345// * InvalidRequestException 346// This exception occurs when there is something wrong with user input. 347// 348// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags 349func (c *EMR) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { 350 req, out := c.AddTagsRequest(input) 351 return out, req.Send() 352} 353 354// AddTagsWithContext is the same as AddTags with the addition of 355// the ability to pass a context and additional request options. 356// 357// See AddTags for details on how to use this API operation. 358// 359// The context must be non-nil and will be used for request cancellation. If 360// the context is nil a panic will occur. In the future the SDK may create 361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 362// for more information on using Contexts. 363func (c *EMR) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) { 364 req, out := c.AddTagsRequest(input) 365 req.SetContext(ctx) 366 req.ApplyOptions(opts...) 367 return out, req.Send() 368} 369 370const opCancelSteps = "CancelSteps" 371 372// CancelStepsRequest generates a "aws/request.Request" representing the 373// client's request for the CancelSteps operation. The "output" return 374// value will be populated with the request's response once the request completes 375// successfully. 376// 377// Use "Send" method on the returned Request to send the API call to the service. 378// the "output" return value is not valid until after Send returns without error. 379// 380// See CancelSteps for more information on using the CancelSteps 381// API call, and error handling. 382// 383// This method is useful when you want to inject custom logic or configuration 384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 385// 386// 387// // Example sending a request using the CancelStepsRequest method. 388// req, resp := client.CancelStepsRequest(params) 389// 390// err := req.Send() 391// if err == nil { // resp is now filled 392// fmt.Println(resp) 393// } 394// 395// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps 396func (c *EMR) CancelStepsRequest(input *CancelStepsInput) (req *request.Request, output *CancelStepsOutput) { 397 op := &request.Operation{ 398 Name: opCancelSteps, 399 HTTPMethod: "POST", 400 HTTPPath: "/", 401 } 402 403 if input == nil { 404 input = &CancelStepsInput{} 405 } 406 407 output = &CancelStepsOutput{} 408 req = c.newRequest(op, input, output) 409 return 410} 411 412// CancelSteps API operation for Amazon Elastic MapReduce. 413// 414// Cancels a pending step or steps in a running cluster. Available only in Amazon 415// EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps 416// are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; 417// it does not guarantee that a step will be canceled, even if the request is 418// successfully submitted. You can only cancel steps that are in a PENDING state. 419// 420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 421// with awserr.Error's Code and Message methods to get detailed information about 422// the error. 423// 424// See the AWS API reference guide for Amazon Elastic MapReduce's 425// API operation CancelSteps for usage and error information. 426// 427// Returned Error Types: 428// * InternalServerError 429// Indicates that an error occurred while processing the request and that the 430// request was not completed. 431// 432// * InvalidRequestException 433// This exception occurs when there is something wrong with user input. 434// 435// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps 436func (c *EMR) CancelSteps(input *CancelStepsInput) (*CancelStepsOutput, error) { 437 req, out := c.CancelStepsRequest(input) 438 return out, req.Send() 439} 440 441// CancelStepsWithContext is the same as CancelSteps with the addition of 442// the ability to pass a context and additional request options. 443// 444// See CancelSteps for details on how to use this API operation. 445// 446// The context must be non-nil and will be used for request cancellation. If 447// the context is nil a panic will occur. In the future the SDK may create 448// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 449// for more information on using Contexts. 450func (c *EMR) CancelStepsWithContext(ctx aws.Context, input *CancelStepsInput, opts ...request.Option) (*CancelStepsOutput, error) { 451 req, out := c.CancelStepsRequest(input) 452 req.SetContext(ctx) 453 req.ApplyOptions(opts...) 454 return out, req.Send() 455} 456 457const opCreateSecurityConfiguration = "CreateSecurityConfiguration" 458 459// CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the 460// client's request for the CreateSecurityConfiguration operation. The "output" return 461// value will be populated with the request's response once the request completes 462// successfully. 463// 464// Use "Send" method on the returned Request to send the API call to the service. 465// the "output" return value is not valid until after Send returns without error. 466// 467// See CreateSecurityConfiguration for more information on using the CreateSecurityConfiguration 468// API call, and error handling. 469// 470// This method is useful when you want to inject custom logic or configuration 471// into the SDK's request lifecycle. Such as custom headers, or retry logic. 472// 473// 474// // Example sending a request using the CreateSecurityConfigurationRequest method. 475// req, resp := client.CreateSecurityConfigurationRequest(params) 476// 477// err := req.Send() 478// if err == nil { // resp is now filled 479// fmt.Println(resp) 480// } 481// 482// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration 483func (c *EMR) CreateSecurityConfigurationRequest(input *CreateSecurityConfigurationInput) (req *request.Request, output *CreateSecurityConfigurationOutput) { 484 op := &request.Operation{ 485 Name: opCreateSecurityConfiguration, 486 HTTPMethod: "POST", 487 HTTPPath: "/", 488 } 489 490 if input == nil { 491 input = &CreateSecurityConfigurationInput{} 492 } 493 494 output = &CreateSecurityConfigurationOutput{} 495 req = c.newRequest(op, input, output) 496 return 497} 498 499// CreateSecurityConfiguration API operation for Amazon Elastic MapReduce. 500// 501// Creates a security configuration, which is stored in the service and can 502// be specified when a cluster is created. 503// 504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 505// with awserr.Error's Code and Message methods to get detailed information about 506// the error. 507// 508// See the AWS API reference guide for Amazon Elastic MapReduce's 509// API operation CreateSecurityConfiguration for usage and error information. 510// 511// Returned Error Types: 512// * InternalServerException 513// This exception occurs when there is an internal failure in the Amazon EMR 514// service. 515// 516// * InvalidRequestException 517// This exception occurs when there is something wrong with user input. 518// 519// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration 520func (c *EMR) CreateSecurityConfiguration(input *CreateSecurityConfigurationInput) (*CreateSecurityConfigurationOutput, error) { 521 req, out := c.CreateSecurityConfigurationRequest(input) 522 return out, req.Send() 523} 524 525// CreateSecurityConfigurationWithContext is the same as CreateSecurityConfiguration with the addition of 526// the ability to pass a context and additional request options. 527// 528// See CreateSecurityConfiguration for details on how to use this API operation. 529// 530// The context must be non-nil and will be used for request cancellation. If 531// the context is nil a panic will occur. In the future the SDK may create 532// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 533// for more information on using Contexts. 534func (c *EMR) CreateSecurityConfigurationWithContext(ctx aws.Context, input *CreateSecurityConfigurationInput, opts ...request.Option) (*CreateSecurityConfigurationOutput, error) { 535 req, out := c.CreateSecurityConfigurationRequest(input) 536 req.SetContext(ctx) 537 req.ApplyOptions(opts...) 538 return out, req.Send() 539} 540 541const opCreateStudio = "CreateStudio" 542 543// CreateStudioRequest generates a "aws/request.Request" representing the 544// client's request for the CreateStudio operation. The "output" return 545// value will be populated with the request's response once the request completes 546// successfully. 547// 548// Use "Send" method on the returned Request to send the API call to the service. 549// the "output" return value is not valid until after Send returns without error. 550// 551// See CreateStudio for more information on using the CreateStudio 552// API call, and error handling. 553// 554// This method is useful when you want to inject custom logic or configuration 555// into the SDK's request lifecycle. Such as custom headers, or retry logic. 556// 557// 558// // Example sending a request using the CreateStudioRequest method. 559// req, resp := client.CreateStudioRequest(params) 560// 561// err := req.Send() 562// if err == nil { // resp is now filled 563// fmt.Println(resp) 564// } 565// 566// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudio 567func (c *EMR) CreateStudioRequest(input *CreateStudioInput) (req *request.Request, output *CreateStudioOutput) { 568 op := &request.Operation{ 569 Name: opCreateStudio, 570 HTTPMethod: "POST", 571 HTTPPath: "/", 572 } 573 574 if input == nil { 575 input = &CreateStudioInput{} 576 } 577 578 output = &CreateStudioOutput{} 579 req = c.newRequest(op, input, output) 580 return 581} 582 583// CreateStudio API operation for Amazon Elastic MapReduce. 584// 585// Creates a new Amazon EMR Studio. 586// 587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 588// with awserr.Error's Code and Message methods to get detailed information about 589// the error. 590// 591// See the AWS API reference guide for Amazon Elastic MapReduce's 592// API operation CreateStudio for usage and error information. 593// 594// Returned Error Types: 595// * InternalServerException 596// This exception occurs when there is an internal failure in the Amazon EMR 597// service. 598// 599// * InvalidRequestException 600// This exception occurs when there is something wrong with user input. 601// 602// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudio 603func (c *EMR) CreateStudio(input *CreateStudioInput) (*CreateStudioOutput, error) { 604 req, out := c.CreateStudioRequest(input) 605 return out, req.Send() 606} 607 608// CreateStudioWithContext is the same as CreateStudio with the addition of 609// the ability to pass a context and additional request options. 610// 611// See CreateStudio for details on how to use this API operation. 612// 613// The context must be non-nil and will be used for request cancellation. If 614// the context is nil a panic will occur. In the future the SDK may create 615// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 616// for more information on using Contexts. 617func (c *EMR) CreateStudioWithContext(ctx aws.Context, input *CreateStudioInput, opts ...request.Option) (*CreateStudioOutput, error) { 618 req, out := c.CreateStudioRequest(input) 619 req.SetContext(ctx) 620 req.ApplyOptions(opts...) 621 return out, req.Send() 622} 623 624const opCreateStudioSessionMapping = "CreateStudioSessionMapping" 625 626// CreateStudioSessionMappingRequest generates a "aws/request.Request" representing the 627// client's request for the CreateStudioSessionMapping operation. The "output" return 628// value will be populated with the request's response once the request completes 629// successfully. 630// 631// Use "Send" method on the returned Request to send the API call to the service. 632// the "output" return value is not valid until after Send returns without error. 633// 634// See CreateStudioSessionMapping for more information on using the CreateStudioSessionMapping 635// API call, and error handling. 636// 637// This method is useful when you want to inject custom logic or configuration 638// into the SDK's request lifecycle. Such as custom headers, or retry logic. 639// 640// 641// // Example sending a request using the CreateStudioSessionMappingRequest method. 642// req, resp := client.CreateStudioSessionMappingRequest(params) 643// 644// err := req.Send() 645// if err == nil { // resp is now filled 646// fmt.Println(resp) 647// } 648// 649// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMapping 650func (c *EMR) CreateStudioSessionMappingRequest(input *CreateStudioSessionMappingInput) (req *request.Request, output *CreateStudioSessionMappingOutput) { 651 op := &request.Operation{ 652 Name: opCreateStudioSessionMapping, 653 HTTPMethod: "POST", 654 HTTPPath: "/", 655 } 656 657 if input == nil { 658 input = &CreateStudioSessionMappingInput{} 659 } 660 661 output = &CreateStudioSessionMappingOutput{} 662 req = c.newRequest(op, input, output) 663 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 664 return 665} 666 667// CreateStudioSessionMapping API operation for Amazon Elastic MapReduce. 668// 669// Maps a user or group to the Amazon EMR Studio specified by StudioId, and 670// applies a session policy to refine Studio permissions for that user or group. 671// 672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 673// with awserr.Error's Code and Message methods to get detailed information about 674// the error. 675// 676// See the AWS API reference guide for Amazon Elastic MapReduce's 677// API operation CreateStudioSessionMapping for usage and error information. 678// 679// Returned Error Types: 680// * InternalServerError 681// Indicates that an error occurred while processing the request and that the 682// request was not completed. 683// 684// * InvalidRequestException 685// This exception occurs when there is something wrong with user input. 686// 687// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateStudioSessionMapping 688func (c *EMR) CreateStudioSessionMapping(input *CreateStudioSessionMappingInput) (*CreateStudioSessionMappingOutput, error) { 689 req, out := c.CreateStudioSessionMappingRequest(input) 690 return out, req.Send() 691} 692 693// CreateStudioSessionMappingWithContext is the same as CreateStudioSessionMapping with the addition of 694// the ability to pass a context and additional request options. 695// 696// See CreateStudioSessionMapping for details on how to use this API operation. 697// 698// The context must be non-nil and will be used for request cancellation. If 699// the context is nil a panic will occur. In the future the SDK may create 700// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 701// for more information on using Contexts. 702func (c *EMR) CreateStudioSessionMappingWithContext(ctx aws.Context, input *CreateStudioSessionMappingInput, opts ...request.Option) (*CreateStudioSessionMappingOutput, error) { 703 req, out := c.CreateStudioSessionMappingRequest(input) 704 req.SetContext(ctx) 705 req.ApplyOptions(opts...) 706 return out, req.Send() 707} 708 709const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" 710 711// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the 712// client's request for the DeleteSecurityConfiguration operation. The "output" return 713// value will be populated with the request's response once the request completes 714// successfully. 715// 716// Use "Send" method on the returned Request to send the API call to the service. 717// the "output" return value is not valid until after Send returns without error. 718// 719// See DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration 720// API call, and error handling. 721// 722// This method is useful when you want to inject custom logic or configuration 723// into the SDK's request lifecycle. Such as custom headers, or retry logic. 724// 725// 726// // Example sending a request using the DeleteSecurityConfigurationRequest method. 727// req, resp := client.DeleteSecurityConfigurationRequest(params) 728// 729// err := req.Send() 730// if err == nil { // resp is now filled 731// fmt.Println(resp) 732// } 733// 734// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration 735func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) { 736 op := &request.Operation{ 737 Name: opDeleteSecurityConfiguration, 738 HTTPMethod: "POST", 739 HTTPPath: "/", 740 } 741 742 if input == nil { 743 input = &DeleteSecurityConfigurationInput{} 744 } 745 746 output = &DeleteSecurityConfigurationOutput{} 747 req = c.newRequest(op, input, output) 748 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 749 return 750} 751 752// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce. 753// 754// Deletes a security configuration. 755// 756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 757// with awserr.Error's Code and Message methods to get detailed information about 758// the error. 759// 760// See the AWS API reference guide for Amazon Elastic MapReduce's 761// API operation DeleteSecurityConfiguration for usage and error information. 762// 763// Returned Error Types: 764// * InternalServerException 765// This exception occurs when there is an internal failure in the Amazon EMR 766// service. 767// 768// * InvalidRequestException 769// This exception occurs when there is something wrong with user input. 770// 771// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration 772func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) { 773 req, out := c.DeleteSecurityConfigurationRequest(input) 774 return out, req.Send() 775} 776 777// DeleteSecurityConfigurationWithContext is the same as DeleteSecurityConfiguration with the addition of 778// the ability to pass a context and additional request options. 779// 780// See DeleteSecurityConfiguration for details on how to use this API operation. 781// 782// The context must be non-nil and will be used for request cancellation. If 783// the context is nil a panic will occur. In the future the SDK may create 784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 785// for more information on using Contexts. 786func (c *EMR) DeleteSecurityConfigurationWithContext(ctx aws.Context, input *DeleteSecurityConfigurationInput, opts ...request.Option) (*DeleteSecurityConfigurationOutput, error) { 787 req, out := c.DeleteSecurityConfigurationRequest(input) 788 req.SetContext(ctx) 789 req.ApplyOptions(opts...) 790 return out, req.Send() 791} 792 793const opDeleteStudio = "DeleteStudio" 794 795// DeleteStudioRequest generates a "aws/request.Request" representing the 796// client's request for the DeleteStudio operation. The "output" return 797// value will be populated with the request's response once the request completes 798// successfully. 799// 800// Use "Send" method on the returned Request to send the API call to the service. 801// the "output" return value is not valid until after Send returns without error. 802// 803// See DeleteStudio for more information on using the DeleteStudio 804// API call, and error handling. 805// 806// This method is useful when you want to inject custom logic or configuration 807// into the SDK's request lifecycle. Such as custom headers, or retry logic. 808// 809// 810// // Example sending a request using the DeleteStudioRequest method. 811// req, resp := client.DeleteStudioRequest(params) 812// 813// err := req.Send() 814// if err == nil { // resp is now filled 815// fmt.Println(resp) 816// } 817// 818// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudio 819func (c *EMR) DeleteStudioRequest(input *DeleteStudioInput) (req *request.Request, output *DeleteStudioOutput) { 820 op := &request.Operation{ 821 Name: opDeleteStudio, 822 HTTPMethod: "POST", 823 HTTPPath: "/", 824 } 825 826 if input == nil { 827 input = &DeleteStudioInput{} 828 } 829 830 output = &DeleteStudioOutput{} 831 req = c.newRequest(op, input, output) 832 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 833 return 834} 835 836// DeleteStudio API operation for Amazon Elastic MapReduce. 837// 838// Removes an Amazon EMR Studio from the Studio metadata store. 839// 840// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 841// with awserr.Error's Code and Message methods to get detailed information about 842// the error. 843// 844// See the AWS API reference guide for Amazon Elastic MapReduce's 845// API operation DeleteStudio for usage and error information. 846// 847// Returned Error Types: 848// * InternalServerException 849// This exception occurs when there is an internal failure in the Amazon EMR 850// service. 851// 852// * InvalidRequestException 853// This exception occurs when there is something wrong with user input. 854// 855// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudio 856func (c *EMR) DeleteStudio(input *DeleteStudioInput) (*DeleteStudioOutput, error) { 857 req, out := c.DeleteStudioRequest(input) 858 return out, req.Send() 859} 860 861// DeleteStudioWithContext is the same as DeleteStudio with the addition of 862// the ability to pass a context and additional request options. 863// 864// See DeleteStudio for details on how to use this API operation. 865// 866// The context must be non-nil and will be used for request cancellation. If 867// the context is nil a panic will occur. In the future the SDK may create 868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 869// for more information on using Contexts. 870func (c *EMR) DeleteStudioWithContext(ctx aws.Context, input *DeleteStudioInput, opts ...request.Option) (*DeleteStudioOutput, error) { 871 req, out := c.DeleteStudioRequest(input) 872 req.SetContext(ctx) 873 req.ApplyOptions(opts...) 874 return out, req.Send() 875} 876 877const opDeleteStudioSessionMapping = "DeleteStudioSessionMapping" 878 879// DeleteStudioSessionMappingRequest generates a "aws/request.Request" representing the 880// client's request for the DeleteStudioSessionMapping operation. The "output" return 881// value will be populated with the request's response once the request completes 882// successfully. 883// 884// Use "Send" method on the returned Request to send the API call to the service. 885// the "output" return value is not valid until after Send returns without error. 886// 887// See DeleteStudioSessionMapping for more information on using the DeleteStudioSessionMapping 888// API call, and error handling. 889// 890// This method is useful when you want to inject custom logic or configuration 891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 892// 893// 894// // Example sending a request using the DeleteStudioSessionMappingRequest method. 895// req, resp := client.DeleteStudioSessionMappingRequest(params) 896// 897// err := req.Send() 898// if err == nil { // resp is now filled 899// fmt.Println(resp) 900// } 901// 902// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMapping 903func (c *EMR) DeleteStudioSessionMappingRequest(input *DeleteStudioSessionMappingInput) (req *request.Request, output *DeleteStudioSessionMappingOutput) { 904 op := &request.Operation{ 905 Name: opDeleteStudioSessionMapping, 906 HTTPMethod: "POST", 907 HTTPPath: "/", 908 } 909 910 if input == nil { 911 input = &DeleteStudioSessionMappingInput{} 912 } 913 914 output = &DeleteStudioSessionMappingOutput{} 915 req = c.newRequest(op, input, output) 916 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 917 return 918} 919 920// DeleteStudioSessionMapping API operation for Amazon Elastic MapReduce. 921// 922// Removes a user or group from an Amazon EMR Studio. 923// 924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 925// with awserr.Error's Code and Message methods to get detailed information about 926// the error. 927// 928// See the AWS API reference guide for Amazon Elastic MapReduce's 929// API operation DeleteStudioSessionMapping for usage and error information. 930// 931// Returned Error Types: 932// * InternalServerError 933// Indicates that an error occurred while processing the request and that the 934// request was not completed. 935// 936// * InvalidRequestException 937// This exception occurs when there is something wrong with user input. 938// 939// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteStudioSessionMapping 940func (c *EMR) DeleteStudioSessionMapping(input *DeleteStudioSessionMappingInput) (*DeleteStudioSessionMappingOutput, error) { 941 req, out := c.DeleteStudioSessionMappingRequest(input) 942 return out, req.Send() 943} 944 945// DeleteStudioSessionMappingWithContext is the same as DeleteStudioSessionMapping with the addition of 946// the ability to pass a context and additional request options. 947// 948// See DeleteStudioSessionMapping for details on how to use this API operation. 949// 950// The context must be non-nil and will be used for request cancellation. If 951// the context is nil a panic will occur. In the future the SDK may create 952// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 953// for more information on using Contexts. 954func (c *EMR) DeleteStudioSessionMappingWithContext(ctx aws.Context, input *DeleteStudioSessionMappingInput, opts ...request.Option) (*DeleteStudioSessionMappingOutput, error) { 955 req, out := c.DeleteStudioSessionMappingRequest(input) 956 req.SetContext(ctx) 957 req.ApplyOptions(opts...) 958 return out, req.Send() 959} 960 961const opDescribeCluster = "DescribeCluster" 962 963// DescribeClusterRequest generates a "aws/request.Request" representing the 964// client's request for the DescribeCluster operation. The "output" return 965// value will be populated with the request's response once the request completes 966// successfully. 967// 968// Use "Send" method on the returned Request to send the API call to the service. 969// the "output" return value is not valid until after Send returns without error. 970// 971// See DescribeCluster for more information on using the DescribeCluster 972// API call, and error handling. 973// 974// This method is useful when you want to inject custom logic or configuration 975// into the SDK's request lifecycle. Such as custom headers, or retry logic. 976// 977// 978// // Example sending a request using the DescribeClusterRequest method. 979// req, resp := client.DescribeClusterRequest(params) 980// 981// err := req.Send() 982// if err == nil { // resp is now filled 983// fmt.Println(resp) 984// } 985// 986// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster 987func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { 988 op := &request.Operation{ 989 Name: opDescribeCluster, 990 HTTPMethod: "POST", 991 HTTPPath: "/", 992 } 993 994 if input == nil { 995 input = &DescribeClusterInput{} 996 } 997 998 output = &DescribeClusterOutput{} 999 req = c.newRequest(op, input, output) 1000 return 1001} 1002 1003// DescribeCluster API operation for Amazon Elastic MapReduce. 1004// 1005// Provides cluster-level details including status, hardware and software configuration, 1006// VPC settings, and so on. 1007// 1008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1009// with awserr.Error's Code and Message methods to get detailed information about 1010// the error. 1011// 1012// See the AWS API reference guide for Amazon Elastic MapReduce's 1013// API operation DescribeCluster for usage and error information. 1014// 1015// Returned Error Types: 1016// * InternalServerException 1017// This exception occurs when there is an internal failure in the Amazon EMR 1018// service. 1019// 1020// * InvalidRequestException 1021// This exception occurs when there is something wrong with user input. 1022// 1023// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster 1024func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { 1025 req, out := c.DescribeClusterRequest(input) 1026 return out, req.Send() 1027} 1028 1029// DescribeClusterWithContext is the same as DescribeCluster with the addition of 1030// the ability to pass a context and additional request options. 1031// 1032// See DescribeCluster for details on how to use this API operation. 1033// 1034// The context must be non-nil and will be used for request cancellation. If 1035// the context is nil a panic will occur. In the future the SDK may create 1036// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1037// for more information on using Contexts. 1038func (c *EMR) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { 1039 req, out := c.DescribeClusterRequest(input) 1040 req.SetContext(ctx) 1041 req.ApplyOptions(opts...) 1042 return out, req.Send() 1043} 1044 1045const opDescribeJobFlows = "DescribeJobFlows" 1046 1047// DescribeJobFlowsRequest generates a "aws/request.Request" representing the 1048// client's request for the DescribeJobFlows operation. The "output" return 1049// value will be populated with the request's response once the request completes 1050// successfully. 1051// 1052// Use "Send" method on the returned Request to send the API call to the service. 1053// the "output" return value is not valid until after Send returns without error. 1054// 1055// See DescribeJobFlows for more information on using the DescribeJobFlows 1056// API call, and error handling. 1057// 1058// This method is useful when you want to inject custom logic or configuration 1059// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1060// 1061// 1062// // Example sending a request using the DescribeJobFlowsRequest method. 1063// req, resp := client.DescribeJobFlowsRequest(params) 1064// 1065// err := req.Send() 1066// if err == nil { // resp is now filled 1067// fmt.Println(resp) 1068// } 1069// 1070// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows 1071// 1072// Deprecated: DescribeJobFlows has been deprecated 1073func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) { 1074 if c.Client.Config.Logger != nil { 1075 c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated") 1076 } 1077 op := &request.Operation{ 1078 Name: opDescribeJobFlows, 1079 HTTPMethod: "POST", 1080 HTTPPath: "/", 1081 } 1082 1083 if input == nil { 1084 input = &DescribeJobFlowsInput{} 1085 } 1086 1087 output = &DescribeJobFlowsOutput{} 1088 req = c.newRequest(op, input, output) 1089 return 1090} 1091 1092// DescribeJobFlows API operation for Amazon Elastic MapReduce. 1093// 1094// This API is no longer supported and will eventually be removed. We recommend 1095// you use ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and 1096// ListBootstrapActions instead. 1097// 1098// DescribeJobFlows returns a list of job flows that match all of the supplied 1099// parameters. The parameters can include a list of job flow IDs, job flow states, 1100// and restrictions on job flow creation date and time. 1101// 1102// Regardless of supplied parameters, only job flows created within the last 1103// two months are returned. 1104// 1105// If no parameters are supplied, then job flows matching either of the following 1106// criteria are returned: 1107// 1108// * Job flows created and completed in the last two weeks 1109// 1110// * Job flows created within the last two months that are in one of the 1111// following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING 1112// 1113// Amazon EMR can return a maximum of 512 job flow descriptions. 1114// 1115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1116// with awserr.Error's Code and Message methods to get detailed information about 1117// the error. 1118// 1119// See the AWS API reference guide for Amazon Elastic MapReduce's 1120// API operation DescribeJobFlows for usage and error information. 1121// 1122// Returned Error Types: 1123// * InternalServerError 1124// Indicates that an error occurred while processing the request and that the 1125// request was not completed. 1126// 1127// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows 1128// 1129// Deprecated: DescribeJobFlows has been deprecated 1130func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) { 1131 req, out := c.DescribeJobFlowsRequest(input) 1132 return out, req.Send() 1133} 1134 1135// DescribeJobFlowsWithContext is the same as DescribeJobFlows with the addition of 1136// the ability to pass a context and additional request options. 1137// 1138// See DescribeJobFlows for details on how to use this API operation. 1139// 1140// The context must be non-nil and will be used for request cancellation. If 1141// the context is nil a panic will occur. In the future the SDK may create 1142// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1143// for more information on using Contexts. 1144// 1145// Deprecated: DescribeJobFlowsWithContext has been deprecated 1146func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlowsInput, opts ...request.Option) (*DescribeJobFlowsOutput, error) { 1147 req, out := c.DescribeJobFlowsRequest(input) 1148 req.SetContext(ctx) 1149 req.ApplyOptions(opts...) 1150 return out, req.Send() 1151} 1152 1153const opDescribeNotebookExecution = "DescribeNotebookExecution" 1154 1155// DescribeNotebookExecutionRequest generates a "aws/request.Request" representing the 1156// client's request for the DescribeNotebookExecution operation. The "output" return 1157// value will be populated with the request's response once the request completes 1158// successfully. 1159// 1160// Use "Send" method on the returned Request to send the API call to the service. 1161// the "output" return value is not valid until after Send returns without error. 1162// 1163// See DescribeNotebookExecution for more information on using the DescribeNotebookExecution 1164// API call, and error handling. 1165// 1166// This method is useful when you want to inject custom logic or configuration 1167// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1168// 1169// 1170// // Example sending a request using the DescribeNotebookExecutionRequest method. 1171// req, resp := client.DescribeNotebookExecutionRequest(params) 1172// 1173// err := req.Send() 1174// if err == nil { // resp is now filled 1175// fmt.Println(resp) 1176// } 1177// 1178// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution 1179func (c *EMR) DescribeNotebookExecutionRequest(input *DescribeNotebookExecutionInput) (req *request.Request, output *DescribeNotebookExecutionOutput) { 1180 op := &request.Operation{ 1181 Name: opDescribeNotebookExecution, 1182 HTTPMethod: "POST", 1183 HTTPPath: "/", 1184 } 1185 1186 if input == nil { 1187 input = &DescribeNotebookExecutionInput{} 1188 } 1189 1190 output = &DescribeNotebookExecutionOutput{} 1191 req = c.newRequest(op, input, output) 1192 return 1193} 1194 1195// DescribeNotebookExecution API operation for Amazon Elastic MapReduce. 1196// 1197// Provides details of a notebook execution. 1198// 1199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1200// with awserr.Error's Code and Message methods to get detailed information about 1201// the error. 1202// 1203// See the AWS API reference guide for Amazon Elastic MapReduce's 1204// API operation DescribeNotebookExecution for usage and error information. 1205// 1206// Returned Error Types: 1207// * InternalServerError 1208// Indicates that an error occurred while processing the request and that the 1209// request was not completed. 1210// 1211// * InvalidRequestException 1212// This exception occurs when there is something wrong with user input. 1213// 1214// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution 1215func (c *EMR) DescribeNotebookExecution(input *DescribeNotebookExecutionInput) (*DescribeNotebookExecutionOutput, error) { 1216 req, out := c.DescribeNotebookExecutionRequest(input) 1217 return out, req.Send() 1218} 1219 1220// DescribeNotebookExecutionWithContext is the same as DescribeNotebookExecution with the addition of 1221// the ability to pass a context and additional request options. 1222// 1223// See DescribeNotebookExecution for details on how to use this API operation. 1224// 1225// The context must be non-nil and will be used for request cancellation. If 1226// the context is nil a panic will occur. In the future the SDK may create 1227// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1228// for more information on using Contexts. 1229func (c *EMR) DescribeNotebookExecutionWithContext(ctx aws.Context, input *DescribeNotebookExecutionInput, opts ...request.Option) (*DescribeNotebookExecutionOutput, error) { 1230 req, out := c.DescribeNotebookExecutionRequest(input) 1231 req.SetContext(ctx) 1232 req.ApplyOptions(opts...) 1233 return out, req.Send() 1234} 1235 1236const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" 1237 1238// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the 1239// client's request for the DescribeSecurityConfiguration operation. The "output" return 1240// value will be populated with the request's response once the request completes 1241// successfully. 1242// 1243// Use "Send" method on the returned Request to send the API call to the service. 1244// the "output" return value is not valid until after Send returns without error. 1245// 1246// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration 1247// API call, and error handling. 1248// 1249// This method is useful when you want to inject custom logic or configuration 1250// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1251// 1252// 1253// // Example sending a request using the DescribeSecurityConfigurationRequest method. 1254// req, resp := client.DescribeSecurityConfigurationRequest(params) 1255// 1256// err := req.Send() 1257// if err == nil { // resp is now filled 1258// fmt.Println(resp) 1259// } 1260// 1261// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration 1262func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { 1263 op := &request.Operation{ 1264 Name: opDescribeSecurityConfiguration, 1265 HTTPMethod: "POST", 1266 HTTPPath: "/", 1267 } 1268 1269 if input == nil { 1270 input = &DescribeSecurityConfigurationInput{} 1271 } 1272 1273 output = &DescribeSecurityConfigurationOutput{} 1274 req = c.newRequest(op, input, output) 1275 return 1276} 1277 1278// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. 1279// 1280// Provides the details of a security configuration by returning the configuration 1281// JSON. 1282// 1283// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1284// with awserr.Error's Code and Message methods to get detailed information about 1285// the error. 1286// 1287// See the AWS API reference guide for Amazon Elastic MapReduce's 1288// API operation DescribeSecurityConfiguration for usage and error information. 1289// 1290// Returned Error Types: 1291// * InternalServerException 1292// This exception occurs when there is an internal failure in the Amazon EMR 1293// service. 1294// 1295// * InvalidRequestException 1296// This exception occurs when there is something wrong with user input. 1297// 1298// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration 1299func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { 1300 req, out := c.DescribeSecurityConfigurationRequest(input) 1301 return out, req.Send() 1302} 1303 1304// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of 1305// the ability to pass a context and additional request options. 1306// 1307// See DescribeSecurityConfiguration for details on how to use this API operation. 1308// 1309// The context must be non-nil and will be used for request cancellation. If 1310// the context is nil a panic will occur. In the future the SDK may create 1311// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1312// for more information on using Contexts. 1313func (c *EMR) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { 1314 req, out := c.DescribeSecurityConfigurationRequest(input) 1315 req.SetContext(ctx) 1316 req.ApplyOptions(opts...) 1317 return out, req.Send() 1318} 1319 1320const opDescribeStep = "DescribeStep" 1321 1322// DescribeStepRequest generates a "aws/request.Request" representing the 1323// client's request for the DescribeStep operation. The "output" return 1324// value will be populated with the request's response once the request completes 1325// successfully. 1326// 1327// Use "Send" method on the returned Request to send the API call to the service. 1328// the "output" return value is not valid until after Send returns without error. 1329// 1330// See DescribeStep for more information on using the DescribeStep 1331// API call, and error handling. 1332// 1333// This method is useful when you want to inject custom logic or configuration 1334// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1335// 1336// 1337// // Example sending a request using the DescribeStepRequest method. 1338// req, resp := client.DescribeStepRequest(params) 1339// 1340// err := req.Send() 1341// if err == nil { // resp is now filled 1342// fmt.Println(resp) 1343// } 1344// 1345// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep 1346func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { 1347 op := &request.Operation{ 1348 Name: opDescribeStep, 1349 HTTPMethod: "POST", 1350 HTTPPath: "/", 1351 } 1352 1353 if input == nil { 1354 input = &DescribeStepInput{} 1355 } 1356 1357 output = &DescribeStepOutput{} 1358 req = c.newRequest(op, input, output) 1359 return 1360} 1361 1362// DescribeStep API operation for Amazon Elastic MapReduce. 1363// 1364// Provides more detail about the cluster step. 1365// 1366// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1367// with awserr.Error's Code and Message methods to get detailed information about 1368// the error. 1369// 1370// See the AWS API reference guide for Amazon Elastic MapReduce's 1371// API operation DescribeStep for usage and error information. 1372// 1373// Returned Error Types: 1374// * InternalServerException 1375// This exception occurs when there is an internal failure in the Amazon EMR 1376// service. 1377// 1378// * InvalidRequestException 1379// This exception occurs when there is something wrong with user input. 1380// 1381// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep 1382func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { 1383 req, out := c.DescribeStepRequest(input) 1384 return out, req.Send() 1385} 1386 1387// DescribeStepWithContext is the same as DescribeStep with the addition of 1388// the ability to pass a context and additional request options. 1389// 1390// See DescribeStep for details on how to use this API operation. 1391// 1392// The context must be non-nil and will be used for request cancellation. If 1393// the context is nil a panic will occur. In the future the SDK may create 1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1395// for more information on using Contexts. 1396func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) { 1397 req, out := c.DescribeStepRequest(input) 1398 req.SetContext(ctx) 1399 req.ApplyOptions(opts...) 1400 return out, req.Send() 1401} 1402 1403const opDescribeStudio = "DescribeStudio" 1404 1405// DescribeStudioRequest generates a "aws/request.Request" representing the 1406// client's request for the DescribeStudio operation. The "output" return 1407// value will be populated with the request's response once the request completes 1408// successfully. 1409// 1410// Use "Send" method on the returned Request to send the API call to the service. 1411// the "output" return value is not valid until after Send returns without error. 1412// 1413// See DescribeStudio for more information on using the DescribeStudio 1414// API call, and error handling. 1415// 1416// This method is useful when you want to inject custom logic or configuration 1417// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1418// 1419// 1420// // Example sending a request using the DescribeStudioRequest method. 1421// req, resp := client.DescribeStudioRequest(params) 1422// 1423// err := req.Send() 1424// if err == nil { // resp is now filled 1425// fmt.Println(resp) 1426// } 1427// 1428// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudio 1429func (c *EMR) DescribeStudioRequest(input *DescribeStudioInput) (req *request.Request, output *DescribeStudioOutput) { 1430 op := &request.Operation{ 1431 Name: opDescribeStudio, 1432 HTTPMethod: "POST", 1433 HTTPPath: "/", 1434 } 1435 1436 if input == nil { 1437 input = &DescribeStudioInput{} 1438 } 1439 1440 output = &DescribeStudioOutput{} 1441 req = c.newRequest(op, input, output) 1442 return 1443} 1444 1445// DescribeStudio API operation for Amazon Elastic MapReduce. 1446// 1447// Returns details for the specified Amazon EMR Studio including ID, Name, VPC, 1448// Studio access URL, and so on. 1449// 1450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1451// with awserr.Error's Code and Message methods to get detailed information about 1452// the error. 1453// 1454// See the AWS API reference guide for Amazon Elastic MapReduce's 1455// API operation DescribeStudio for usage and error information. 1456// 1457// Returned Error Types: 1458// * InternalServerException 1459// This exception occurs when there is an internal failure in the Amazon EMR 1460// service. 1461// 1462// * InvalidRequestException 1463// This exception occurs when there is something wrong with user input. 1464// 1465// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStudio 1466func (c *EMR) DescribeStudio(input *DescribeStudioInput) (*DescribeStudioOutput, error) { 1467 req, out := c.DescribeStudioRequest(input) 1468 return out, req.Send() 1469} 1470 1471// DescribeStudioWithContext is the same as DescribeStudio with the addition of 1472// the ability to pass a context and additional request options. 1473// 1474// See DescribeStudio for details on how to use this API operation. 1475// 1476// The context must be non-nil and will be used for request cancellation. If 1477// the context is nil a panic will occur. In the future the SDK may create 1478// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1479// for more information on using Contexts. 1480func (c *EMR) DescribeStudioWithContext(ctx aws.Context, input *DescribeStudioInput, opts ...request.Option) (*DescribeStudioOutput, error) { 1481 req, out := c.DescribeStudioRequest(input) 1482 req.SetContext(ctx) 1483 req.ApplyOptions(opts...) 1484 return out, req.Send() 1485} 1486 1487const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" 1488 1489// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 1490// client's request for the GetBlockPublicAccessConfiguration operation. The "output" return 1491// value will be populated with the request's response once the request completes 1492// successfully. 1493// 1494// Use "Send" method on the returned Request to send the API call to the service. 1495// the "output" return value is not valid until after Send returns without error. 1496// 1497// See GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration 1498// API call, and error handling. 1499// 1500// This method is useful when you want to inject custom logic or configuration 1501// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1502// 1503// 1504// // Example sending a request using the GetBlockPublicAccessConfigurationRequest method. 1505// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) 1506// 1507// err := req.Send() 1508// if err == nil { // resp is now filled 1509// fmt.Println(resp) 1510// } 1511// 1512// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1513func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { 1514 op := &request.Operation{ 1515 Name: opGetBlockPublicAccessConfiguration, 1516 HTTPMethod: "POST", 1517 HTTPPath: "/", 1518 } 1519 1520 if input == nil { 1521 input = &GetBlockPublicAccessConfigurationInput{} 1522 } 1523 1524 output = &GetBlockPublicAccessConfigurationOutput{} 1525 req = c.newRequest(op, input, output) 1526 return 1527} 1528 1529// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 1530// 1531// Returns the Amazon EMR block public access configuration for your AWS account 1532// in the current Region. For more information see Configure Block Public Access 1533// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 1534// in the Amazon EMR Management Guide. 1535// 1536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1537// with awserr.Error's Code and Message methods to get detailed information about 1538// the error. 1539// 1540// See the AWS API reference guide for Amazon Elastic MapReduce's 1541// API operation GetBlockPublicAccessConfiguration for usage and error information. 1542// 1543// Returned Error Types: 1544// * InternalServerException 1545// This exception occurs when there is an internal failure in the Amazon EMR 1546// service. 1547// 1548// * InvalidRequestException 1549// This exception occurs when there is something wrong with user input. 1550// 1551// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1552func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { 1553 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1554 return out, req.Send() 1555} 1556 1557// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of 1558// the ability to pass a context and additional request options. 1559// 1560// See GetBlockPublicAccessConfiguration for details on how to use this API operation. 1561// 1562// The context must be non-nil and will be used for request cancellation. If 1563// the context is nil a panic will occur. In the future the SDK may create 1564// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1565// for more information on using Contexts. 1566func (c *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { 1567 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1568 req.SetContext(ctx) 1569 req.ApplyOptions(opts...) 1570 return out, req.Send() 1571} 1572 1573const opGetManagedScalingPolicy = "GetManagedScalingPolicy" 1574 1575// GetManagedScalingPolicyRequest generates a "aws/request.Request" representing the 1576// client's request for the GetManagedScalingPolicy operation. The "output" return 1577// value will be populated with the request's response once the request completes 1578// successfully. 1579// 1580// Use "Send" method on the returned Request to send the API call to the service. 1581// the "output" return value is not valid until after Send returns without error. 1582// 1583// See GetManagedScalingPolicy for more information on using the GetManagedScalingPolicy 1584// API call, and error handling. 1585// 1586// This method is useful when you want to inject custom logic or configuration 1587// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1588// 1589// 1590// // Example sending a request using the GetManagedScalingPolicyRequest method. 1591// req, resp := client.GetManagedScalingPolicyRequest(params) 1592// 1593// err := req.Send() 1594// if err == nil { // resp is now filled 1595// fmt.Println(resp) 1596// } 1597// 1598// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1599func (c *EMR) GetManagedScalingPolicyRequest(input *GetManagedScalingPolicyInput) (req *request.Request, output *GetManagedScalingPolicyOutput) { 1600 op := &request.Operation{ 1601 Name: opGetManagedScalingPolicy, 1602 HTTPMethod: "POST", 1603 HTTPPath: "/", 1604 } 1605 1606 if input == nil { 1607 input = &GetManagedScalingPolicyInput{} 1608 } 1609 1610 output = &GetManagedScalingPolicyOutput{} 1611 req = c.newRequest(op, input, output) 1612 return 1613} 1614 1615// GetManagedScalingPolicy API operation for Amazon Elastic MapReduce. 1616// 1617// Fetches the attached managed scaling policy for an Amazon EMR cluster. 1618// 1619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1620// with awserr.Error's Code and Message methods to get detailed information about 1621// the error. 1622// 1623// See the AWS API reference guide for Amazon Elastic MapReduce's 1624// API operation GetManagedScalingPolicy for usage and error information. 1625// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1626func (c *EMR) GetManagedScalingPolicy(input *GetManagedScalingPolicyInput) (*GetManagedScalingPolicyOutput, error) { 1627 req, out := c.GetManagedScalingPolicyRequest(input) 1628 return out, req.Send() 1629} 1630 1631// GetManagedScalingPolicyWithContext is the same as GetManagedScalingPolicy with the addition of 1632// the ability to pass a context and additional request options. 1633// 1634// See GetManagedScalingPolicy for details on how to use this API operation. 1635// 1636// The context must be non-nil and will be used for request cancellation. If 1637// the context is nil a panic will occur. In the future the SDK may create 1638// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1639// for more information on using Contexts. 1640func (c *EMR) GetManagedScalingPolicyWithContext(ctx aws.Context, input *GetManagedScalingPolicyInput, opts ...request.Option) (*GetManagedScalingPolicyOutput, error) { 1641 req, out := c.GetManagedScalingPolicyRequest(input) 1642 req.SetContext(ctx) 1643 req.ApplyOptions(opts...) 1644 return out, req.Send() 1645} 1646 1647const opGetStudioSessionMapping = "GetStudioSessionMapping" 1648 1649// GetStudioSessionMappingRequest generates a "aws/request.Request" representing the 1650// client's request for the GetStudioSessionMapping operation. The "output" return 1651// value will be populated with the request's response once the request completes 1652// successfully. 1653// 1654// Use "Send" method on the returned Request to send the API call to the service. 1655// the "output" return value is not valid until after Send returns without error. 1656// 1657// See GetStudioSessionMapping for more information on using the GetStudioSessionMapping 1658// API call, and error handling. 1659// 1660// This method is useful when you want to inject custom logic or configuration 1661// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1662// 1663// 1664// // Example sending a request using the GetStudioSessionMappingRequest method. 1665// req, resp := client.GetStudioSessionMappingRequest(params) 1666// 1667// err := req.Send() 1668// if err == nil { // resp is now filled 1669// fmt.Println(resp) 1670// } 1671// 1672// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMapping 1673func (c *EMR) GetStudioSessionMappingRequest(input *GetStudioSessionMappingInput) (req *request.Request, output *GetStudioSessionMappingOutput) { 1674 op := &request.Operation{ 1675 Name: opGetStudioSessionMapping, 1676 HTTPMethod: "POST", 1677 HTTPPath: "/", 1678 } 1679 1680 if input == nil { 1681 input = &GetStudioSessionMappingInput{} 1682 } 1683 1684 output = &GetStudioSessionMappingOutput{} 1685 req = c.newRequest(op, input, output) 1686 return 1687} 1688 1689// GetStudioSessionMapping API operation for Amazon Elastic MapReduce. 1690// 1691// Fetches mapping details for the specified Amazon EMR Studio and identity 1692// (user or group). 1693// 1694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1695// with awserr.Error's Code and Message methods to get detailed information about 1696// the error. 1697// 1698// See the AWS API reference guide for Amazon Elastic MapReduce's 1699// API operation GetStudioSessionMapping for usage and error information. 1700// 1701// Returned Error Types: 1702// * InternalServerError 1703// Indicates that an error occurred while processing the request and that the 1704// request was not completed. 1705// 1706// * InvalidRequestException 1707// This exception occurs when there is something wrong with user input. 1708// 1709// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetStudioSessionMapping 1710func (c *EMR) GetStudioSessionMapping(input *GetStudioSessionMappingInput) (*GetStudioSessionMappingOutput, error) { 1711 req, out := c.GetStudioSessionMappingRequest(input) 1712 return out, req.Send() 1713} 1714 1715// GetStudioSessionMappingWithContext is the same as GetStudioSessionMapping with the addition of 1716// the ability to pass a context and additional request options. 1717// 1718// See GetStudioSessionMapping for details on how to use this API operation. 1719// 1720// The context must be non-nil and will be used for request cancellation. If 1721// the context is nil a panic will occur. In the future the SDK may create 1722// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1723// for more information on using Contexts. 1724func (c *EMR) GetStudioSessionMappingWithContext(ctx aws.Context, input *GetStudioSessionMappingInput, opts ...request.Option) (*GetStudioSessionMappingOutput, error) { 1725 req, out := c.GetStudioSessionMappingRequest(input) 1726 req.SetContext(ctx) 1727 req.ApplyOptions(opts...) 1728 return out, req.Send() 1729} 1730 1731const opListBootstrapActions = "ListBootstrapActions" 1732 1733// ListBootstrapActionsRequest generates a "aws/request.Request" representing the 1734// client's request for the ListBootstrapActions operation. The "output" return 1735// value will be populated with the request's response once the request completes 1736// successfully. 1737// 1738// Use "Send" method on the returned Request to send the API call to the service. 1739// the "output" return value is not valid until after Send returns without error. 1740// 1741// See ListBootstrapActions for more information on using the ListBootstrapActions 1742// API call, and error handling. 1743// 1744// This method is useful when you want to inject custom logic or configuration 1745// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1746// 1747// 1748// // Example sending a request using the ListBootstrapActionsRequest method. 1749// req, resp := client.ListBootstrapActionsRequest(params) 1750// 1751// err := req.Send() 1752// if err == nil { // resp is now filled 1753// fmt.Println(resp) 1754// } 1755// 1756// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1757func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { 1758 op := &request.Operation{ 1759 Name: opListBootstrapActions, 1760 HTTPMethod: "POST", 1761 HTTPPath: "/", 1762 Paginator: &request.Paginator{ 1763 InputTokens: []string{"Marker"}, 1764 OutputTokens: []string{"Marker"}, 1765 LimitToken: "", 1766 TruncationToken: "", 1767 }, 1768 } 1769 1770 if input == nil { 1771 input = &ListBootstrapActionsInput{} 1772 } 1773 1774 output = &ListBootstrapActionsOutput{} 1775 req = c.newRequest(op, input, output) 1776 return 1777} 1778 1779// ListBootstrapActions API operation for Amazon Elastic MapReduce. 1780// 1781// Provides information about the bootstrap actions associated with a cluster. 1782// 1783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1784// with awserr.Error's Code and Message methods to get detailed information about 1785// the error. 1786// 1787// See the AWS API reference guide for Amazon Elastic MapReduce's 1788// API operation ListBootstrapActions for usage and error information. 1789// 1790// Returned Error Types: 1791// * InternalServerException 1792// This exception occurs when there is an internal failure in the Amazon EMR 1793// service. 1794// 1795// * InvalidRequestException 1796// This exception occurs when there is something wrong with user input. 1797// 1798// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1799func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { 1800 req, out := c.ListBootstrapActionsRequest(input) 1801 return out, req.Send() 1802} 1803 1804// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of 1805// the ability to pass a context and additional request options. 1806// 1807// See ListBootstrapActions for details on how to use this API operation. 1808// 1809// The context must be non-nil and will be used for request cancellation. If 1810// the context is nil a panic will occur. In the future the SDK may create 1811// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1812// for more information on using Contexts. 1813func (c *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) { 1814 req, out := c.ListBootstrapActionsRequest(input) 1815 req.SetContext(ctx) 1816 req.ApplyOptions(opts...) 1817 return out, req.Send() 1818} 1819 1820// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, 1821// calling the "fn" function with the response data for each page. To stop 1822// iterating, return false from the fn function. 1823// 1824// See ListBootstrapActions method for more information on how to use this operation. 1825// 1826// Note: This operation can generate multiple requests to a service. 1827// 1828// // Example iterating over at most 3 pages of a ListBootstrapActions operation. 1829// pageNum := 0 1830// err := client.ListBootstrapActionsPages(params, 1831// func(page *emr.ListBootstrapActionsOutput, lastPage bool) bool { 1832// pageNum++ 1833// fmt.Println(page) 1834// return pageNum <= 3 1835// }) 1836// 1837func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error { 1838 return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn) 1839} 1840 1841// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except 1842// it takes a Context and allows setting request options on the pages. 1843// 1844// The context must be non-nil and will be used for request cancellation. If 1845// the context is nil a panic will occur. In the future the SDK may create 1846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1847// for more information on using Contexts. 1848func (c *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error { 1849 p := request.Pagination{ 1850 NewRequest: func() (*request.Request, error) { 1851 var inCpy *ListBootstrapActionsInput 1852 if input != nil { 1853 tmp := *input 1854 inCpy = &tmp 1855 } 1856 req, _ := c.ListBootstrapActionsRequest(inCpy) 1857 req.SetContext(ctx) 1858 req.ApplyOptions(opts...) 1859 return req, nil 1860 }, 1861 } 1862 1863 for p.Next() { 1864 if !fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage()) { 1865 break 1866 } 1867 } 1868 1869 return p.Err() 1870} 1871 1872const opListClusters = "ListClusters" 1873 1874// ListClustersRequest generates a "aws/request.Request" representing the 1875// client's request for the ListClusters operation. The "output" return 1876// value will be populated with the request's response once the request completes 1877// successfully. 1878// 1879// Use "Send" method on the returned Request to send the API call to the service. 1880// the "output" return value is not valid until after Send returns without error. 1881// 1882// See ListClusters for more information on using the ListClusters 1883// API call, and error handling. 1884// 1885// This method is useful when you want to inject custom logic or configuration 1886// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1887// 1888// 1889// // Example sending a request using the ListClustersRequest method. 1890// req, resp := client.ListClustersRequest(params) 1891// 1892// err := req.Send() 1893// if err == nil { // resp is now filled 1894// fmt.Println(resp) 1895// } 1896// 1897// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1898func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1899 op := &request.Operation{ 1900 Name: opListClusters, 1901 HTTPMethod: "POST", 1902 HTTPPath: "/", 1903 Paginator: &request.Paginator{ 1904 InputTokens: []string{"Marker"}, 1905 OutputTokens: []string{"Marker"}, 1906 LimitToken: "", 1907 TruncationToken: "", 1908 }, 1909 } 1910 1911 if input == nil { 1912 input = &ListClustersInput{} 1913 } 1914 1915 output = &ListClustersOutput{} 1916 req = c.newRequest(op, input, output) 1917 return 1918} 1919 1920// ListClusters API operation for Amazon Elastic MapReduce. 1921// 1922// Provides the status of all clusters visible to this AWS account. Allows you 1923// to filter the list of clusters based on certain criteria; for example, filtering 1924// by cluster creation date and time or by status. This call returns a maximum 1925// of 50 clusters per call, but returns a marker to track the paging of the 1926// cluster list across multiple ListClusters calls. 1927// 1928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1929// with awserr.Error's Code and Message methods to get detailed information about 1930// the error. 1931// 1932// See the AWS API reference guide for Amazon Elastic MapReduce's 1933// API operation ListClusters for usage and error information. 1934// 1935// Returned Error Types: 1936// * InternalServerException 1937// This exception occurs when there is an internal failure in the Amazon EMR 1938// service. 1939// 1940// * InvalidRequestException 1941// This exception occurs when there is something wrong with user input. 1942// 1943// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1944func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1945 req, out := c.ListClustersRequest(input) 1946 return out, req.Send() 1947} 1948 1949// ListClustersWithContext is the same as ListClusters with the addition of 1950// the ability to pass a context and additional request options. 1951// 1952// See ListClusters for details on how to use this API operation. 1953// 1954// The context must be non-nil and will be used for request cancellation. If 1955// the context is nil a panic will occur. In the future the SDK may create 1956// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1957// for more information on using Contexts. 1958func (c *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1959 req, out := c.ListClustersRequest(input) 1960 req.SetContext(ctx) 1961 req.ApplyOptions(opts...) 1962 return out, req.Send() 1963} 1964 1965// ListClustersPages iterates over the pages of a ListClusters operation, 1966// calling the "fn" function with the response data for each page. To stop 1967// iterating, return false from the fn function. 1968// 1969// See ListClusters method for more information on how to use this operation. 1970// 1971// Note: This operation can generate multiple requests to a service. 1972// 1973// // Example iterating over at most 3 pages of a ListClusters operation. 1974// pageNum := 0 1975// err := client.ListClustersPages(params, 1976// func(page *emr.ListClustersOutput, lastPage bool) bool { 1977// pageNum++ 1978// fmt.Println(page) 1979// return pageNum <= 3 1980// }) 1981// 1982func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 1983 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 1984} 1985 1986// ListClustersPagesWithContext same as ListClustersPages except 1987// it takes a Context and allows setting request options on the pages. 1988// 1989// The context must be non-nil and will be used for request cancellation. If 1990// the context is nil a panic will occur. In the future the SDK may create 1991// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1992// for more information on using Contexts. 1993func (c *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 1994 p := request.Pagination{ 1995 NewRequest: func() (*request.Request, error) { 1996 var inCpy *ListClustersInput 1997 if input != nil { 1998 tmp := *input 1999 inCpy = &tmp 2000 } 2001 req, _ := c.ListClustersRequest(inCpy) 2002 req.SetContext(ctx) 2003 req.ApplyOptions(opts...) 2004 return req, nil 2005 }, 2006 } 2007 2008 for p.Next() { 2009 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 2010 break 2011 } 2012 } 2013 2014 return p.Err() 2015} 2016 2017const opListInstanceFleets = "ListInstanceFleets" 2018 2019// ListInstanceFleetsRequest generates a "aws/request.Request" representing the 2020// client's request for the ListInstanceFleets operation. The "output" return 2021// value will be populated with the request's response once the request completes 2022// successfully. 2023// 2024// Use "Send" method on the returned Request to send the API call to the service. 2025// the "output" return value is not valid until after Send returns without error. 2026// 2027// See ListInstanceFleets for more information on using the ListInstanceFleets 2028// API call, and error handling. 2029// 2030// This method is useful when you want to inject custom logic or configuration 2031// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2032// 2033// 2034// // Example sending a request using the ListInstanceFleetsRequest method. 2035// req, resp := client.ListInstanceFleetsRequest(params) 2036// 2037// err := req.Send() 2038// if err == nil { // resp is now filled 2039// fmt.Println(resp) 2040// } 2041// 2042// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 2043func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) { 2044 op := &request.Operation{ 2045 Name: opListInstanceFleets, 2046 HTTPMethod: "POST", 2047 HTTPPath: "/", 2048 Paginator: &request.Paginator{ 2049 InputTokens: []string{"Marker"}, 2050 OutputTokens: []string{"Marker"}, 2051 LimitToken: "", 2052 TruncationToken: "", 2053 }, 2054 } 2055 2056 if input == nil { 2057 input = &ListInstanceFleetsInput{} 2058 } 2059 2060 output = &ListInstanceFleetsOutput{} 2061 req = c.newRequest(op, input, output) 2062 return 2063} 2064 2065// ListInstanceFleets API operation for Amazon Elastic MapReduce. 2066// 2067// Lists all available details about the instance fleets in a cluster. 2068// 2069// The instance fleet configuration is available only in Amazon EMR versions 2070// 4.8.0 and later, excluding 5.0.x versions. 2071// 2072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2073// with awserr.Error's Code and Message methods to get detailed information about 2074// the error. 2075// 2076// See the AWS API reference guide for Amazon Elastic MapReduce's 2077// API operation ListInstanceFleets for usage and error information. 2078// 2079// Returned Error Types: 2080// * InternalServerException 2081// This exception occurs when there is an internal failure in the Amazon EMR 2082// service. 2083// 2084// * InvalidRequestException 2085// This exception occurs when there is something wrong with user input. 2086// 2087// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 2088func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) { 2089 req, out := c.ListInstanceFleetsRequest(input) 2090 return out, req.Send() 2091} 2092 2093// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of 2094// the ability to pass a context and additional request options. 2095// 2096// See ListInstanceFleets for details on how to use this API operation. 2097// 2098// The context must be non-nil and will be used for request cancellation. If 2099// the context is nil a panic will occur. In the future the SDK may create 2100// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2101// for more information on using Contexts. 2102func (c *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) { 2103 req, out := c.ListInstanceFleetsRequest(input) 2104 req.SetContext(ctx) 2105 req.ApplyOptions(opts...) 2106 return out, req.Send() 2107} 2108 2109// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation, 2110// calling the "fn" function with the response data for each page. To stop 2111// iterating, return false from the fn function. 2112// 2113// See ListInstanceFleets method for more information on how to use this operation. 2114// 2115// Note: This operation can generate multiple requests to a service. 2116// 2117// // Example iterating over at most 3 pages of a ListInstanceFleets operation. 2118// pageNum := 0 2119// err := client.ListInstanceFleetsPages(params, 2120// func(page *emr.ListInstanceFleetsOutput, lastPage bool) bool { 2121// pageNum++ 2122// fmt.Println(page) 2123// return pageNum <= 3 2124// }) 2125// 2126func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error { 2127 return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn) 2128} 2129 2130// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except 2131// it takes a Context and allows setting request options on the pages. 2132// 2133// The context must be non-nil and will be used for request cancellation. If 2134// the context is nil a panic will occur. In the future the SDK may create 2135// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2136// for more information on using Contexts. 2137func (c *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error { 2138 p := request.Pagination{ 2139 NewRequest: func() (*request.Request, error) { 2140 var inCpy *ListInstanceFleetsInput 2141 if input != nil { 2142 tmp := *input 2143 inCpy = &tmp 2144 } 2145 req, _ := c.ListInstanceFleetsRequest(inCpy) 2146 req.SetContext(ctx) 2147 req.ApplyOptions(opts...) 2148 return req, nil 2149 }, 2150 } 2151 2152 for p.Next() { 2153 if !fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage()) { 2154 break 2155 } 2156 } 2157 2158 return p.Err() 2159} 2160 2161const opListInstanceGroups = "ListInstanceGroups" 2162 2163// ListInstanceGroupsRequest generates a "aws/request.Request" representing the 2164// client's request for the ListInstanceGroups operation. The "output" return 2165// value will be populated with the request's response once the request completes 2166// successfully. 2167// 2168// Use "Send" method on the returned Request to send the API call to the service. 2169// the "output" return value is not valid until after Send returns without error. 2170// 2171// See ListInstanceGroups for more information on using the ListInstanceGroups 2172// API call, and error handling. 2173// 2174// This method is useful when you want to inject custom logic or configuration 2175// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2176// 2177// 2178// // Example sending a request using the ListInstanceGroupsRequest method. 2179// req, resp := client.ListInstanceGroupsRequest(params) 2180// 2181// err := req.Send() 2182// if err == nil { // resp is now filled 2183// fmt.Println(resp) 2184// } 2185// 2186// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 2187func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { 2188 op := &request.Operation{ 2189 Name: opListInstanceGroups, 2190 HTTPMethod: "POST", 2191 HTTPPath: "/", 2192 Paginator: &request.Paginator{ 2193 InputTokens: []string{"Marker"}, 2194 OutputTokens: []string{"Marker"}, 2195 LimitToken: "", 2196 TruncationToken: "", 2197 }, 2198 } 2199 2200 if input == nil { 2201 input = &ListInstanceGroupsInput{} 2202 } 2203 2204 output = &ListInstanceGroupsOutput{} 2205 req = c.newRequest(op, input, output) 2206 return 2207} 2208 2209// ListInstanceGroups API operation for Amazon Elastic MapReduce. 2210// 2211// Provides all available details about the instance groups in a cluster. 2212// 2213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2214// with awserr.Error's Code and Message methods to get detailed information about 2215// the error. 2216// 2217// See the AWS API reference guide for Amazon Elastic MapReduce's 2218// API operation ListInstanceGroups for usage and error information. 2219// 2220// Returned Error Types: 2221// * InternalServerException 2222// This exception occurs when there is an internal failure in the Amazon EMR 2223// service. 2224// 2225// * InvalidRequestException 2226// This exception occurs when there is something wrong with user input. 2227// 2228// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 2229func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { 2230 req, out := c.ListInstanceGroupsRequest(input) 2231 return out, req.Send() 2232} 2233 2234// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of 2235// the ability to pass a context and additional request options. 2236// 2237// See ListInstanceGroups for details on how to use this API operation. 2238// 2239// The context must be non-nil and will be used for request cancellation. If 2240// the context is nil a panic will occur. In the future the SDK may create 2241// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2242// for more information on using Contexts. 2243func (c *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) { 2244 req, out := c.ListInstanceGroupsRequest(input) 2245 req.SetContext(ctx) 2246 req.ApplyOptions(opts...) 2247 return out, req.Send() 2248} 2249 2250// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, 2251// calling the "fn" function with the response data for each page. To stop 2252// iterating, return false from the fn function. 2253// 2254// See ListInstanceGroups method for more information on how to use this operation. 2255// 2256// Note: This operation can generate multiple requests to a service. 2257// 2258// // Example iterating over at most 3 pages of a ListInstanceGroups operation. 2259// pageNum := 0 2260// err := client.ListInstanceGroupsPages(params, 2261// func(page *emr.ListInstanceGroupsOutput, lastPage bool) bool { 2262// pageNum++ 2263// fmt.Println(page) 2264// return pageNum <= 3 2265// }) 2266// 2267func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error { 2268 return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2269} 2270 2271// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except 2272// it takes a Context and allows setting request options on the pages. 2273// 2274// The context must be non-nil and will be used for request cancellation. If 2275// the context is nil a panic will occur. In the future the SDK may create 2276// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2277// for more information on using Contexts. 2278func (c *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error { 2279 p := request.Pagination{ 2280 NewRequest: func() (*request.Request, error) { 2281 var inCpy *ListInstanceGroupsInput 2282 if input != nil { 2283 tmp := *input 2284 inCpy = &tmp 2285 } 2286 req, _ := c.ListInstanceGroupsRequest(inCpy) 2287 req.SetContext(ctx) 2288 req.ApplyOptions(opts...) 2289 return req, nil 2290 }, 2291 } 2292 2293 for p.Next() { 2294 if !fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage()) { 2295 break 2296 } 2297 } 2298 2299 return p.Err() 2300} 2301 2302const opListInstances = "ListInstances" 2303 2304// ListInstancesRequest generates a "aws/request.Request" representing the 2305// client's request for the ListInstances operation. The "output" return 2306// value will be populated with the request's response once the request completes 2307// successfully. 2308// 2309// Use "Send" method on the returned Request to send the API call to the service. 2310// the "output" return value is not valid until after Send returns without error. 2311// 2312// See ListInstances for more information on using the ListInstances 2313// API call, and error handling. 2314// 2315// This method is useful when you want to inject custom logic or configuration 2316// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2317// 2318// 2319// // Example sending a request using the ListInstancesRequest method. 2320// req, resp := client.ListInstancesRequest(params) 2321// 2322// err := req.Send() 2323// if err == nil { // resp is now filled 2324// fmt.Println(resp) 2325// } 2326// 2327// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 2328func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { 2329 op := &request.Operation{ 2330 Name: opListInstances, 2331 HTTPMethod: "POST", 2332 HTTPPath: "/", 2333 Paginator: &request.Paginator{ 2334 InputTokens: []string{"Marker"}, 2335 OutputTokens: []string{"Marker"}, 2336 LimitToken: "", 2337 TruncationToken: "", 2338 }, 2339 } 2340 2341 if input == nil { 2342 input = &ListInstancesInput{} 2343 } 2344 2345 output = &ListInstancesOutput{} 2346 req = c.newRequest(op, input, output) 2347 return 2348} 2349 2350// ListInstances API operation for Amazon Elastic MapReduce. 2351// 2352// Provides information for all active EC2 instances and EC2 instances terminated 2353// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the 2354// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, 2355// BOOTSTRAPPING, RUNNING. 2356// 2357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2358// with awserr.Error's Code and Message methods to get detailed information about 2359// the error. 2360// 2361// See the AWS API reference guide for Amazon Elastic MapReduce's 2362// API operation ListInstances for usage and error information. 2363// 2364// Returned Error Types: 2365// * InternalServerException 2366// This exception occurs when there is an internal failure in the Amazon EMR 2367// service. 2368// 2369// * InvalidRequestException 2370// This exception occurs when there is something wrong with user input. 2371// 2372// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 2373func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { 2374 req, out := c.ListInstancesRequest(input) 2375 return out, req.Send() 2376} 2377 2378// ListInstancesWithContext is the same as ListInstances with the addition of 2379// the ability to pass a context and additional request options. 2380// 2381// See ListInstances for details on how to use this API operation. 2382// 2383// The context must be non-nil and will be used for request cancellation. If 2384// the context is nil a panic will occur. In the future the SDK may create 2385// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2386// for more information on using Contexts. 2387func (c *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { 2388 req, out := c.ListInstancesRequest(input) 2389 req.SetContext(ctx) 2390 req.ApplyOptions(opts...) 2391 return out, req.Send() 2392} 2393 2394// ListInstancesPages iterates over the pages of a ListInstances operation, 2395// calling the "fn" function with the response data for each page. To stop 2396// iterating, return false from the fn function. 2397// 2398// See ListInstances method for more information on how to use this operation. 2399// 2400// Note: This operation can generate multiple requests to a service. 2401// 2402// // Example iterating over at most 3 pages of a ListInstances operation. 2403// pageNum := 0 2404// err := client.ListInstancesPages(params, 2405// func(page *emr.ListInstancesOutput, lastPage bool) bool { 2406// pageNum++ 2407// fmt.Println(page) 2408// return pageNum <= 3 2409// }) 2410// 2411func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { 2412 return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 2413} 2414 2415// ListInstancesPagesWithContext same as ListInstancesPages except 2416// it takes a Context and allows setting request options on the pages. 2417// 2418// The context must be non-nil and will be used for request cancellation. If 2419// the context is nil a panic will occur. In the future the SDK may create 2420// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2421// for more information on using Contexts. 2422func (c *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { 2423 p := request.Pagination{ 2424 NewRequest: func() (*request.Request, error) { 2425 var inCpy *ListInstancesInput 2426 if input != nil { 2427 tmp := *input 2428 inCpy = &tmp 2429 } 2430 req, _ := c.ListInstancesRequest(inCpy) 2431 req.SetContext(ctx) 2432 req.ApplyOptions(opts...) 2433 return req, nil 2434 }, 2435 } 2436 2437 for p.Next() { 2438 if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { 2439 break 2440 } 2441 } 2442 2443 return p.Err() 2444} 2445 2446const opListNotebookExecutions = "ListNotebookExecutions" 2447 2448// ListNotebookExecutionsRequest generates a "aws/request.Request" representing the 2449// client's request for the ListNotebookExecutions operation. The "output" return 2450// value will be populated with the request's response once the request completes 2451// successfully. 2452// 2453// Use "Send" method on the returned Request to send the API call to the service. 2454// the "output" return value is not valid until after Send returns without error. 2455// 2456// See ListNotebookExecutions for more information on using the ListNotebookExecutions 2457// API call, and error handling. 2458// 2459// This method is useful when you want to inject custom logic or configuration 2460// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2461// 2462// 2463// // Example sending a request using the ListNotebookExecutionsRequest method. 2464// req, resp := client.ListNotebookExecutionsRequest(params) 2465// 2466// err := req.Send() 2467// if err == nil { // resp is now filled 2468// fmt.Println(resp) 2469// } 2470// 2471// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions 2472func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) (req *request.Request, output *ListNotebookExecutionsOutput) { 2473 op := &request.Operation{ 2474 Name: opListNotebookExecutions, 2475 HTTPMethod: "POST", 2476 HTTPPath: "/", 2477 Paginator: &request.Paginator{ 2478 InputTokens: []string{"Marker"}, 2479 OutputTokens: []string{"Marker"}, 2480 LimitToken: "", 2481 TruncationToken: "", 2482 }, 2483 } 2484 2485 if input == nil { 2486 input = &ListNotebookExecutionsInput{} 2487 } 2488 2489 output = &ListNotebookExecutionsOutput{} 2490 req = c.newRequest(op, input, output) 2491 return 2492} 2493 2494// ListNotebookExecutions API operation for Amazon Elastic MapReduce. 2495// 2496// Provides summaries of all notebook executions. You can filter the list based 2497// on multiple criteria such as status, time range, and editor id. Returns a 2498// maximum of 50 notebook executions and a marker to track the paging of a longer 2499// notebook execution list across multiple ListNotebookExecution calls. 2500// 2501// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2502// with awserr.Error's Code and Message methods to get detailed information about 2503// the error. 2504// 2505// See the AWS API reference guide for Amazon Elastic MapReduce's 2506// API operation ListNotebookExecutions for usage and error information. 2507// 2508// Returned Error Types: 2509// * InternalServerError 2510// Indicates that an error occurred while processing the request and that the 2511// request was not completed. 2512// 2513// * InvalidRequestException 2514// This exception occurs when there is something wrong with user input. 2515// 2516// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions 2517func (c *EMR) ListNotebookExecutions(input *ListNotebookExecutionsInput) (*ListNotebookExecutionsOutput, error) { 2518 req, out := c.ListNotebookExecutionsRequest(input) 2519 return out, req.Send() 2520} 2521 2522// ListNotebookExecutionsWithContext is the same as ListNotebookExecutions with the addition of 2523// the ability to pass a context and additional request options. 2524// 2525// See ListNotebookExecutions for details on how to use this API operation. 2526// 2527// The context must be non-nil and will be used for request cancellation. If 2528// the context is nil a panic will occur. In the future the SDK may create 2529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2530// for more information on using Contexts. 2531func (c *EMR) ListNotebookExecutionsWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, opts ...request.Option) (*ListNotebookExecutionsOutput, error) { 2532 req, out := c.ListNotebookExecutionsRequest(input) 2533 req.SetContext(ctx) 2534 req.ApplyOptions(opts...) 2535 return out, req.Send() 2536} 2537 2538// ListNotebookExecutionsPages iterates over the pages of a ListNotebookExecutions operation, 2539// calling the "fn" function with the response data for each page. To stop 2540// iterating, return false from the fn function. 2541// 2542// See ListNotebookExecutions method for more information on how to use this operation. 2543// 2544// Note: This operation can generate multiple requests to a service. 2545// 2546// // Example iterating over at most 3 pages of a ListNotebookExecutions operation. 2547// pageNum := 0 2548// err := client.ListNotebookExecutionsPages(params, 2549// func(page *emr.ListNotebookExecutionsOutput, lastPage bool) bool { 2550// pageNum++ 2551// fmt.Println(page) 2552// return pageNum <= 3 2553// }) 2554// 2555func (c *EMR) ListNotebookExecutionsPages(input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool) error { 2556 return c.ListNotebookExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) 2557} 2558 2559// ListNotebookExecutionsPagesWithContext same as ListNotebookExecutionsPages except 2560// it takes a Context and allows setting request options on the pages. 2561// 2562// The context must be non-nil and will be used for request cancellation. If 2563// the context is nil a panic will occur. In the future the SDK may create 2564// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2565// for more information on using Contexts. 2566func (c *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool, opts ...request.Option) error { 2567 p := request.Pagination{ 2568 NewRequest: func() (*request.Request, error) { 2569 var inCpy *ListNotebookExecutionsInput 2570 if input != nil { 2571 tmp := *input 2572 inCpy = &tmp 2573 } 2574 req, _ := c.ListNotebookExecutionsRequest(inCpy) 2575 req.SetContext(ctx) 2576 req.ApplyOptions(opts...) 2577 return req, nil 2578 }, 2579 } 2580 2581 for p.Next() { 2582 if !fn(p.Page().(*ListNotebookExecutionsOutput), !p.HasNextPage()) { 2583 break 2584 } 2585 } 2586 2587 return p.Err() 2588} 2589 2590const opListSecurityConfigurations = "ListSecurityConfigurations" 2591 2592// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the 2593// client's request for the ListSecurityConfigurations operation. The "output" return 2594// value will be populated with the request's response once the request completes 2595// successfully. 2596// 2597// Use "Send" method on the returned Request to send the API call to the service. 2598// the "output" return value is not valid until after Send returns without error. 2599// 2600// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations 2601// API call, and error handling. 2602// 2603// This method is useful when you want to inject custom logic or configuration 2604// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2605// 2606// 2607// // Example sending a request using the ListSecurityConfigurationsRequest method. 2608// req, resp := client.ListSecurityConfigurationsRequest(params) 2609// 2610// err := req.Send() 2611// if err == nil { // resp is now filled 2612// fmt.Println(resp) 2613// } 2614// 2615// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 2616func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { 2617 op := &request.Operation{ 2618 Name: opListSecurityConfigurations, 2619 HTTPMethod: "POST", 2620 HTTPPath: "/", 2621 Paginator: &request.Paginator{ 2622 InputTokens: []string{"Marker"}, 2623 OutputTokens: []string{"Marker"}, 2624 LimitToken: "", 2625 TruncationToken: "", 2626 }, 2627 } 2628 2629 if input == nil { 2630 input = &ListSecurityConfigurationsInput{} 2631 } 2632 2633 output = &ListSecurityConfigurationsOutput{} 2634 req = c.newRequest(op, input, output) 2635 return 2636} 2637 2638// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. 2639// 2640// Lists all the security configurations visible to this account, providing 2641// their creation dates and times, and their names. This call returns a maximum 2642// of 50 clusters per call, but returns a marker to track the paging of the 2643// cluster list across multiple ListSecurityConfigurations calls. 2644// 2645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2646// with awserr.Error's Code and Message methods to get detailed information about 2647// the error. 2648// 2649// See the AWS API reference guide for Amazon Elastic MapReduce's 2650// API operation ListSecurityConfigurations for usage and error information. 2651// 2652// Returned Error Types: 2653// * InternalServerException 2654// This exception occurs when there is an internal failure in the Amazon EMR 2655// service. 2656// 2657// * InvalidRequestException 2658// This exception occurs when there is something wrong with user input. 2659// 2660// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 2661func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { 2662 req, out := c.ListSecurityConfigurationsRequest(input) 2663 return out, req.Send() 2664} 2665 2666// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of 2667// the ability to pass a context and additional request options. 2668// 2669// See ListSecurityConfigurations for details on how to use this API operation. 2670// 2671// The context must be non-nil and will be used for request cancellation. If 2672// the context is nil a panic will occur. In the future the SDK may create 2673// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2674// for more information on using Contexts. 2675func (c *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { 2676 req, out := c.ListSecurityConfigurationsRequest(input) 2677 req.SetContext(ctx) 2678 req.ApplyOptions(opts...) 2679 return out, req.Send() 2680} 2681 2682// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, 2683// calling the "fn" function with the response data for each page. To stop 2684// iterating, return false from the fn function. 2685// 2686// See ListSecurityConfigurations method for more information on how to use this operation. 2687// 2688// Note: This operation can generate multiple requests to a service. 2689// 2690// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. 2691// pageNum := 0 2692// err := client.ListSecurityConfigurationsPages(params, 2693// func(page *emr.ListSecurityConfigurationsOutput, lastPage bool) bool { 2694// pageNum++ 2695// fmt.Println(page) 2696// return pageNum <= 3 2697// }) 2698// 2699func (c *EMR) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { 2700 return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 2701} 2702 2703// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except 2704// it takes a Context and allows setting request options on the pages. 2705// 2706// The context must be non-nil and will be used for request cancellation. If 2707// the context is nil a panic will occur. In the future the SDK may create 2708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2709// for more information on using Contexts. 2710func (c *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { 2711 p := request.Pagination{ 2712 NewRequest: func() (*request.Request, error) { 2713 var inCpy *ListSecurityConfigurationsInput 2714 if input != nil { 2715 tmp := *input 2716 inCpy = &tmp 2717 } 2718 req, _ := c.ListSecurityConfigurationsRequest(inCpy) 2719 req.SetContext(ctx) 2720 req.ApplyOptions(opts...) 2721 return req, nil 2722 }, 2723 } 2724 2725 for p.Next() { 2726 if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { 2727 break 2728 } 2729 } 2730 2731 return p.Err() 2732} 2733 2734const opListSteps = "ListSteps" 2735 2736// ListStepsRequest generates a "aws/request.Request" representing the 2737// client's request for the ListSteps operation. The "output" return 2738// value will be populated with the request's response once the request completes 2739// successfully. 2740// 2741// Use "Send" method on the returned Request to send the API call to the service. 2742// the "output" return value is not valid until after Send returns without error. 2743// 2744// See ListSteps for more information on using the ListSteps 2745// API call, and error handling. 2746// 2747// This method is useful when you want to inject custom logic or configuration 2748// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2749// 2750// 2751// // Example sending a request using the ListStepsRequest method. 2752// req, resp := client.ListStepsRequest(params) 2753// 2754// err := req.Send() 2755// if err == nil { // resp is now filled 2756// fmt.Println(resp) 2757// } 2758// 2759// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2760func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { 2761 op := &request.Operation{ 2762 Name: opListSteps, 2763 HTTPMethod: "POST", 2764 HTTPPath: "/", 2765 Paginator: &request.Paginator{ 2766 InputTokens: []string{"Marker"}, 2767 OutputTokens: []string{"Marker"}, 2768 LimitToken: "", 2769 TruncationToken: "", 2770 }, 2771 } 2772 2773 if input == nil { 2774 input = &ListStepsInput{} 2775 } 2776 2777 output = &ListStepsOutput{} 2778 req = c.newRequest(op, input, output) 2779 return 2780} 2781 2782// ListSteps API operation for Amazon Elastic MapReduce. 2783// 2784// Provides a list of steps for the cluster in reverse order unless you specify 2785// stepIds with the request of filter by StepStates. You can specify a maximum 2786// of 10 stepIDs. 2787// 2788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2789// with awserr.Error's Code and Message methods to get detailed information about 2790// the error. 2791// 2792// See the AWS API reference guide for Amazon Elastic MapReduce's 2793// API operation ListSteps for usage and error information. 2794// 2795// Returned Error Types: 2796// * InternalServerException 2797// This exception occurs when there is an internal failure in the Amazon EMR 2798// service. 2799// 2800// * InvalidRequestException 2801// This exception occurs when there is something wrong with user input. 2802// 2803// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2804func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { 2805 req, out := c.ListStepsRequest(input) 2806 return out, req.Send() 2807} 2808 2809// ListStepsWithContext is the same as ListSteps with the addition of 2810// the ability to pass a context and additional request options. 2811// 2812// See ListSteps for details on how to use this API operation. 2813// 2814// The context must be non-nil and will be used for request cancellation. If 2815// the context is nil a panic will occur. In the future the SDK may create 2816// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2817// for more information on using Contexts. 2818func (c *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) { 2819 req, out := c.ListStepsRequest(input) 2820 req.SetContext(ctx) 2821 req.ApplyOptions(opts...) 2822 return out, req.Send() 2823} 2824 2825// ListStepsPages iterates over the pages of a ListSteps operation, 2826// calling the "fn" function with the response data for each page. To stop 2827// iterating, return false from the fn function. 2828// 2829// See ListSteps method for more information on how to use this operation. 2830// 2831// Note: This operation can generate multiple requests to a service. 2832// 2833// // Example iterating over at most 3 pages of a ListSteps operation. 2834// pageNum := 0 2835// err := client.ListStepsPages(params, 2836// func(page *emr.ListStepsOutput, lastPage bool) bool { 2837// pageNum++ 2838// fmt.Println(page) 2839// return pageNum <= 3 2840// }) 2841// 2842func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error { 2843 return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn) 2844} 2845 2846// ListStepsPagesWithContext same as ListStepsPages except 2847// it takes a Context and allows setting request options on the pages. 2848// 2849// The context must be non-nil and will be used for request cancellation. If 2850// the context is nil a panic will occur. In the future the SDK may create 2851// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2852// for more information on using Contexts. 2853func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error { 2854 p := request.Pagination{ 2855 NewRequest: func() (*request.Request, error) { 2856 var inCpy *ListStepsInput 2857 if input != nil { 2858 tmp := *input 2859 inCpy = &tmp 2860 } 2861 req, _ := c.ListStepsRequest(inCpy) 2862 req.SetContext(ctx) 2863 req.ApplyOptions(opts...) 2864 return req, nil 2865 }, 2866 } 2867 2868 for p.Next() { 2869 if !fn(p.Page().(*ListStepsOutput), !p.HasNextPage()) { 2870 break 2871 } 2872 } 2873 2874 return p.Err() 2875} 2876 2877const opListStudioSessionMappings = "ListStudioSessionMappings" 2878 2879// ListStudioSessionMappingsRequest generates a "aws/request.Request" representing the 2880// client's request for the ListStudioSessionMappings operation. The "output" return 2881// value will be populated with the request's response once the request completes 2882// successfully. 2883// 2884// Use "Send" method on the returned Request to send the API call to the service. 2885// the "output" return value is not valid until after Send returns without error. 2886// 2887// See ListStudioSessionMappings for more information on using the ListStudioSessionMappings 2888// API call, and error handling. 2889// 2890// This method is useful when you want to inject custom logic or configuration 2891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2892// 2893// 2894// // Example sending a request using the ListStudioSessionMappingsRequest method. 2895// req, resp := client.ListStudioSessionMappingsRequest(params) 2896// 2897// err := req.Send() 2898// if err == nil { // resp is now filled 2899// fmt.Println(resp) 2900// } 2901// 2902// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappings 2903func (c *EMR) ListStudioSessionMappingsRequest(input *ListStudioSessionMappingsInput) (req *request.Request, output *ListStudioSessionMappingsOutput) { 2904 op := &request.Operation{ 2905 Name: opListStudioSessionMappings, 2906 HTTPMethod: "POST", 2907 HTTPPath: "/", 2908 Paginator: &request.Paginator{ 2909 InputTokens: []string{"Marker"}, 2910 OutputTokens: []string{"Marker"}, 2911 LimitToken: "", 2912 TruncationToken: "", 2913 }, 2914 } 2915 2916 if input == nil { 2917 input = &ListStudioSessionMappingsInput{} 2918 } 2919 2920 output = &ListStudioSessionMappingsOutput{} 2921 req = c.newRequest(op, input, output) 2922 return 2923} 2924 2925// ListStudioSessionMappings API operation for Amazon Elastic MapReduce. 2926// 2927// Returns a list of all user or group session mappings for the Amazon EMR Studio 2928// specified by StudioId. 2929// 2930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2931// with awserr.Error's Code and Message methods to get detailed information about 2932// the error. 2933// 2934// See the AWS API reference guide for Amazon Elastic MapReduce's 2935// API operation ListStudioSessionMappings for usage and error information. 2936// 2937// Returned Error Types: 2938// * InternalServerError 2939// Indicates that an error occurred while processing the request and that the 2940// request was not completed. 2941// 2942// * InvalidRequestException 2943// This exception occurs when there is something wrong with user input. 2944// 2945// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudioSessionMappings 2946func (c *EMR) ListStudioSessionMappings(input *ListStudioSessionMappingsInput) (*ListStudioSessionMappingsOutput, error) { 2947 req, out := c.ListStudioSessionMappingsRequest(input) 2948 return out, req.Send() 2949} 2950 2951// ListStudioSessionMappingsWithContext is the same as ListStudioSessionMappings with the addition of 2952// the ability to pass a context and additional request options. 2953// 2954// See ListStudioSessionMappings for details on how to use this API operation. 2955// 2956// The context must be non-nil and will be used for request cancellation. If 2957// the context is nil a panic will occur. In the future the SDK may create 2958// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2959// for more information on using Contexts. 2960func (c *EMR) ListStudioSessionMappingsWithContext(ctx aws.Context, input *ListStudioSessionMappingsInput, opts ...request.Option) (*ListStudioSessionMappingsOutput, error) { 2961 req, out := c.ListStudioSessionMappingsRequest(input) 2962 req.SetContext(ctx) 2963 req.ApplyOptions(opts...) 2964 return out, req.Send() 2965} 2966 2967// ListStudioSessionMappingsPages iterates over the pages of a ListStudioSessionMappings operation, 2968// calling the "fn" function with the response data for each page. To stop 2969// iterating, return false from the fn function. 2970// 2971// See ListStudioSessionMappings method for more information on how to use this operation. 2972// 2973// Note: This operation can generate multiple requests to a service. 2974// 2975// // Example iterating over at most 3 pages of a ListStudioSessionMappings operation. 2976// pageNum := 0 2977// err := client.ListStudioSessionMappingsPages(params, 2978// func(page *emr.ListStudioSessionMappingsOutput, lastPage bool) bool { 2979// pageNum++ 2980// fmt.Println(page) 2981// return pageNum <= 3 2982// }) 2983// 2984func (c *EMR) ListStudioSessionMappingsPages(input *ListStudioSessionMappingsInput, fn func(*ListStudioSessionMappingsOutput, bool) bool) error { 2985 return c.ListStudioSessionMappingsPagesWithContext(aws.BackgroundContext(), input, fn) 2986} 2987 2988// ListStudioSessionMappingsPagesWithContext same as ListStudioSessionMappingsPages except 2989// it takes a Context and allows setting request options on the pages. 2990// 2991// The context must be non-nil and will be used for request cancellation. If 2992// the context is nil a panic will occur. In the future the SDK may create 2993// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2994// for more information on using Contexts. 2995func (c *EMR) ListStudioSessionMappingsPagesWithContext(ctx aws.Context, input *ListStudioSessionMappingsInput, fn func(*ListStudioSessionMappingsOutput, bool) bool, opts ...request.Option) error { 2996 p := request.Pagination{ 2997 NewRequest: func() (*request.Request, error) { 2998 var inCpy *ListStudioSessionMappingsInput 2999 if input != nil { 3000 tmp := *input 3001 inCpy = &tmp 3002 } 3003 req, _ := c.ListStudioSessionMappingsRequest(inCpy) 3004 req.SetContext(ctx) 3005 req.ApplyOptions(opts...) 3006 return req, nil 3007 }, 3008 } 3009 3010 for p.Next() { 3011 if !fn(p.Page().(*ListStudioSessionMappingsOutput), !p.HasNextPage()) { 3012 break 3013 } 3014 } 3015 3016 return p.Err() 3017} 3018 3019const opListStudios = "ListStudios" 3020 3021// ListStudiosRequest generates a "aws/request.Request" representing the 3022// client's request for the ListStudios operation. The "output" return 3023// value will be populated with the request's response once the request completes 3024// successfully. 3025// 3026// Use "Send" method on the returned Request to send the API call to the service. 3027// the "output" return value is not valid until after Send returns without error. 3028// 3029// See ListStudios for more information on using the ListStudios 3030// API call, and error handling. 3031// 3032// This method is useful when you want to inject custom logic or configuration 3033// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3034// 3035// 3036// // Example sending a request using the ListStudiosRequest method. 3037// req, resp := client.ListStudiosRequest(params) 3038// 3039// err := req.Send() 3040// if err == nil { // resp is now filled 3041// fmt.Println(resp) 3042// } 3043// 3044// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudios 3045func (c *EMR) ListStudiosRequest(input *ListStudiosInput) (req *request.Request, output *ListStudiosOutput) { 3046 op := &request.Operation{ 3047 Name: opListStudios, 3048 HTTPMethod: "POST", 3049 HTTPPath: "/", 3050 Paginator: &request.Paginator{ 3051 InputTokens: []string{"Marker"}, 3052 OutputTokens: []string{"Marker"}, 3053 LimitToken: "", 3054 TruncationToken: "", 3055 }, 3056 } 3057 3058 if input == nil { 3059 input = &ListStudiosInput{} 3060 } 3061 3062 output = &ListStudiosOutput{} 3063 req = c.newRequest(op, input, output) 3064 return 3065} 3066 3067// ListStudios API operation for Amazon Elastic MapReduce. 3068// 3069// Returns a list of all Amazon EMR Studios associated with the AWS account. 3070// The list includes details such as ID, Studio Access URL, and creation time 3071// for each Studio. 3072// 3073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3074// with awserr.Error's Code and Message methods to get detailed information about 3075// the error. 3076// 3077// See the AWS API reference guide for Amazon Elastic MapReduce's 3078// API operation ListStudios for usage and error information. 3079// 3080// Returned Error Types: 3081// * InternalServerException 3082// This exception occurs when there is an internal failure in the Amazon EMR 3083// service. 3084// 3085// * InvalidRequestException 3086// This exception occurs when there is something wrong with user input. 3087// 3088// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListStudios 3089func (c *EMR) ListStudios(input *ListStudiosInput) (*ListStudiosOutput, error) { 3090 req, out := c.ListStudiosRequest(input) 3091 return out, req.Send() 3092} 3093 3094// ListStudiosWithContext is the same as ListStudios with the addition of 3095// the ability to pass a context and additional request options. 3096// 3097// See ListStudios for details on how to use this API operation. 3098// 3099// The context must be non-nil and will be used for request cancellation. If 3100// the context is nil a panic will occur. In the future the SDK may create 3101// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3102// for more information on using Contexts. 3103func (c *EMR) ListStudiosWithContext(ctx aws.Context, input *ListStudiosInput, opts ...request.Option) (*ListStudiosOutput, error) { 3104 req, out := c.ListStudiosRequest(input) 3105 req.SetContext(ctx) 3106 req.ApplyOptions(opts...) 3107 return out, req.Send() 3108} 3109 3110// ListStudiosPages iterates over the pages of a ListStudios operation, 3111// calling the "fn" function with the response data for each page. To stop 3112// iterating, return false from the fn function. 3113// 3114// See ListStudios method for more information on how to use this operation. 3115// 3116// Note: This operation can generate multiple requests to a service. 3117// 3118// // Example iterating over at most 3 pages of a ListStudios operation. 3119// pageNum := 0 3120// err := client.ListStudiosPages(params, 3121// func(page *emr.ListStudiosOutput, lastPage bool) bool { 3122// pageNum++ 3123// fmt.Println(page) 3124// return pageNum <= 3 3125// }) 3126// 3127func (c *EMR) ListStudiosPages(input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool) error { 3128 return c.ListStudiosPagesWithContext(aws.BackgroundContext(), input, fn) 3129} 3130 3131// ListStudiosPagesWithContext same as ListStudiosPages except 3132// it takes a Context and allows setting request options on the pages. 3133// 3134// The context must be non-nil and will be used for request cancellation. If 3135// the context is nil a panic will occur. In the future the SDK may create 3136// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3137// for more information on using Contexts. 3138func (c *EMR) ListStudiosPagesWithContext(ctx aws.Context, input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool, opts ...request.Option) error { 3139 p := request.Pagination{ 3140 NewRequest: func() (*request.Request, error) { 3141 var inCpy *ListStudiosInput 3142 if input != nil { 3143 tmp := *input 3144 inCpy = &tmp 3145 } 3146 req, _ := c.ListStudiosRequest(inCpy) 3147 req.SetContext(ctx) 3148 req.ApplyOptions(opts...) 3149 return req, nil 3150 }, 3151 } 3152 3153 for p.Next() { 3154 if !fn(p.Page().(*ListStudiosOutput), !p.HasNextPage()) { 3155 break 3156 } 3157 } 3158 3159 return p.Err() 3160} 3161 3162const opModifyCluster = "ModifyCluster" 3163 3164// ModifyClusterRequest generates a "aws/request.Request" representing the 3165// client's request for the ModifyCluster operation. The "output" return 3166// value will be populated with the request's response once the request completes 3167// successfully. 3168// 3169// Use "Send" method on the returned Request to send the API call to the service. 3170// the "output" return value is not valid until after Send returns without error. 3171// 3172// See ModifyCluster for more information on using the ModifyCluster 3173// API call, and error handling. 3174// 3175// This method is useful when you want to inject custom logic or configuration 3176// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3177// 3178// 3179// // Example sending a request using the ModifyClusterRequest method. 3180// req, resp := client.ModifyClusterRequest(params) 3181// 3182// err := req.Send() 3183// if err == nil { // resp is now filled 3184// fmt.Println(resp) 3185// } 3186// 3187// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 3188func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { 3189 op := &request.Operation{ 3190 Name: opModifyCluster, 3191 HTTPMethod: "POST", 3192 HTTPPath: "/", 3193 } 3194 3195 if input == nil { 3196 input = &ModifyClusterInput{} 3197 } 3198 3199 output = &ModifyClusterOutput{} 3200 req = c.newRequest(op, input, output) 3201 return 3202} 3203 3204// ModifyCluster API operation for Amazon Elastic MapReduce. 3205// 3206// Modifies the number of steps that can be executed concurrently for the cluster 3207// specified using ClusterID. 3208// 3209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3210// with awserr.Error's Code and Message methods to get detailed information about 3211// the error. 3212// 3213// See the AWS API reference guide for Amazon Elastic MapReduce's 3214// API operation ModifyCluster for usage and error information. 3215// 3216// Returned Error Types: 3217// * InternalServerError 3218// Indicates that an error occurred while processing the request and that the 3219// request was not completed. 3220// 3221// * InvalidRequestException 3222// This exception occurs when there is something wrong with user input. 3223// 3224// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 3225func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { 3226 req, out := c.ModifyClusterRequest(input) 3227 return out, req.Send() 3228} 3229 3230// ModifyClusterWithContext is the same as ModifyCluster with the addition of 3231// the ability to pass a context and additional request options. 3232// 3233// See ModifyCluster for details on how to use this API operation. 3234// 3235// The context must be non-nil and will be used for request cancellation. If 3236// the context is nil a panic will occur. In the future the SDK may create 3237// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3238// for more information on using Contexts. 3239func (c *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { 3240 req, out := c.ModifyClusterRequest(input) 3241 req.SetContext(ctx) 3242 req.ApplyOptions(opts...) 3243 return out, req.Send() 3244} 3245 3246const opModifyInstanceFleet = "ModifyInstanceFleet" 3247 3248// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the 3249// client's request for the ModifyInstanceFleet operation. The "output" return 3250// value will be populated with the request's response once the request completes 3251// successfully. 3252// 3253// Use "Send" method on the returned Request to send the API call to the service. 3254// the "output" return value is not valid until after Send returns without error. 3255// 3256// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet 3257// API call, and error handling. 3258// 3259// This method is useful when you want to inject custom logic or configuration 3260// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3261// 3262// 3263// // Example sending a request using the ModifyInstanceFleetRequest method. 3264// req, resp := client.ModifyInstanceFleetRequest(params) 3265// 3266// err := req.Send() 3267// if err == nil { // resp is now filled 3268// fmt.Println(resp) 3269// } 3270// 3271// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 3272func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) { 3273 op := &request.Operation{ 3274 Name: opModifyInstanceFleet, 3275 HTTPMethod: "POST", 3276 HTTPPath: "/", 3277 } 3278 3279 if input == nil { 3280 input = &ModifyInstanceFleetInput{} 3281 } 3282 3283 output = &ModifyInstanceFleetOutput{} 3284 req = c.newRequest(op, input, output) 3285 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3286 return 3287} 3288 3289// ModifyInstanceFleet API operation for Amazon Elastic MapReduce. 3290// 3291// Modifies the target On-Demand and target Spot capacities for the instance 3292// fleet with the specified InstanceFleetID within the cluster specified using 3293// ClusterID. The call either succeeds or fails atomically. 3294// 3295// The instance fleet configuration is available only in Amazon EMR versions 3296// 4.8.0 and later, excluding 5.0.x versions. 3297// 3298// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3299// with awserr.Error's Code and Message methods to get detailed information about 3300// the error. 3301// 3302// See the AWS API reference guide for Amazon Elastic MapReduce's 3303// API operation ModifyInstanceFleet for usage and error information. 3304// 3305// Returned Error Types: 3306// * InternalServerException 3307// This exception occurs when there is an internal failure in the Amazon EMR 3308// service. 3309// 3310// * InvalidRequestException 3311// This exception occurs when there is something wrong with user input. 3312// 3313// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 3314func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) { 3315 req, out := c.ModifyInstanceFleetRequest(input) 3316 return out, req.Send() 3317} 3318 3319// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of 3320// the ability to pass a context and additional request options. 3321// 3322// See ModifyInstanceFleet for details on how to use this API operation. 3323// 3324// The context must be non-nil and will be used for request cancellation. If 3325// the context is nil a panic will occur. In the future the SDK may create 3326// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3327// for more information on using Contexts. 3328func (c *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) { 3329 req, out := c.ModifyInstanceFleetRequest(input) 3330 req.SetContext(ctx) 3331 req.ApplyOptions(opts...) 3332 return out, req.Send() 3333} 3334 3335const opModifyInstanceGroups = "ModifyInstanceGroups" 3336 3337// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the 3338// client's request for the ModifyInstanceGroups operation. The "output" return 3339// value will be populated with the request's response once the request completes 3340// successfully. 3341// 3342// Use "Send" method on the returned Request to send the API call to the service. 3343// the "output" return value is not valid until after Send returns without error. 3344// 3345// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups 3346// API call, and error handling. 3347// 3348// This method is useful when you want to inject custom logic or configuration 3349// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3350// 3351// 3352// // Example sending a request using the ModifyInstanceGroupsRequest method. 3353// req, resp := client.ModifyInstanceGroupsRequest(params) 3354// 3355// err := req.Send() 3356// if err == nil { // resp is now filled 3357// fmt.Println(resp) 3358// } 3359// 3360// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 3361func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { 3362 op := &request.Operation{ 3363 Name: opModifyInstanceGroups, 3364 HTTPMethod: "POST", 3365 HTTPPath: "/", 3366 } 3367 3368 if input == nil { 3369 input = &ModifyInstanceGroupsInput{} 3370 } 3371 3372 output = &ModifyInstanceGroupsOutput{} 3373 req = c.newRequest(op, input, output) 3374 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3375 return 3376} 3377 3378// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. 3379// 3380// ModifyInstanceGroups modifies the number of nodes and configuration settings 3381// of an instance group. The input parameters include the new target instance 3382// count for the group and the instance group ID. The call will either succeed 3383// or fail atomically. 3384// 3385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3386// with awserr.Error's Code and Message methods to get detailed information about 3387// the error. 3388// 3389// See the AWS API reference guide for Amazon Elastic MapReduce's 3390// API operation ModifyInstanceGroups for usage and error information. 3391// 3392// Returned Error Types: 3393// * InternalServerError 3394// Indicates that an error occurred while processing the request and that the 3395// request was not completed. 3396// 3397// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 3398func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { 3399 req, out := c.ModifyInstanceGroupsRequest(input) 3400 return out, req.Send() 3401} 3402 3403// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of 3404// the ability to pass a context and additional request options. 3405// 3406// See ModifyInstanceGroups for details on how to use this API operation. 3407// 3408// The context must be non-nil and will be used for request cancellation. If 3409// the context is nil a panic will occur. In the future the SDK may create 3410// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3411// for more information on using Contexts. 3412func (c *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) { 3413 req, out := c.ModifyInstanceGroupsRequest(input) 3414 req.SetContext(ctx) 3415 req.ApplyOptions(opts...) 3416 return out, req.Send() 3417} 3418 3419const opPutAutoScalingPolicy = "PutAutoScalingPolicy" 3420 3421// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the 3422// client's request for the PutAutoScalingPolicy operation. The "output" return 3423// value will be populated with the request's response once the request completes 3424// successfully. 3425// 3426// Use "Send" method on the returned Request to send the API call to the service. 3427// the "output" return value is not valid until after Send returns without error. 3428// 3429// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy 3430// API call, and error handling. 3431// 3432// This method is useful when you want to inject custom logic or configuration 3433// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3434// 3435// 3436// // Example sending a request using the PutAutoScalingPolicyRequest method. 3437// req, resp := client.PutAutoScalingPolicyRequest(params) 3438// 3439// err := req.Send() 3440// if err == nil { // resp is now filled 3441// fmt.Println(resp) 3442// } 3443// 3444// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 3445func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) { 3446 op := &request.Operation{ 3447 Name: opPutAutoScalingPolicy, 3448 HTTPMethod: "POST", 3449 HTTPPath: "/", 3450 } 3451 3452 if input == nil { 3453 input = &PutAutoScalingPolicyInput{} 3454 } 3455 3456 output = &PutAutoScalingPolicyOutput{} 3457 req = c.newRequest(op, input, output) 3458 return 3459} 3460 3461// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce. 3462// 3463// Creates or updates an automatic scaling policy for a core instance group 3464// or task instance group in an Amazon EMR cluster. The automatic scaling policy 3465// defines how an instance group dynamically adds and terminates EC2 instances 3466// in response to the value of a CloudWatch metric. 3467// 3468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3469// with awserr.Error's Code and Message methods to get detailed information about 3470// the error. 3471// 3472// See the AWS API reference guide for Amazon Elastic MapReduce's 3473// API operation PutAutoScalingPolicy for usage and error information. 3474// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 3475func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) { 3476 req, out := c.PutAutoScalingPolicyRequest(input) 3477 return out, req.Send() 3478} 3479 3480// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of 3481// the ability to pass a context and additional request options. 3482// 3483// See PutAutoScalingPolicy for details on how to use this API operation. 3484// 3485// The context must be non-nil and will be used for request cancellation. If 3486// the context is nil a panic will occur. In the future the SDK may create 3487// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3488// for more information on using Contexts. 3489func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) { 3490 req, out := c.PutAutoScalingPolicyRequest(input) 3491 req.SetContext(ctx) 3492 req.ApplyOptions(opts...) 3493 return out, req.Send() 3494} 3495 3496const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" 3497 3498// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 3499// client's request for the PutBlockPublicAccessConfiguration operation. The "output" return 3500// value will be populated with the request's response once the request completes 3501// successfully. 3502// 3503// Use "Send" method on the returned Request to send the API call to the service. 3504// the "output" return value is not valid until after Send returns without error. 3505// 3506// See PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration 3507// API call, and error handling. 3508// 3509// This method is useful when you want to inject custom logic or configuration 3510// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3511// 3512// 3513// // Example sending a request using the PutBlockPublicAccessConfigurationRequest method. 3514// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) 3515// 3516// err := req.Send() 3517// if err == nil { // resp is now filled 3518// fmt.Println(resp) 3519// } 3520// 3521// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 3522func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { 3523 op := &request.Operation{ 3524 Name: opPutBlockPublicAccessConfiguration, 3525 HTTPMethod: "POST", 3526 HTTPPath: "/", 3527 } 3528 3529 if input == nil { 3530 input = &PutBlockPublicAccessConfigurationInput{} 3531 } 3532 3533 output = &PutBlockPublicAccessConfigurationOutput{} 3534 req = c.newRequest(op, input, output) 3535 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3536 return 3537} 3538 3539// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 3540// 3541// Creates or updates an Amazon EMR block public access configuration for your 3542// AWS account in the current Region. For more information see Configure Block 3543// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 3544// in the Amazon EMR Management Guide. 3545// 3546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3547// with awserr.Error's Code and Message methods to get detailed information about 3548// the error. 3549// 3550// See the AWS API reference guide for Amazon Elastic MapReduce's 3551// API operation PutBlockPublicAccessConfiguration for usage and error information. 3552// 3553// Returned Error Types: 3554// * InternalServerException 3555// This exception occurs when there is an internal failure in the Amazon EMR 3556// service. 3557// 3558// * InvalidRequestException 3559// This exception occurs when there is something wrong with user input. 3560// 3561// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 3562func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { 3563 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 3564 return out, req.Send() 3565} 3566 3567// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of 3568// the ability to pass a context and additional request options. 3569// 3570// See PutBlockPublicAccessConfiguration for details on how to use this API operation. 3571// 3572// The context must be non-nil and will be used for request cancellation. If 3573// the context is nil a panic will occur. In the future the SDK may create 3574// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3575// for more information on using Contexts. 3576func (c *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { 3577 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 3578 req.SetContext(ctx) 3579 req.ApplyOptions(opts...) 3580 return out, req.Send() 3581} 3582 3583const opPutManagedScalingPolicy = "PutManagedScalingPolicy" 3584 3585// PutManagedScalingPolicyRequest generates a "aws/request.Request" representing the 3586// client's request for the PutManagedScalingPolicy operation. The "output" return 3587// value will be populated with the request's response once the request completes 3588// successfully. 3589// 3590// Use "Send" method on the returned Request to send the API call to the service. 3591// the "output" return value is not valid until after Send returns without error. 3592// 3593// See PutManagedScalingPolicy for more information on using the PutManagedScalingPolicy 3594// API call, and error handling. 3595// 3596// This method is useful when you want to inject custom logic or configuration 3597// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3598// 3599// 3600// // Example sending a request using the PutManagedScalingPolicyRequest method. 3601// req, resp := client.PutManagedScalingPolicyRequest(params) 3602// 3603// err := req.Send() 3604// if err == nil { // resp is now filled 3605// fmt.Println(resp) 3606// } 3607// 3608// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 3609func (c *EMR) PutManagedScalingPolicyRequest(input *PutManagedScalingPolicyInput) (req *request.Request, output *PutManagedScalingPolicyOutput) { 3610 op := &request.Operation{ 3611 Name: opPutManagedScalingPolicy, 3612 HTTPMethod: "POST", 3613 HTTPPath: "/", 3614 } 3615 3616 if input == nil { 3617 input = &PutManagedScalingPolicyInput{} 3618 } 3619 3620 output = &PutManagedScalingPolicyOutput{} 3621 req = c.newRequest(op, input, output) 3622 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3623 return 3624} 3625 3626// PutManagedScalingPolicy API operation for Amazon Elastic MapReduce. 3627// 3628// Creates or updates a managed scaling policy for an Amazon EMR cluster. The 3629// managed scaling policy defines the limits for resources, such as EC2 instances 3630// that can be added or terminated from a cluster. The policy only applies to 3631// the core and task nodes. The master node cannot be scaled after initial configuration. 3632// 3633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3634// with awserr.Error's Code and Message methods to get detailed information about 3635// the error. 3636// 3637// See the AWS API reference guide for Amazon Elastic MapReduce's 3638// API operation PutManagedScalingPolicy for usage and error information. 3639// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 3640func (c *EMR) PutManagedScalingPolicy(input *PutManagedScalingPolicyInput) (*PutManagedScalingPolicyOutput, error) { 3641 req, out := c.PutManagedScalingPolicyRequest(input) 3642 return out, req.Send() 3643} 3644 3645// PutManagedScalingPolicyWithContext is the same as PutManagedScalingPolicy with the addition of 3646// the ability to pass a context and additional request options. 3647// 3648// See PutManagedScalingPolicy for details on how to use this API operation. 3649// 3650// The context must be non-nil and will be used for request cancellation. If 3651// the context is nil a panic will occur. In the future the SDK may create 3652// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3653// for more information on using Contexts. 3654func (c *EMR) PutManagedScalingPolicyWithContext(ctx aws.Context, input *PutManagedScalingPolicyInput, opts ...request.Option) (*PutManagedScalingPolicyOutput, error) { 3655 req, out := c.PutManagedScalingPolicyRequest(input) 3656 req.SetContext(ctx) 3657 req.ApplyOptions(opts...) 3658 return out, req.Send() 3659} 3660 3661const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" 3662 3663// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the 3664// client's request for the RemoveAutoScalingPolicy operation. The "output" return 3665// value will be populated with the request's response once the request completes 3666// successfully. 3667// 3668// Use "Send" method on the returned Request to send the API call to the service. 3669// the "output" return value is not valid until after Send returns without error. 3670// 3671// See RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy 3672// API call, and error handling. 3673// 3674// This method is useful when you want to inject custom logic or configuration 3675// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3676// 3677// 3678// // Example sending a request using the RemoveAutoScalingPolicyRequest method. 3679// req, resp := client.RemoveAutoScalingPolicyRequest(params) 3680// 3681// err := req.Send() 3682// if err == nil { // resp is now filled 3683// fmt.Println(resp) 3684// } 3685// 3686// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 3687func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) { 3688 op := &request.Operation{ 3689 Name: opRemoveAutoScalingPolicy, 3690 HTTPMethod: "POST", 3691 HTTPPath: "/", 3692 } 3693 3694 if input == nil { 3695 input = &RemoveAutoScalingPolicyInput{} 3696 } 3697 3698 output = &RemoveAutoScalingPolicyOutput{} 3699 req = c.newRequest(op, input, output) 3700 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3701 return 3702} 3703 3704// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce. 3705// 3706// Removes an automatic scaling policy from a specified instance group within 3707// an EMR cluster. 3708// 3709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3710// with awserr.Error's Code and Message methods to get detailed information about 3711// the error. 3712// 3713// See the AWS API reference guide for Amazon Elastic MapReduce's 3714// API operation RemoveAutoScalingPolicy for usage and error information. 3715// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 3716func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) { 3717 req, out := c.RemoveAutoScalingPolicyRequest(input) 3718 return out, req.Send() 3719} 3720 3721// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of 3722// the ability to pass a context and additional request options. 3723// 3724// See RemoveAutoScalingPolicy for details on how to use this API operation. 3725// 3726// The context must be non-nil and will be used for request cancellation. If 3727// the context is nil a panic will occur. In the future the SDK may create 3728// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3729// for more information on using Contexts. 3730func (c *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) { 3731 req, out := c.RemoveAutoScalingPolicyRequest(input) 3732 req.SetContext(ctx) 3733 req.ApplyOptions(opts...) 3734 return out, req.Send() 3735} 3736 3737const opRemoveManagedScalingPolicy = "RemoveManagedScalingPolicy" 3738 3739// RemoveManagedScalingPolicyRequest generates a "aws/request.Request" representing the 3740// client's request for the RemoveManagedScalingPolicy operation. The "output" return 3741// value will be populated with the request's response once the request completes 3742// successfully. 3743// 3744// Use "Send" method on the returned Request to send the API call to the service. 3745// the "output" return value is not valid until after Send returns without error. 3746// 3747// See RemoveManagedScalingPolicy for more information on using the RemoveManagedScalingPolicy 3748// API call, and error handling. 3749// 3750// This method is useful when you want to inject custom logic or configuration 3751// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3752// 3753// 3754// // Example sending a request using the RemoveManagedScalingPolicyRequest method. 3755// req, resp := client.RemoveManagedScalingPolicyRequest(params) 3756// 3757// err := req.Send() 3758// if err == nil { // resp is now filled 3759// fmt.Println(resp) 3760// } 3761// 3762// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 3763func (c *EMR) RemoveManagedScalingPolicyRequest(input *RemoveManagedScalingPolicyInput) (req *request.Request, output *RemoveManagedScalingPolicyOutput) { 3764 op := &request.Operation{ 3765 Name: opRemoveManagedScalingPolicy, 3766 HTTPMethod: "POST", 3767 HTTPPath: "/", 3768 } 3769 3770 if input == nil { 3771 input = &RemoveManagedScalingPolicyInput{} 3772 } 3773 3774 output = &RemoveManagedScalingPolicyOutput{} 3775 req = c.newRequest(op, input, output) 3776 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3777 return 3778} 3779 3780// RemoveManagedScalingPolicy API operation for Amazon Elastic MapReduce. 3781// 3782// Removes a managed scaling policy from a specified EMR cluster. 3783// 3784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3785// with awserr.Error's Code and Message methods to get detailed information about 3786// the error. 3787// 3788// See the AWS API reference guide for Amazon Elastic MapReduce's 3789// API operation RemoveManagedScalingPolicy for usage and error information. 3790// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 3791func (c *EMR) RemoveManagedScalingPolicy(input *RemoveManagedScalingPolicyInput) (*RemoveManagedScalingPolicyOutput, error) { 3792 req, out := c.RemoveManagedScalingPolicyRequest(input) 3793 return out, req.Send() 3794} 3795 3796// RemoveManagedScalingPolicyWithContext is the same as RemoveManagedScalingPolicy with the addition of 3797// the ability to pass a context and additional request options. 3798// 3799// See RemoveManagedScalingPolicy for details on how to use this API operation. 3800// 3801// The context must be non-nil and will be used for request cancellation. If 3802// the context is nil a panic will occur. In the future the SDK may create 3803// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3804// for more information on using Contexts. 3805func (c *EMR) RemoveManagedScalingPolicyWithContext(ctx aws.Context, input *RemoveManagedScalingPolicyInput, opts ...request.Option) (*RemoveManagedScalingPolicyOutput, error) { 3806 req, out := c.RemoveManagedScalingPolicyRequest(input) 3807 req.SetContext(ctx) 3808 req.ApplyOptions(opts...) 3809 return out, req.Send() 3810} 3811 3812const opRemoveTags = "RemoveTags" 3813 3814// RemoveTagsRequest generates a "aws/request.Request" representing the 3815// client's request for the RemoveTags operation. The "output" return 3816// value will be populated with the request's response once the request completes 3817// successfully. 3818// 3819// Use "Send" method on the returned Request to send the API call to the service. 3820// the "output" return value is not valid until after Send returns without error. 3821// 3822// See RemoveTags for more information on using the RemoveTags 3823// API call, and error handling. 3824// 3825// This method is useful when you want to inject custom logic or configuration 3826// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3827// 3828// 3829// // Example sending a request using the RemoveTagsRequest method. 3830// req, resp := client.RemoveTagsRequest(params) 3831// 3832// err := req.Send() 3833// if err == nil { // resp is now filled 3834// fmt.Println(resp) 3835// } 3836// 3837// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 3838func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { 3839 op := &request.Operation{ 3840 Name: opRemoveTags, 3841 HTTPMethod: "POST", 3842 HTTPPath: "/", 3843 } 3844 3845 if input == nil { 3846 input = &RemoveTagsInput{} 3847 } 3848 3849 output = &RemoveTagsOutput{} 3850 req = c.newRequest(op, input, output) 3851 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3852 return 3853} 3854 3855// RemoveTags API operation for Amazon Elastic MapReduce. 3856// 3857// Removes tags from an Amazon EMR resource. Tags make it easier to associate 3858// clusters in various ways, such as grouping clusters to track your Amazon 3859// EMR resource allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 3860// 3861// The following example removes the stack tag with value Prod from a cluster: 3862// 3863// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3864// with awserr.Error's Code and Message methods to get detailed information about 3865// the error. 3866// 3867// See the AWS API reference guide for Amazon Elastic MapReduce's 3868// API operation RemoveTags for usage and error information. 3869// 3870// Returned Error Types: 3871// * InternalServerException 3872// This exception occurs when there is an internal failure in the Amazon EMR 3873// service. 3874// 3875// * InvalidRequestException 3876// This exception occurs when there is something wrong with user input. 3877// 3878// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 3879func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { 3880 req, out := c.RemoveTagsRequest(input) 3881 return out, req.Send() 3882} 3883 3884// RemoveTagsWithContext is the same as RemoveTags with the addition of 3885// the ability to pass a context and additional request options. 3886// 3887// See RemoveTags for details on how to use this API operation. 3888// 3889// The context must be non-nil and will be used for request cancellation. If 3890// the context is nil a panic will occur. In the future the SDK may create 3891// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3892// for more information on using Contexts. 3893func (c *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { 3894 req, out := c.RemoveTagsRequest(input) 3895 req.SetContext(ctx) 3896 req.ApplyOptions(opts...) 3897 return out, req.Send() 3898} 3899 3900const opRunJobFlow = "RunJobFlow" 3901 3902// RunJobFlowRequest generates a "aws/request.Request" representing the 3903// client's request for the RunJobFlow operation. The "output" return 3904// value will be populated with the request's response once the request completes 3905// successfully. 3906// 3907// Use "Send" method on the returned Request to send the API call to the service. 3908// the "output" return value is not valid until after Send returns without error. 3909// 3910// See RunJobFlow for more information on using the RunJobFlow 3911// API call, and error handling. 3912// 3913// This method is useful when you want to inject custom logic or configuration 3914// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3915// 3916// 3917// // Example sending a request using the RunJobFlowRequest method. 3918// req, resp := client.RunJobFlowRequest(params) 3919// 3920// err := req.Send() 3921// if err == nil { // resp is now filled 3922// fmt.Println(resp) 3923// } 3924// 3925// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 3926func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { 3927 op := &request.Operation{ 3928 Name: opRunJobFlow, 3929 HTTPMethod: "POST", 3930 HTTPPath: "/", 3931 } 3932 3933 if input == nil { 3934 input = &RunJobFlowInput{} 3935 } 3936 3937 output = &RunJobFlowOutput{} 3938 req = c.newRequest(op, input, output) 3939 return 3940} 3941 3942// RunJobFlow API operation for Amazon Elastic MapReduce. 3943// 3944// RunJobFlow creates and starts running a new cluster (job flow). The cluster 3945// runs the steps specified. After the steps complete, the cluster stops and 3946// the HDFS partition is lost. To prevent loss of data, configure the last step 3947// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig 3948// KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions 3949// to the WAITING state rather than shutting down after the steps have completed. 3950// 3951// For additional protection, you can set the JobFlowInstancesConfig TerminationProtected 3952// parameter to TRUE to lock the cluster and prevent it from being terminated 3953// by API call, user intervention, or in the event of a job flow error. 3954// 3955// A maximum of 256 steps are allowed in each job flow. 3956// 3957// If your cluster is long-running (such as a Hive data warehouse) or complex, 3958// you may require more than 256 steps to process your data. You can bypass 3959// the 256-step limitation in various ways, including using the SSH shell to 3960// connect to the master node and submitting queries directly to the software 3961// running on the master node, such as Hive and Hadoop. For more information 3962// on how to do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) 3963// in the Amazon EMR Management Guide. 3964// 3965// For long running clusters, we recommend that you periodically store your 3966// results. 3967// 3968// The instance fleets configuration is available only in Amazon EMR versions 3969// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain 3970// InstanceFleets parameters or InstanceGroups parameters, but not both. 3971// 3972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3973// with awserr.Error's Code and Message methods to get detailed information about 3974// the error. 3975// 3976// See the AWS API reference guide for Amazon Elastic MapReduce's 3977// API operation RunJobFlow for usage and error information. 3978// 3979// Returned Error Types: 3980// * InternalServerError 3981// Indicates that an error occurred while processing the request and that the 3982// request was not completed. 3983// 3984// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 3985func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { 3986 req, out := c.RunJobFlowRequest(input) 3987 return out, req.Send() 3988} 3989 3990// RunJobFlowWithContext is the same as RunJobFlow with the addition of 3991// the ability to pass a context and additional request options. 3992// 3993// See RunJobFlow for details on how to use this API operation. 3994// 3995// The context must be non-nil and will be used for request cancellation. If 3996// the context is nil a panic will occur. In the future the SDK may create 3997// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3998// for more information on using Contexts. 3999func (c *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) { 4000 req, out := c.RunJobFlowRequest(input) 4001 req.SetContext(ctx) 4002 req.ApplyOptions(opts...) 4003 return out, req.Send() 4004} 4005 4006const opSetTerminationProtection = "SetTerminationProtection" 4007 4008// SetTerminationProtectionRequest generates a "aws/request.Request" representing the 4009// client's request for the SetTerminationProtection operation. The "output" return 4010// value will be populated with the request's response once the request completes 4011// successfully. 4012// 4013// Use "Send" method on the returned Request to send the API call to the service. 4014// the "output" return value is not valid until after Send returns without error. 4015// 4016// See SetTerminationProtection for more information on using the SetTerminationProtection 4017// API call, and error handling. 4018// 4019// This method is useful when you want to inject custom logic or configuration 4020// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4021// 4022// 4023// // Example sending a request using the SetTerminationProtectionRequest method. 4024// req, resp := client.SetTerminationProtectionRequest(params) 4025// 4026// err := req.Send() 4027// if err == nil { // resp is now filled 4028// fmt.Println(resp) 4029// } 4030// 4031// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 4032func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { 4033 op := &request.Operation{ 4034 Name: opSetTerminationProtection, 4035 HTTPMethod: "POST", 4036 HTTPPath: "/", 4037 } 4038 4039 if input == nil { 4040 input = &SetTerminationProtectionInput{} 4041 } 4042 4043 output = &SetTerminationProtectionOutput{} 4044 req = c.newRequest(op, input, output) 4045 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4046 return 4047} 4048 4049// SetTerminationProtection API operation for Amazon Elastic MapReduce. 4050// 4051// SetTerminationProtection locks a cluster (job flow) so the EC2 instances 4052// in the cluster cannot be terminated by user intervention, an API call, or 4053// in the event of a job-flow error. The cluster still terminates upon successful 4054// completion of the job flow. Calling SetTerminationProtection on a cluster 4055// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 4056// instances in a cluster. 4057// 4058// SetTerminationProtection is used to prevent accidental termination of a cluster 4059// and to ensure that in the event of an error, the instances persist so that 4060// you can recover any data stored in their ephemeral instance storage. 4061// 4062// To terminate a cluster that has been locked by setting SetTerminationProtection 4063// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection 4064// in which you set the value to false. 4065// 4066// For more information, seeManaging Cluster Termination (https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html) 4067// in the Amazon EMR Management Guide. 4068// 4069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4070// with awserr.Error's Code and Message methods to get detailed information about 4071// the error. 4072// 4073// See the AWS API reference guide for Amazon Elastic MapReduce's 4074// API operation SetTerminationProtection for usage and error information. 4075// 4076// Returned Error Types: 4077// * InternalServerError 4078// Indicates that an error occurred while processing the request and that the 4079// request was not completed. 4080// 4081// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 4082func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { 4083 req, out := c.SetTerminationProtectionRequest(input) 4084 return out, req.Send() 4085} 4086 4087// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of 4088// the ability to pass a context and additional request options. 4089// 4090// See SetTerminationProtection for details on how to use this API operation. 4091// 4092// The context must be non-nil and will be used for request cancellation. If 4093// the context is nil a panic will occur. In the future the SDK may create 4094// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4095// for more information on using Contexts. 4096func (c *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) { 4097 req, out := c.SetTerminationProtectionRequest(input) 4098 req.SetContext(ctx) 4099 req.ApplyOptions(opts...) 4100 return out, req.Send() 4101} 4102 4103const opSetVisibleToAllUsers = "SetVisibleToAllUsers" 4104 4105// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the 4106// client's request for the SetVisibleToAllUsers operation. The "output" return 4107// value will be populated with the request's response once the request completes 4108// successfully. 4109// 4110// Use "Send" method on the returned Request to send the API call to the service. 4111// the "output" return value is not valid until after Send returns without error. 4112// 4113// See SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers 4114// API call, and error handling. 4115// 4116// This method is useful when you want to inject custom logic or configuration 4117// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4118// 4119// 4120// // Example sending a request using the SetVisibleToAllUsersRequest method. 4121// req, resp := client.SetVisibleToAllUsersRequest(params) 4122// 4123// err := req.Send() 4124// if err == nil { // resp is now filled 4125// fmt.Println(resp) 4126// } 4127// 4128// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 4129func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { 4130 op := &request.Operation{ 4131 Name: opSetVisibleToAllUsers, 4132 HTTPMethod: "POST", 4133 HTTPPath: "/", 4134 } 4135 4136 if input == nil { 4137 input = &SetVisibleToAllUsersInput{} 4138 } 4139 4140 output = &SetVisibleToAllUsersOutput{} 4141 req = c.newRequest(op, input, output) 4142 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4143 return 4144} 4145 4146// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. 4147// 4148// Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster 4149// is visible to all IAM users of the AWS account associated with the cluster. 4150// Only the IAM user who created the cluster or the AWS account root user can 4151// call this action. The default value, true, indicates that all IAM users in 4152// the AWS account can perform cluster actions if they have the proper IAM policy 4153// permissions. If set to false, only the IAM user that created the cluster 4154// can perform actions. This action works on running clusters. You can override 4155// the default true setting when you create a cluster by using the VisibleToAllUsers 4156// parameter with RunJobFlow. 4157// 4158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4159// with awserr.Error's Code and Message methods to get detailed information about 4160// the error. 4161// 4162// See the AWS API reference guide for Amazon Elastic MapReduce's 4163// API operation SetVisibleToAllUsers for usage and error information. 4164// 4165// Returned Error Types: 4166// * InternalServerError 4167// Indicates that an error occurred while processing the request and that the 4168// request was not completed. 4169// 4170// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 4171func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { 4172 req, out := c.SetVisibleToAllUsersRequest(input) 4173 return out, req.Send() 4174} 4175 4176// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of 4177// the ability to pass a context and additional request options. 4178// 4179// See SetVisibleToAllUsers for details on how to use this API operation. 4180// 4181// The context must be non-nil and will be used for request cancellation. If 4182// the context is nil a panic will occur. In the future the SDK may create 4183// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4184// for more information on using Contexts. 4185func (c *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) { 4186 req, out := c.SetVisibleToAllUsersRequest(input) 4187 req.SetContext(ctx) 4188 req.ApplyOptions(opts...) 4189 return out, req.Send() 4190} 4191 4192const opStartNotebookExecution = "StartNotebookExecution" 4193 4194// StartNotebookExecutionRequest generates a "aws/request.Request" representing the 4195// client's request for the StartNotebookExecution operation. The "output" return 4196// value will be populated with the request's response once the request completes 4197// successfully. 4198// 4199// Use "Send" method on the returned Request to send the API call to the service. 4200// the "output" return value is not valid until after Send returns without error. 4201// 4202// See StartNotebookExecution for more information on using the StartNotebookExecution 4203// API call, and error handling. 4204// 4205// This method is useful when you want to inject custom logic or configuration 4206// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4207// 4208// 4209// // Example sending a request using the StartNotebookExecutionRequest method. 4210// req, resp := client.StartNotebookExecutionRequest(params) 4211// 4212// err := req.Send() 4213// if err == nil { // resp is now filled 4214// fmt.Println(resp) 4215// } 4216// 4217// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution 4218func (c *EMR) StartNotebookExecutionRequest(input *StartNotebookExecutionInput) (req *request.Request, output *StartNotebookExecutionOutput) { 4219 op := &request.Operation{ 4220 Name: opStartNotebookExecution, 4221 HTTPMethod: "POST", 4222 HTTPPath: "/", 4223 } 4224 4225 if input == nil { 4226 input = &StartNotebookExecutionInput{} 4227 } 4228 4229 output = &StartNotebookExecutionOutput{} 4230 req = c.newRequest(op, input, output) 4231 return 4232} 4233 4234// StartNotebookExecution API operation for Amazon Elastic MapReduce. 4235// 4236// Starts a notebook execution. 4237// 4238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4239// with awserr.Error's Code and Message methods to get detailed information about 4240// the error. 4241// 4242// See the AWS API reference guide for Amazon Elastic MapReduce's 4243// API operation StartNotebookExecution for usage and error information. 4244// 4245// Returned Error Types: 4246// * InternalServerException 4247// This exception occurs when there is an internal failure in the Amazon EMR 4248// service. 4249// 4250// * InvalidRequestException 4251// This exception occurs when there is something wrong with user input. 4252// 4253// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution 4254func (c *EMR) StartNotebookExecution(input *StartNotebookExecutionInput) (*StartNotebookExecutionOutput, error) { 4255 req, out := c.StartNotebookExecutionRequest(input) 4256 return out, req.Send() 4257} 4258 4259// StartNotebookExecutionWithContext is the same as StartNotebookExecution with the addition of 4260// the ability to pass a context and additional request options. 4261// 4262// See StartNotebookExecution for details on how to use this API operation. 4263// 4264// The context must be non-nil and will be used for request cancellation. If 4265// the context is nil a panic will occur. In the future the SDK may create 4266// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4267// for more information on using Contexts. 4268func (c *EMR) StartNotebookExecutionWithContext(ctx aws.Context, input *StartNotebookExecutionInput, opts ...request.Option) (*StartNotebookExecutionOutput, error) { 4269 req, out := c.StartNotebookExecutionRequest(input) 4270 req.SetContext(ctx) 4271 req.ApplyOptions(opts...) 4272 return out, req.Send() 4273} 4274 4275const opStopNotebookExecution = "StopNotebookExecution" 4276 4277// StopNotebookExecutionRequest generates a "aws/request.Request" representing the 4278// client's request for the StopNotebookExecution operation. The "output" return 4279// value will be populated with the request's response once the request completes 4280// successfully. 4281// 4282// Use "Send" method on the returned Request to send the API call to the service. 4283// the "output" return value is not valid until after Send returns without error. 4284// 4285// See StopNotebookExecution for more information on using the StopNotebookExecution 4286// API call, and error handling. 4287// 4288// This method is useful when you want to inject custom logic or configuration 4289// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4290// 4291// 4292// // Example sending a request using the StopNotebookExecutionRequest method. 4293// req, resp := client.StopNotebookExecutionRequest(params) 4294// 4295// err := req.Send() 4296// if err == nil { // resp is now filled 4297// fmt.Println(resp) 4298// } 4299// 4300// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution 4301func (c *EMR) StopNotebookExecutionRequest(input *StopNotebookExecutionInput) (req *request.Request, output *StopNotebookExecutionOutput) { 4302 op := &request.Operation{ 4303 Name: opStopNotebookExecution, 4304 HTTPMethod: "POST", 4305 HTTPPath: "/", 4306 } 4307 4308 if input == nil { 4309 input = &StopNotebookExecutionInput{} 4310 } 4311 4312 output = &StopNotebookExecutionOutput{} 4313 req = c.newRequest(op, input, output) 4314 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4315 return 4316} 4317 4318// StopNotebookExecution API operation for Amazon Elastic MapReduce. 4319// 4320// Stops a notebook execution. 4321// 4322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4323// with awserr.Error's Code and Message methods to get detailed information about 4324// the error. 4325// 4326// See the AWS API reference guide for Amazon Elastic MapReduce's 4327// API operation StopNotebookExecution for usage and error information. 4328// 4329// Returned Error Types: 4330// * InternalServerError 4331// Indicates that an error occurred while processing the request and that the 4332// request was not completed. 4333// 4334// * InvalidRequestException 4335// This exception occurs when there is something wrong with user input. 4336// 4337// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution 4338func (c *EMR) StopNotebookExecution(input *StopNotebookExecutionInput) (*StopNotebookExecutionOutput, error) { 4339 req, out := c.StopNotebookExecutionRequest(input) 4340 return out, req.Send() 4341} 4342 4343// StopNotebookExecutionWithContext is the same as StopNotebookExecution with the addition of 4344// the ability to pass a context and additional request options. 4345// 4346// See StopNotebookExecution for details on how to use this API operation. 4347// 4348// The context must be non-nil and will be used for request cancellation. If 4349// the context is nil a panic will occur. In the future the SDK may create 4350// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4351// for more information on using Contexts. 4352func (c *EMR) StopNotebookExecutionWithContext(ctx aws.Context, input *StopNotebookExecutionInput, opts ...request.Option) (*StopNotebookExecutionOutput, error) { 4353 req, out := c.StopNotebookExecutionRequest(input) 4354 req.SetContext(ctx) 4355 req.ApplyOptions(opts...) 4356 return out, req.Send() 4357} 4358 4359const opTerminateJobFlows = "TerminateJobFlows" 4360 4361// TerminateJobFlowsRequest generates a "aws/request.Request" representing the 4362// client's request for the TerminateJobFlows operation. The "output" return 4363// value will be populated with the request's response once the request completes 4364// successfully. 4365// 4366// Use "Send" method on the returned Request to send the API call to the service. 4367// the "output" return value is not valid until after Send returns without error. 4368// 4369// See TerminateJobFlows for more information on using the TerminateJobFlows 4370// API call, and error handling. 4371// 4372// This method is useful when you want to inject custom logic or configuration 4373// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4374// 4375// 4376// // Example sending a request using the TerminateJobFlowsRequest method. 4377// req, resp := client.TerminateJobFlowsRequest(params) 4378// 4379// err := req.Send() 4380// if err == nil { // resp is now filled 4381// fmt.Println(resp) 4382// } 4383// 4384// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 4385func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { 4386 op := &request.Operation{ 4387 Name: opTerminateJobFlows, 4388 HTTPMethod: "POST", 4389 HTTPPath: "/", 4390 } 4391 4392 if input == nil { 4393 input = &TerminateJobFlowsInput{} 4394 } 4395 4396 output = &TerminateJobFlowsOutput{} 4397 req = c.newRequest(op, input, output) 4398 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4399 return 4400} 4401 4402// TerminateJobFlows API operation for Amazon Elastic MapReduce. 4403// 4404// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow 4405// is shut down, any step not yet completed is canceled and the EC2 instances 4406// on which the cluster is running are stopped. Any log files not already saved 4407// are uploaded to Amazon S3 if a LogUri was specified when the cluster was 4408// created. 4409// 4410// The maximum number of clusters allowed is 10. The call to TerminateJobFlows 4411// is asynchronous. Depending on the configuration of the cluster, it may take 4412// up to 1-5 minutes for the cluster to completely terminate and release allocated 4413// resources, such as Amazon EC2 instances. 4414// 4415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4416// with awserr.Error's Code and Message methods to get detailed information about 4417// the error. 4418// 4419// See the AWS API reference guide for Amazon Elastic MapReduce's 4420// API operation TerminateJobFlows for usage and error information. 4421// 4422// Returned Error Types: 4423// * InternalServerError 4424// Indicates that an error occurred while processing the request and that the 4425// request was not completed. 4426// 4427// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 4428func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { 4429 req, out := c.TerminateJobFlowsRequest(input) 4430 return out, req.Send() 4431} 4432 4433// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of 4434// the ability to pass a context and additional request options. 4435// 4436// See TerminateJobFlows for details on how to use this API operation. 4437// 4438// The context must be non-nil and will be used for request cancellation. If 4439// the context is nil a panic will occur. In the future the SDK may create 4440// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4441// for more information on using Contexts. 4442func (c *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) { 4443 req, out := c.TerminateJobFlowsRequest(input) 4444 req.SetContext(ctx) 4445 req.ApplyOptions(opts...) 4446 return out, req.Send() 4447} 4448 4449const opUpdateStudio = "UpdateStudio" 4450 4451// UpdateStudioRequest generates a "aws/request.Request" representing the 4452// client's request for the UpdateStudio operation. The "output" return 4453// value will be populated with the request's response once the request completes 4454// successfully. 4455// 4456// Use "Send" method on the returned Request to send the API call to the service. 4457// the "output" return value is not valid until after Send returns without error. 4458// 4459// See UpdateStudio for more information on using the UpdateStudio 4460// API call, and error handling. 4461// 4462// This method is useful when you want to inject custom logic or configuration 4463// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4464// 4465// 4466// // Example sending a request using the UpdateStudioRequest method. 4467// req, resp := client.UpdateStudioRequest(params) 4468// 4469// err := req.Send() 4470// if err == nil { // resp is now filled 4471// fmt.Println(resp) 4472// } 4473// 4474// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudio 4475func (c *EMR) UpdateStudioRequest(input *UpdateStudioInput) (req *request.Request, output *UpdateStudioOutput) { 4476 op := &request.Operation{ 4477 Name: opUpdateStudio, 4478 HTTPMethod: "POST", 4479 HTTPPath: "/", 4480 } 4481 4482 if input == nil { 4483 input = &UpdateStudioInput{} 4484 } 4485 4486 output = &UpdateStudioOutput{} 4487 req = c.newRequest(op, input, output) 4488 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4489 return 4490} 4491 4492// UpdateStudio API operation for Amazon Elastic MapReduce. 4493// 4494// Updates an Amazon EMR Studio configuration, including attributes such as 4495// name, description, and subnets. 4496// 4497// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4498// with awserr.Error's Code and Message methods to get detailed information about 4499// the error. 4500// 4501// See the AWS API reference guide for Amazon Elastic MapReduce's 4502// API operation UpdateStudio for usage and error information. 4503// 4504// Returned Error Types: 4505// * InternalServerException 4506// This exception occurs when there is an internal failure in the Amazon EMR 4507// service. 4508// 4509// * InvalidRequestException 4510// This exception occurs when there is something wrong with user input. 4511// 4512// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudio 4513func (c *EMR) UpdateStudio(input *UpdateStudioInput) (*UpdateStudioOutput, error) { 4514 req, out := c.UpdateStudioRequest(input) 4515 return out, req.Send() 4516} 4517 4518// UpdateStudioWithContext is the same as UpdateStudio with the addition of 4519// the ability to pass a context and additional request options. 4520// 4521// See UpdateStudio for details on how to use this API operation. 4522// 4523// The context must be non-nil and will be used for request cancellation. If 4524// the context is nil a panic will occur. In the future the SDK may create 4525// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4526// for more information on using Contexts. 4527func (c *EMR) UpdateStudioWithContext(ctx aws.Context, input *UpdateStudioInput, opts ...request.Option) (*UpdateStudioOutput, error) { 4528 req, out := c.UpdateStudioRequest(input) 4529 req.SetContext(ctx) 4530 req.ApplyOptions(opts...) 4531 return out, req.Send() 4532} 4533 4534const opUpdateStudioSessionMapping = "UpdateStudioSessionMapping" 4535 4536// UpdateStudioSessionMappingRequest generates a "aws/request.Request" representing the 4537// client's request for the UpdateStudioSessionMapping operation. The "output" return 4538// value will be populated with the request's response once the request completes 4539// successfully. 4540// 4541// Use "Send" method on the returned Request to send the API call to the service. 4542// the "output" return value is not valid until after Send returns without error. 4543// 4544// See UpdateStudioSessionMapping for more information on using the UpdateStudioSessionMapping 4545// API call, and error handling. 4546// 4547// This method is useful when you want to inject custom logic or configuration 4548// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4549// 4550// 4551// // Example sending a request using the UpdateStudioSessionMappingRequest method. 4552// req, resp := client.UpdateStudioSessionMappingRequest(params) 4553// 4554// err := req.Send() 4555// if err == nil { // resp is now filled 4556// fmt.Println(resp) 4557// } 4558// 4559// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMapping 4560func (c *EMR) UpdateStudioSessionMappingRequest(input *UpdateStudioSessionMappingInput) (req *request.Request, output *UpdateStudioSessionMappingOutput) { 4561 op := &request.Operation{ 4562 Name: opUpdateStudioSessionMapping, 4563 HTTPMethod: "POST", 4564 HTTPPath: "/", 4565 } 4566 4567 if input == nil { 4568 input = &UpdateStudioSessionMappingInput{} 4569 } 4570 4571 output = &UpdateStudioSessionMappingOutput{} 4572 req = c.newRequest(op, input, output) 4573 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4574 return 4575} 4576 4577// UpdateStudioSessionMapping API operation for Amazon Elastic MapReduce. 4578// 4579// Updates the session policy attached to the user or group for the specified 4580// Amazon EMR Studio. 4581// 4582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4583// with awserr.Error's Code and Message methods to get detailed information about 4584// the error. 4585// 4586// See the AWS API reference guide for Amazon Elastic MapReduce's 4587// API operation UpdateStudioSessionMapping for usage and error information. 4588// 4589// Returned Error Types: 4590// * InternalServerError 4591// Indicates that an error occurred while processing the request and that the 4592// request was not completed. 4593// 4594// * InvalidRequestException 4595// This exception occurs when there is something wrong with user input. 4596// 4597// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/UpdateStudioSessionMapping 4598func (c *EMR) UpdateStudioSessionMapping(input *UpdateStudioSessionMappingInput) (*UpdateStudioSessionMappingOutput, error) { 4599 req, out := c.UpdateStudioSessionMappingRequest(input) 4600 return out, req.Send() 4601} 4602 4603// UpdateStudioSessionMappingWithContext is the same as UpdateStudioSessionMapping with the addition of 4604// the ability to pass a context and additional request options. 4605// 4606// See UpdateStudioSessionMapping for details on how to use this API operation. 4607// 4608// The context must be non-nil and will be used for request cancellation. If 4609// the context is nil a panic will occur. In the future the SDK may create 4610// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4611// for more information on using Contexts. 4612func (c *EMR) UpdateStudioSessionMappingWithContext(ctx aws.Context, input *UpdateStudioSessionMappingInput, opts ...request.Option) (*UpdateStudioSessionMappingOutput, error) { 4613 req, out := c.UpdateStudioSessionMappingRequest(input) 4614 req.SetContext(ctx) 4615 req.ApplyOptions(opts...) 4616 return out, req.Send() 4617} 4618 4619type AddInstanceFleetInput struct { 4620 _ struct{} `type:"structure"` 4621 4622 // The unique identifier of the cluster. 4623 // 4624 // ClusterId is a required field 4625 ClusterId *string `type:"string" required:"true"` 4626 4627 // Specifies the configuration of the instance fleet. 4628 // 4629 // InstanceFleet is a required field 4630 InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"` 4631} 4632 4633// String returns the string representation 4634func (s AddInstanceFleetInput) String() string { 4635 return awsutil.Prettify(s) 4636} 4637 4638// GoString returns the string representation 4639func (s AddInstanceFleetInput) GoString() string { 4640 return s.String() 4641} 4642 4643// Validate inspects the fields of the type to determine if they are valid. 4644func (s *AddInstanceFleetInput) Validate() error { 4645 invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"} 4646 if s.ClusterId == nil { 4647 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 4648 } 4649 if s.InstanceFleet == nil { 4650 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 4651 } 4652 if s.InstanceFleet != nil { 4653 if err := s.InstanceFleet.Validate(); err != nil { 4654 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 4655 } 4656 } 4657 4658 if invalidParams.Len() > 0 { 4659 return invalidParams 4660 } 4661 return nil 4662} 4663 4664// SetClusterId sets the ClusterId field's value. 4665func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput { 4666 s.ClusterId = &v 4667 return s 4668} 4669 4670// SetInstanceFleet sets the InstanceFleet field's value. 4671func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput { 4672 s.InstanceFleet = v 4673 return s 4674} 4675 4676type AddInstanceFleetOutput struct { 4677 _ struct{} `type:"structure"` 4678 4679 // The Amazon Resource Name of the cluster. 4680 ClusterArn *string `min:"20" type:"string"` 4681 4682 // The unique identifier of the cluster. 4683 ClusterId *string `type:"string"` 4684 4685 // The unique identifier of the instance fleet. 4686 InstanceFleetId *string `type:"string"` 4687} 4688 4689// String returns the string representation 4690func (s AddInstanceFleetOutput) String() string { 4691 return awsutil.Prettify(s) 4692} 4693 4694// GoString returns the string representation 4695func (s AddInstanceFleetOutput) GoString() string { 4696 return s.String() 4697} 4698 4699// SetClusterArn sets the ClusterArn field's value. 4700func (s *AddInstanceFleetOutput) SetClusterArn(v string) *AddInstanceFleetOutput { 4701 s.ClusterArn = &v 4702 return s 4703} 4704 4705// SetClusterId sets the ClusterId field's value. 4706func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput { 4707 s.ClusterId = &v 4708 return s 4709} 4710 4711// SetInstanceFleetId sets the InstanceFleetId field's value. 4712func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput { 4713 s.InstanceFleetId = &v 4714 return s 4715} 4716 4717// Input to an AddInstanceGroups call. 4718type AddInstanceGroupsInput struct { 4719 _ struct{} `type:"structure"` 4720 4721 // Instance groups to add. 4722 // 4723 // InstanceGroups is a required field 4724 InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` 4725 4726 // Job flow in which to add the instance groups. 4727 // 4728 // JobFlowId is a required field 4729 JobFlowId *string `type:"string" required:"true"` 4730} 4731 4732// String returns the string representation 4733func (s AddInstanceGroupsInput) String() string { 4734 return awsutil.Prettify(s) 4735} 4736 4737// GoString returns the string representation 4738func (s AddInstanceGroupsInput) GoString() string { 4739 return s.String() 4740} 4741 4742// Validate inspects the fields of the type to determine if they are valid. 4743func (s *AddInstanceGroupsInput) Validate() error { 4744 invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} 4745 if s.InstanceGroups == nil { 4746 invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) 4747 } 4748 if s.JobFlowId == nil { 4749 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 4750 } 4751 if s.InstanceGroups != nil { 4752 for i, v := range s.InstanceGroups { 4753 if v == nil { 4754 continue 4755 } 4756 if err := v.Validate(); err != nil { 4757 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 4758 } 4759 } 4760 } 4761 4762 if invalidParams.Len() > 0 { 4763 return invalidParams 4764 } 4765 return nil 4766} 4767 4768// SetInstanceGroups sets the InstanceGroups field's value. 4769func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput { 4770 s.InstanceGroups = v 4771 return s 4772} 4773 4774// SetJobFlowId sets the JobFlowId field's value. 4775func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput { 4776 s.JobFlowId = &v 4777 return s 4778} 4779 4780// Output from an AddInstanceGroups call. 4781type AddInstanceGroupsOutput struct { 4782 _ struct{} `type:"structure"` 4783 4784 // The Amazon Resource Name of the cluster. 4785 ClusterArn *string `min:"20" type:"string"` 4786 4787 // Instance group IDs of the newly created instance groups. 4788 InstanceGroupIds []*string `type:"list"` 4789 4790 // The job flow ID in which the instance groups are added. 4791 JobFlowId *string `type:"string"` 4792} 4793 4794// String returns the string representation 4795func (s AddInstanceGroupsOutput) String() string { 4796 return awsutil.Prettify(s) 4797} 4798 4799// GoString returns the string representation 4800func (s AddInstanceGroupsOutput) GoString() string { 4801 return s.String() 4802} 4803 4804// SetClusterArn sets the ClusterArn field's value. 4805func (s *AddInstanceGroupsOutput) SetClusterArn(v string) *AddInstanceGroupsOutput { 4806 s.ClusterArn = &v 4807 return s 4808} 4809 4810// SetInstanceGroupIds sets the InstanceGroupIds field's value. 4811func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput { 4812 s.InstanceGroupIds = v 4813 return s 4814} 4815 4816// SetJobFlowId sets the JobFlowId field's value. 4817func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput { 4818 s.JobFlowId = &v 4819 return s 4820} 4821 4822// The input argument to the AddJobFlowSteps operation. 4823type AddJobFlowStepsInput struct { 4824 _ struct{} `type:"structure"` 4825 4826 // A string that uniquely identifies the job flow. This identifier is returned 4827 // by RunJobFlow and can also be obtained from ListClusters. 4828 // 4829 // JobFlowId is a required field 4830 JobFlowId *string `type:"string" required:"true"` 4831 4832 // A list of StepConfig to be executed by the job flow. 4833 // 4834 // Steps is a required field 4835 Steps []*StepConfig `type:"list" required:"true"` 4836} 4837 4838// String returns the string representation 4839func (s AddJobFlowStepsInput) String() string { 4840 return awsutil.Prettify(s) 4841} 4842 4843// GoString returns the string representation 4844func (s AddJobFlowStepsInput) GoString() string { 4845 return s.String() 4846} 4847 4848// Validate inspects the fields of the type to determine if they are valid. 4849func (s *AddJobFlowStepsInput) Validate() error { 4850 invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} 4851 if s.JobFlowId == nil { 4852 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 4853 } 4854 if s.Steps == nil { 4855 invalidParams.Add(request.NewErrParamRequired("Steps")) 4856 } 4857 if s.Steps != nil { 4858 for i, v := range s.Steps { 4859 if v == nil { 4860 continue 4861 } 4862 if err := v.Validate(); err != nil { 4863 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 4864 } 4865 } 4866 } 4867 4868 if invalidParams.Len() > 0 { 4869 return invalidParams 4870 } 4871 return nil 4872} 4873 4874// SetJobFlowId sets the JobFlowId field's value. 4875func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput { 4876 s.JobFlowId = &v 4877 return s 4878} 4879 4880// SetSteps sets the Steps field's value. 4881func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput { 4882 s.Steps = v 4883 return s 4884} 4885 4886// The output for the AddJobFlowSteps operation. 4887type AddJobFlowStepsOutput struct { 4888 _ struct{} `type:"structure"` 4889 4890 // The identifiers of the list of steps added to the job flow. 4891 StepIds []*string `type:"list"` 4892} 4893 4894// String returns the string representation 4895func (s AddJobFlowStepsOutput) String() string { 4896 return awsutil.Prettify(s) 4897} 4898 4899// GoString returns the string representation 4900func (s AddJobFlowStepsOutput) GoString() string { 4901 return s.String() 4902} 4903 4904// SetStepIds sets the StepIds field's value. 4905func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput { 4906 s.StepIds = v 4907 return s 4908} 4909 4910// This input identifies a cluster and a list of tags to attach. 4911type AddTagsInput struct { 4912 _ struct{} `type:"structure"` 4913 4914 // The Amazon EMR resource identifier to which tags will be added. This value 4915 // must be a cluster identifier. 4916 // 4917 // ResourceId is a required field 4918 ResourceId *string `type:"string" required:"true"` 4919 4920 // A list of tags to associate with a cluster and propagate to EC2 instances. 4921 // Tags are user-defined key-value pairs that consist of a required key string 4922 // with a maximum of 128 characters, and an optional value string with a maximum 4923 // of 256 characters. 4924 // 4925 // Tags is a required field 4926 Tags []*Tag `type:"list" required:"true"` 4927} 4928 4929// String returns the string representation 4930func (s AddTagsInput) String() string { 4931 return awsutil.Prettify(s) 4932} 4933 4934// GoString returns the string representation 4935func (s AddTagsInput) GoString() string { 4936 return s.String() 4937} 4938 4939// Validate inspects the fields of the type to determine if they are valid. 4940func (s *AddTagsInput) Validate() error { 4941 invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} 4942 if s.ResourceId == nil { 4943 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 4944 } 4945 if s.Tags == nil { 4946 invalidParams.Add(request.NewErrParamRequired("Tags")) 4947 } 4948 4949 if invalidParams.Len() > 0 { 4950 return invalidParams 4951 } 4952 return nil 4953} 4954 4955// SetResourceId sets the ResourceId field's value. 4956func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput { 4957 s.ResourceId = &v 4958 return s 4959} 4960 4961// SetTags sets the Tags field's value. 4962func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { 4963 s.Tags = v 4964 return s 4965} 4966 4967// This output indicates the result of adding tags to a resource. 4968type AddTagsOutput struct { 4969 _ struct{} `type:"structure"` 4970} 4971 4972// String returns the string representation 4973func (s AddTagsOutput) String() string { 4974 return awsutil.Prettify(s) 4975} 4976 4977// GoString returns the string representation 4978func (s AddTagsOutput) GoString() string { 4979 return s.String() 4980} 4981 4982// With Amazon EMR release version 4.0 and later, the only accepted parameter 4983// is the application name. To pass arguments to applications, you use configuration 4984// classifications specified using configuration JSON objects. For more information, 4985// see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 4986// 4987// With earlier Amazon EMR releases, the application is any Amazon or third-party 4988// software that you can add to the cluster. This structure contains a list 4989// of strings that indicates the software to use with the cluster and accepts 4990// a user argument list. Amazon EMR accepts and forwards the argument list to 4991// the corresponding installation script as bootstrap action argument. 4992type Application struct { 4993 _ struct{} `type:"structure"` 4994 4995 // This option is for advanced users only. This is meta information about third-party 4996 // applications that third-party vendors use for testing purposes. 4997 AdditionalInfo map[string]*string `type:"map"` 4998 4999 // Arguments for Amazon EMR to pass to the application. 5000 Args []*string `type:"list"` 5001 5002 // The name of the application. 5003 Name *string `type:"string"` 5004 5005 // The version of the application. 5006 Version *string `type:"string"` 5007} 5008 5009// String returns the string representation 5010func (s Application) String() string { 5011 return awsutil.Prettify(s) 5012} 5013 5014// GoString returns the string representation 5015func (s Application) GoString() string { 5016 return s.String() 5017} 5018 5019// SetAdditionalInfo sets the AdditionalInfo field's value. 5020func (s *Application) SetAdditionalInfo(v map[string]*string) *Application { 5021 s.AdditionalInfo = v 5022 return s 5023} 5024 5025// SetArgs sets the Args field's value. 5026func (s *Application) SetArgs(v []*string) *Application { 5027 s.Args = v 5028 return s 5029} 5030 5031// SetName sets the Name field's value. 5032func (s *Application) SetName(v string) *Application { 5033 s.Name = &v 5034 return s 5035} 5036 5037// SetVersion sets the Version field's value. 5038func (s *Application) SetVersion(v string) *Application { 5039 s.Version = &v 5040 return s 5041} 5042 5043// An automatic scaling policy for a core instance group or task instance group 5044// in an Amazon EMR cluster. An automatic scaling policy defines how an instance 5045// group dynamically adds and terminates EC2 instances in response to the value 5046// of a CloudWatch metric. See PutAutoScalingPolicy. 5047type AutoScalingPolicy struct { 5048 _ struct{} `type:"structure"` 5049 5050 // The upper and lower EC2 instance limits for an automatic scaling policy. 5051 // Automatic scaling activity will not cause an instance group to grow above 5052 // or below these limits. 5053 // 5054 // Constraints is a required field 5055 Constraints *ScalingConstraints `type:"structure" required:"true"` 5056 5057 // The scale-in and scale-out rules that comprise the automatic scaling policy. 5058 // 5059 // Rules is a required field 5060 Rules []*ScalingRule `type:"list" required:"true"` 5061} 5062 5063// String returns the string representation 5064func (s AutoScalingPolicy) String() string { 5065 return awsutil.Prettify(s) 5066} 5067 5068// GoString returns the string representation 5069func (s AutoScalingPolicy) GoString() string { 5070 return s.String() 5071} 5072 5073// Validate inspects the fields of the type to determine if they are valid. 5074func (s *AutoScalingPolicy) Validate() error { 5075 invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"} 5076 if s.Constraints == nil { 5077 invalidParams.Add(request.NewErrParamRequired("Constraints")) 5078 } 5079 if s.Rules == nil { 5080 invalidParams.Add(request.NewErrParamRequired("Rules")) 5081 } 5082 if s.Constraints != nil { 5083 if err := s.Constraints.Validate(); err != nil { 5084 invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams)) 5085 } 5086 } 5087 if s.Rules != nil { 5088 for i, v := range s.Rules { 5089 if v == nil { 5090 continue 5091 } 5092 if err := v.Validate(); err != nil { 5093 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 5094 } 5095 } 5096 } 5097 5098 if invalidParams.Len() > 0 { 5099 return invalidParams 5100 } 5101 return nil 5102} 5103 5104// SetConstraints sets the Constraints field's value. 5105func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy { 5106 s.Constraints = v 5107 return s 5108} 5109 5110// SetRules sets the Rules field's value. 5111func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy { 5112 s.Rules = v 5113 return s 5114} 5115 5116// An automatic scaling policy for a core instance group or task instance group 5117// in an Amazon EMR cluster. The automatic scaling policy defines how an instance 5118// group dynamically adds and terminates EC2 instances in response to the value 5119// of a CloudWatch metric. See PutAutoScalingPolicy. 5120type AutoScalingPolicyDescription struct { 5121 _ struct{} `type:"structure"` 5122 5123 // The upper and lower EC2 instance limits for an automatic scaling policy. 5124 // Automatic scaling activity will not cause an instance group to grow above 5125 // or below these limits. 5126 Constraints *ScalingConstraints `type:"structure"` 5127 5128 // The scale-in and scale-out rules that comprise the automatic scaling policy. 5129 Rules []*ScalingRule `type:"list"` 5130 5131 // The status of an automatic scaling policy. 5132 Status *AutoScalingPolicyStatus `type:"structure"` 5133} 5134 5135// String returns the string representation 5136func (s AutoScalingPolicyDescription) String() string { 5137 return awsutil.Prettify(s) 5138} 5139 5140// GoString returns the string representation 5141func (s AutoScalingPolicyDescription) GoString() string { 5142 return s.String() 5143} 5144 5145// SetConstraints sets the Constraints field's value. 5146func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription { 5147 s.Constraints = v 5148 return s 5149} 5150 5151// SetRules sets the Rules field's value. 5152func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription { 5153 s.Rules = v 5154 return s 5155} 5156 5157// SetStatus sets the Status field's value. 5158func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription { 5159 s.Status = v 5160 return s 5161} 5162 5163// The reason for an AutoScalingPolicyStatus change. 5164type AutoScalingPolicyStateChangeReason struct { 5165 _ struct{} `type:"structure"` 5166 5167 // The code indicating the reason for the change in status.USER_REQUEST indicates 5168 // that the scaling policy status was changed by a user. PROVISION_FAILURE indicates 5169 // that the status change was because the policy failed to provision. CLEANUP_FAILURE 5170 // indicates an error. 5171 Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"` 5172 5173 // A friendly, more verbose message that accompanies an automatic scaling policy 5174 // state change. 5175 Message *string `type:"string"` 5176} 5177 5178// String returns the string representation 5179func (s AutoScalingPolicyStateChangeReason) String() string { 5180 return awsutil.Prettify(s) 5181} 5182 5183// GoString returns the string representation 5184func (s AutoScalingPolicyStateChangeReason) GoString() string { 5185 return s.String() 5186} 5187 5188// SetCode sets the Code field's value. 5189func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason { 5190 s.Code = &v 5191 return s 5192} 5193 5194// SetMessage sets the Message field's value. 5195func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason { 5196 s.Message = &v 5197 return s 5198} 5199 5200// The status of an automatic scaling policy. 5201type AutoScalingPolicyStatus struct { 5202 _ struct{} `type:"structure"` 5203 5204 // Indicates the status of the automatic scaling policy. 5205 State *string `type:"string" enum:"AutoScalingPolicyState"` 5206 5207 // The reason for a change in status. 5208 StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"` 5209} 5210 5211// String returns the string representation 5212func (s AutoScalingPolicyStatus) String() string { 5213 return awsutil.Prettify(s) 5214} 5215 5216// GoString returns the string representation 5217func (s AutoScalingPolicyStatus) GoString() string { 5218 return s.String() 5219} 5220 5221// SetState sets the State field's value. 5222func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus { 5223 s.State = &v 5224 return s 5225} 5226 5227// SetStateChangeReason sets the StateChangeReason field's value. 5228func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus { 5229 s.StateChangeReason = v 5230 return s 5231} 5232 5233// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules 5234// is set to true, Amazon EMR prevents cluster creation if one of the cluster's 5235// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or 5236// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. 5237type BlockPublicAccessConfiguration struct { 5238 _ struct{} `type:"structure"` 5239 5240 // Indicates whether Amazon EMR block public access is enabled (true) or disabled 5241 // (false). By default, the value is false for accounts that have created EMR 5242 // clusters before July 2019. For accounts created after this, the default is 5243 // true. 5244 // 5245 // BlockPublicSecurityGroupRules is a required field 5246 BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` 5247 5248 // Specifies ports and port ranges that are permitted to have security group 5249 // rules that allow inbound traffic from all public sources. For example, if 5250 // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, 5251 // Amazon EMR allows cluster creation if a security group associated with the 5252 // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 5253 // or IPv6 port ::/0 as the source. 5254 // 5255 // By default, Port 22, which is used for SSH access to the cluster EC2 instances, 5256 // is in the list of PermittedPublicSecurityGroupRuleRanges. 5257 PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` 5258} 5259 5260// String returns the string representation 5261func (s BlockPublicAccessConfiguration) String() string { 5262 return awsutil.Prettify(s) 5263} 5264 5265// GoString returns the string representation 5266func (s BlockPublicAccessConfiguration) GoString() string { 5267 return s.String() 5268} 5269 5270// Validate inspects the fields of the type to determine if they are valid. 5271func (s *BlockPublicAccessConfiguration) Validate() error { 5272 invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} 5273 if s.BlockPublicSecurityGroupRules == nil { 5274 invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) 5275 } 5276 if s.PermittedPublicSecurityGroupRuleRanges != nil { 5277 for i, v := range s.PermittedPublicSecurityGroupRuleRanges { 5278 if v == nil { 5279 continue 5280 } 5281 if err := v.Validate(); err != nil { 5282 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) 5283 } 5284 } 5285 } 5286 5287 if invalidParams.Len() > 0 { 5288 return invalidParams 5289 } 5290 return nil 5291} 5292 5293// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. 5294func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { 5295 s.BlockPublicSecurityGroupRules = &v 5296 return s 5297} 5298 5299// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. 5300func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { 5301 s.PermittedPublicSecurityGroupRuleRanges = v 5302 return s 5303} 5304 5305// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 5306// using the PutBlockPublicAccessConfiguration action as well as the date and 5307// time that the configuration was created. Each time a configuration for block 5308// public access is updated, Amazon EMR updates this metadata. 5309type BlockPublicAccessConfigurationMetadata struct { 5310 _ struct{} `type:"structure"` 5311 5312 // The Amazon Resource Name that created or last modified the configuration. 5313 // 5314 // CreatedByArn is a required field 5315 CreatedByArn *string `min:"20" type:"string" required:"true"` 5316 5317 // The date and time that the configuration was created. 5318 // 5319 // CreationDateTime is a required field 5320 CreationDateTime *time.Time `type:"timestamp" required:"true"` 5321} 5322 5323// String returns the string representation 5324func (s BlockPublicAccessConfigurationMetadata) String() string { 5325 return awsutil.Prettify(s) 5326} 5327 5328// GoString returns the string representation 5329func (s BlockPublicAccessConfigurationMetadata) GoString() string { 5330 return s.String() 5331} 5332 5333// SetCreatedByArn sets the CreatedByArn field's value. 5334func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { 5335 s.CreatedByArn = &v 5336 return s 5337} 5338 5339// SetCreationDateTime sets the CreationDateTime field's value. 5340func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { 5341 s.CreationDateTime = &v 5342 return s 5343} 5344 5345// Configuration of a bootstrap action. 5346type BootstrapActionConfig struct { 5347 _ struct{} `type:"structure"` 5348 5349 // The name of the bootstrap action. 5350 // 5351 // Name is a required field 5352 Name *string `type:"string" required:"true"` 5353 5354 // The script run by the bootstrap action. 5355 // 5356 // ScriptBootstrapAction is a required field 5357 ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` 5358} 5359 5360// String returns the string representation 5361func (s BootstrapActionConfig) String() string { 5362 return awsutil.Prettify(s) 5363} 5364 5365// GoString returns the string representation 5366func (s BootstrapActionConfig) GoString() string { 5367 return s.String() 5368} 5369 5370// Validate inspects the fields of the type to determine if they are valid. 5371func (s *BootstrapActionConfig) Validate() error { 5372 invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} 5373 if s.Name == nil { 5374 invalidParams.Add(request.NewErrParamRequired("Name")) 5375 } 5376 if s.ScriptBootstrapAction == nil { 5377 invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) 5378 } 5379 if s.ScriptBootstrapAction != nil { 5380 if err := s.ScriptBootstrapAction.Validate(); err != nil { 5381 invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) 5382 } 5383 } 5384 5385 if invalidParams.Len() > 0 { 5386 return invalidParams 5387 } 5388 return nil 5389} 5390 5391// SetName sets the Name field's value. 5392func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig { 5393 s.Name = &v 5394 return s 5395} 5396 5397// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value. 5398func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig { 5399 s.ScriptBootstrapAction = v 5400 return s 5401} 5402 5403// Reports the configuration of a bootstrap action in a cluster (job flow). 5404type BootstrapActionDetail struct { 5405 _ struct{} `type:"structure"` 5406 5407 // A description of the bootstrap action. 5408 BootstrapActionConfig *BootstrapActionConfig `type:"structure"` 5409} 5410 5411// String returns the string representation 5412func (s BootstrapActionDetail) String() string { 5413 return awsutil.Prettify(s) 5414} 5415 5416// GoString returns the string representation 5417func (s BootstrapActionDetail) GoString() string { 5418 return s.String() 5419} 5420 5421// SetBootstrapActionConfig sets the BootstrapActionConfig field's value. 5422func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail { 5423 s.BootstrapActionConfig = v 5424 return s 5425} 5426 5427// Specification of the status of a CancelSteps request. Available only in Amazon 5428// EMR version 4.8.0 and later, excluding version 5.0.0. 5429type CancelStepsInfo struct { 5430 _ struct{} `type:"structure"` 5431 5432 // The reason for the failure if the CancelSteps request fails. 5433 Reason *string `type:"string"` 5434 5435 // The status of a CancelSteps Request. The value may be SUBMITTED or FAILED. 5436 Status *string `type:"string" enum:"CancelStepsRequestStatus"` 5437 5438 // The encrypted StepId of a step. 5439 StepId *string `type:"string"` 5440} 5441 5442// String returns the string representation 5443func (s CancelStepsInfo) String() string { 5444 return awsutil.Prettify(s) 5445} 5446 5447// GoString returns the string representation 5448func (s CancelStepsInfo) GoString() string { 5449 return s.String() 5450} 5451 5452// SetReason sets the Reason field's value. 5453func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo { 5454 s.Reason = &v 5455 return s 5456} 5457 5458// SetStatus sets the Status field's value. 5459func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo { 5460 s.Status = &v 5461 return s 5462} 5463 5464// SetStepId sets the StepId field's value. 5465func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo { 5466 s.StepId = &v 5467 return s 5468} 5469 5470// The input argument to the CancelSteps operation. 5471type CancelStepsInput struct { 5472 _ struct{} `type:"structure"` 5473 5474 // The ClusterID for the specified steps that will be canceled. Use RunJobFlow 5475 // and ListClusters to get ClusterIDs. 5476 // 5477 // ClusterId is a required field 5478 ClusterId *string `type:"string" required:"true"` 5479 5480 // The option to choose to cancel RUNNING steps. By default, the value is SEND_INTERRUPT. 5481 StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` 5482 5483 // The list of StepIDs to cancel. Use ListSteps to get steps and their states 5484 // for the specified cluster. 5485 // 5486 // StepIds is a required field 5487 StepIds []*string `type:"list" required:"true"` 5488} 5489 5490// String returns the string representation 5491func (s CancelStepsInput) String() string { 5492 return awsutil.Prettify(s) 5493} 5494 5495// GoString returns the string representation 5496func (s CancelStepsInput) GoString() string { 5497 return s.String() 5498} 5499 5500// Validate inspects the fields of the type to determine if they are valid. 5501func (s *CancelStepsInput) Validate() error { 5502 invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} 5503 if s.ClusterId == nil { 5504 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5505 } 5506 if s.StepIds == nil { 5507 invalidParams.Add(request.NewErrParamRequired("StepIds")) 5508 } 5509 5510 if invalidParams.Len() > 0 { 5511 return invalidParams 5512 } 5513 return nil 5514} 5515 5516// SetClusterId sets the ClusterId field's value. 5517func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { 5518 s.ClusterId = &v 5519 return s 5520} 5521 5522// SetStepCancellationOption sets the StepCancellationOption field's value. 5523func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { 5524 s.StepCancellationOption = &v 5525 return s 5526} 5527 5528// SetStepIds sets the StepIds field's value. 5529func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { 5530 s.StepIds = v 5531 return s 5532} 5533 5534// The output for the CancelSteps operation. 5535type CancelStepsOutput struct { 5536 _ struct{} `type:"structure"` 5537 5538 // A list of CancelStepsInfo, which shows the status of specified cancel requests 5539 // for each StepID specified. 5540 CancelStepsInfoList []*CancelStepsInfo `type:"list"` 5541} 5542 5543// String returns the string representation 5544func (s CancelStepsOutput) String() string { 5545 return awsutil.Prettify(s) 5546} 5547 5548// GoString returns the string representation 5549func (s CancelStepsOutput) GoString() string { 5550 return s.String() 5551} 5552 5553// SetCancelStepsInfoList sets the CancelStepsInfoList field's value. 5554func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput { 5555 s.CancelStepsInfoList = v 5556 return s 5557} 5558 5559// The definition of a CloudWatch metric alarm, which determines when an automatic 5560// scaling activity is triggered. When the defined alarm conditions are satisfied, 5561// scaling activity begins. 5562type CloudWatchAlarmDefinition struct { 5563 _ struct{} `type:"structure"` 5564 5565 // Determines how the metric specified by MetricName is compared to the value 5566 // specified by Threshold. 5567 // 5568 // ComparisonOperator is a required field 5569 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 5570 5571 // A CloudWatch metric dimension. 5572 Dimensions []*MetricDimension `type:"list"` 5573 5574 // The number of periods, in five-minute increments, during which the alarm 5575 // condition must exist before the alarm triggers automatic scaling activity. 5576 // The default value is 1. 5577 EvaluationPeriods *int64 `type:"integer"` 5578 5579 // The name of the CloudWatch metric that is watched to determine an alarm condition. 5580 // 5581 // MetricName is a required field 5582 MetricName *string `type:"string" required:"true"` 5583 5584 // The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. 5585 Namespace *string `type:"string"` 5586 5587 // The period, in seconds, over which the statistic is applied. EMR CloudWatch 5588 // metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch 5589 // metric is specified, specify 300. 5590 // 5591 // Period is a required field 5592 Period *int64 `type:"integer" required:"true"` 5593 5594 // The statistic to apply to the metric associated with the alarm. The default 5595 // is AVERAGE. 5596 Statistic *string `type:"string" enum:"Statistic"` 5597 5598 // The value against which the specified statistic is compared. 5599 // 5600 // Threshold is a required field 5601 Threshold *float64 `type:"double" required:"true"` 5602 5603 // The unit of measure associated with the CloudWatch metric being watched. 5604 // The value specified for Unit must correspond to the units specified in the 5605 // CloudWatch metric. 5606 Unit *string `type:"string" enum:"Unit"` 5607} 5608 5609// String returns the string representation 5610func (s CloudWatchAlarmDefinition) String() string { 5611 return awsutil.Prettify(s) 5612} 5613 5614// GoString returns the string representation 5615func (s CloudWatchAlarmDefinition) GoString() string { 5616 return s.String() 5617} 5618 5619// Validate inspects the fields of the type to determine if they are valid. 5620func (s *CloudWatchAlarmDefinition) Validate() error { 5621 invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"} 5622 if s.ComparisonOperator == nil { 5623 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 5624 } 5625 if s.MetricName == nil { 5626 invalidParams.Add(request.NewErrParamRequired("MetricName")) 5627 } 5628 if s.Period == nil { 5629 invalidParams.Add(request.NewErrParamRequired("Period")) 5630 } 5631 if s.Threshold == nil { 5632 invalidParams.Add(request.NewErrParamRequired("Threshold")) 5633 } 5634 5635 if invalidParams.Len() > 0 { 5636 return invalidParams 5637 } 5638 return nil 5639} 5640 5641// SetComparisonOperator sets the ComparisonOperator field's value. 5642func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition { 5643 s.ComparisonOperator = &v 5644 return s 5645} 5646 5647// SetDimensions sets the Dimensions field's value. 5648func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition { 5649 s.Dimensions = v 5650 return s 5651} 5652 5653// SetEvaluationPeriods sets the EvaluationPeriods field's value. 5654func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition { 5655 s.EvaluationPeriods = &v 5656 return s 5657} 5658 5659// SetMetricName sets the MetricName field's value. 5660func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition { 5661 s.MetricName = &v 5662 return s 5663} 5664 5665// SetNamespace sets the Namespace field's value. 5666func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition { 5667 s.Namespace = &v 5668 return s 5669} 5670 5671// SetPeriod sets the Period field's value. 5672func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition { 5673 s.Period = &v 5674 return s 5675} 5676 5677// SetStatistic sets the Statistic field's value. 5678func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition { 5679 s.Statistic = &v 5680 return s 5681} 5682 5683// SetThreshold sets the Threshold field's value. 5684func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition { 5685 s.Threshold = &v 5686 return s 5687} 5688 5689// SetUnit sets the Unit field's value. 5690func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition { 5691 s.Unit = &v 5692 return s 5693} 5694 5695// The detailed description of the cluster. 5696type Cluster struct { 5697 _ struct{} `type:"structure"` 5698 5699 // The applications installed on this cluster. 5700 Applications []*Application `type:"list"` 5701 5702 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 5703 // The IAM role provides permissions that the automatic scaling feature requires 5704 // to launch and terminate EC2 instances in an instance group. 5705 AutoScalingRole *string `type:"string"` 5706 5707 // Specifies whether the cluster should terminate after completing all steps. 5708 AutoTerminate *bool `type:"boolean"` 5709 5710 // The Amazon Resource Name of the cluster. 5711 ClusterArn *string `min:"20" type:"string"` 5712 5713 // Applies only to Amazon EMR releases 4.x and later. The list of Configurations 5714 // supplied to the EMR cluster. 5715 Configurations []*Configuration `type:"list"` 5716 5717 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 5718 // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. 5719 CustomAmiId *string `type:"string"` 5720 5721 // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that 5722 // is used for each EC2 instance. Available in Amazon EMR version 4.x and later. 5723 EbsRootVolumeSize *int64 `type:"integer"` 5724 5725 // Provides information about the EC2 instances in a cluster grouped by category. 5726 // For example, key name, subnet ID, IAM instance profile, and so on. 5727 Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"` 5728 5729 // The unique identifier for the cluster. 5730 Id *string `type:"string"` 5731 5732 // 5733 // The instance fleet configuration is available only in Amazon EMR versions 5734 // 4.8.0 and later, excluding 5.0.x versions. 5735 // 5736 // The instance group configuration of the cluster. A value of INSTANCE_GROUP 5737 // indicates a uniform instance group configuration. A value of INSTANCE_FLEET 5738 // indicates an instance fleets configuration. 5739 InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"` 5740 5741 // Attributes for Kerberos configuration when Kerberos authentication is enabled 5742 // using a security configuration. For more information see Use Kerberos Authentication 5743 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 5744 // in the Amazon EMR Management Guide. 5745 KerberosAttributes *KerberosAttributes `type:"structure"` 5746 5747 // The AWS KMS customer master key (CMK) used for encrypting log files. This 5748 // attribute is only available with EMR version 5.30.0 and later, excluding 5749 // EMR 6.0.0. 5750 LogEncryptionKmsKeyId *string `type:"string"` 5751 5752 // The path to the Amazon S3 location where logs for this cluster are stored. 5753 LogUri *string `type:"string"` 5754 5755 // The DNS name of the master node. If the cluster is on a private subnet, this 5756 // is the private DNS name. On a public subnet, this is the public DNS name. 5757 MasterPublicDnsName *string `type:"string"` 5758 5759 // The name of the cluster. 5760 Name *string `type:"string"` 5761 5762 // An approximation of the cost of the cluster, represented in m1.small/hours. 5763 // This value is incremented one time for every hour an m1.small instance runs. 5764 // Larger instances are weighted more, so an EC2 instance that is roughly four 5765 // times more expensive would result in the normalized instance hours being 5766 // incremented by four. This result is only an approximation and does not reflect 5767 // the actual billing rate. 5768 NormalizedInstanceHours *int64 `type:"integer"` 5769 5770 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 5771 OutpostArn *string `type:"string"` 5772 5773 // Placement group configured for an Amazon EMR cluster. 5774 PlacementGroups []*PlacementGroupConfig `type:"list"` 5775 5776 // The Amazon EMR release label, which determines the version of open-source 5777 // application packages installed on the cluster. Release labels are in the 5778 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 5779 // For more information about Amazon EMR release versions and included application 5780 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 5781 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 5782 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 5783 // use AmiVersion. 5784 ReleaseLabel *string `type:"string"` 5785 5786 // Applies only when CustomAmiID is used. Specifies the type of updates that 5787 // are applied from the Amazon Linux AMI package repositories when an instance 5788 // boots using the AMI. 5789 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 5790 5791 // The AMI version requested for this cluster. 5792 RequestedAmiVersion *string `type:"string"` 5793 5794 // The AMI version running on this cluster. 5795 RunningAmiVersion *string `type:"string"` 5796 5797 // The way that individual Amazon EC2 instances terminate when an automatic 5798 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 5799 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 5800 // regardless of when the request to terminate the instance was submitted. This 5801 // option is only available with Amazon EMR 5.1.0 and later and is the default 5802 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 5803 // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before 5804 // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. 5805 // With either behavior, Amazon EMR removes the least active nodes first and 5806 // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 5807 // is available only in Amazon EMR version 4.1.0 and later, and is the default 5808 // for versions of Amazon EMR earlier than 5.1.0. 5809 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 5810 5811 // The name of the security configuration applied to the cluster. 5812 SecurityConfiguration *string `type:"string"` 5813 5814 // The IAM role that will be assumed by the Amazon EMR service to access AWS 5815 // resources on your behalf. 5816 ServiceRole *string `type:"string"` 5817 5818 // The current status details about the cluster. 5819 Status *ClusterStatus `type:"structure"` 5820 5821 // Specifies the number of steps that can be executed concurrently. 5822 StepConcurrencyLevel *int64 `type:"integer"` 5823 5824 // A list of tags associated with a cluster. 5825 Tags []*Tag `type:"list"` 5826 5827 // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances 5828 // from being terminated by an API call or user intervention, or in the event 5829 // of a cluster error. 5830 TerminationProtected *bool `type:"boolean"` 5831 5832 // Indicates whether the cluster is visible to all IAM users of the AWS account 5833 // associated with the cluster. The default value, true, indicates that all 5834 // IAM users in the AWS account can perform cluster actions if they have the 5835 // proper IAM policy permissions. If this value is false, only the IAM user 5836 // that created the cluster can perform actions. This value can be changed on 5837 // a running cluster by using the SetVisibleToAllUsers action. You can override 5838 // the default value of true when you create a cluster by using the VisibleToAllUsers 5839 // parameter of the RunJobFlow action. 5840 VisibleToAllUsers *bool `type:"boolean"` 5841} 5842 5843// String returns the string representation 5844func (s Cluster) String() string { 5845 return awsutil.Prettify(s) 5846} 5847 5848// GoString returns the string representation 5849func (s Cluster) GoString() string { 5850 return s.String() 5851} 5852 5853// SetApplications sets the Applications field's value. 5854func (s *Cluster) SetApplications(v []*Application) *Cluster { 5855 s.Applications = v 5856 return s 5857} 5858 5859// SetAutoScalingRole sets the AutoScalingRole field's value. 5860func (s *Cluster) SetAutoScalingRole(v string) *Cluster { 5861 s.AutoScalingRole = &v 5862 return s 5863} 5864 5865// SetAutoTerminate sets the AutoTerminate field's value. 5866func (s *Cluster) SetAutoTerminate(v bool) *Cluster { 5867 s.AutoTerminate = &v 5868 return s 5869} 5870 5871// SetClusterArn sets the ClusterArn field's value. 5872func (s *Cluster) SetClusterArn(v string) *Cluster { 5873 s.ClusterArn = &v 5874 return s 5875} 5876 5877// SetConfigurations sets the Configurations field's value. 5878func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster { 5879 s.Configurations = v 5880 return s 5881} 5882 5883// SetCustomAmiId sets the CustomAmiId field's value. 5884func (s *Cluster) SetCustomAmiId(v string) *Cluster { 5885 s.CustomAmiId = &v 5886 return s 5887} 5888 5889// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 5890func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster { 5891 s.EbsRootVolumeSize = &v 5892 return s 5893} 5894 5895// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value. 5896func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster { 5897 s.Ec2InstanceAttributes = v 5898 return s 5899} 5900 5901// SetId sets the Id field's value. 5902func (s *Cluster) SetId(v string) *Cluster { 5903 s.Id = &v 5904 return s 5905} 5906 5907// SetInstanceCollectionType sets the InstanceCollectionType field's value. 5908func (s *Cluster) SetInstanceCollectionType(v string) *Cluster { 5909 s.InstanceCollectionType = &v 5910 return s 5911} 5912 5913// SetKerberosAttributes sets the KerberosAttributes field's value. 5914func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { 5915 s.KerberosAttributes = v 5916 return s 5917} 5918 5919// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 5920func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { 5921 s.LogEncryptionKmsKeyId = &v 5922 return s 5923} 5924 5925// SetLogUri sets the LogUri field's value. 5926func (s *Cluster) SetLogUri(v string) *Cluster { 5927 s.LogUri = &v 5928 return s 5929} 5930 5931// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 5932func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster { 5933 s.MasterPublicDnsName = &v 5934 return s 5935} 5936 5937// SetName sets the Name field's value. 5938func (s *Cluster) SetName(v string) *Cluster { 5939 s.Name = &v 5940 return s 5941} 5942 5943// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 5944func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { 5945 s.NormalizedInstanceHours = &v 5946 return s 5947} 5948 5949// SetOutpostArn sets the OutpostArn field's value. 5950func (s *Cluster) SetOutpostArn(v string) *Cluster { 5951 s.OutpostArn = &v 5952 return s 5953} 5954 5955// SetPlacementGroups sets the PlacementGroups field's value. 5956func (s *Cluster) SetPlacementGroups(v []*PlacementGroupConfig) *Cluster { 5957 s.PlacementGroups = v 5958 return s 5959} 5960 5961// SetReleaseLabel sets the ReleaseLabel field's value. 5962func (s *Cluster) SetReleaseLabel(v string) *Cluster { 5963 s.ReleaseLabel = &v 5964 return s 5965} 5966 5967// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 5968func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster { 5969 s.RepoUpgradeOnBoot = &v 5970 return s 5971} 5972 5973// SetRequestedAmiVersion sets the RequestedAmiVersion field's value. 5974func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster { 5975 s.RequestedAmiVersion = &v 5976 return s 5977} 5978 5979// SetRunningAmiVersion sets the RunningAmiVersion field's value. 5980func (s *Cluster) SetRunningAmiVersion(v string) *Cluster { 5981 s.RunningAmiVersion = &v 5982 return s 5983} 5984 5985// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 5986func (s *Cluster) SetScaleDownBehavior(v string) *Cluster { 5987 s.ScaleDownBehavior = &v 5988 return s 5989} 5990 5991// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5992func (s *Cluster) SetSecurityConfiguration(v string) *Cluster { 5993 s.SecurityConfiguration = &v 5994 return s 5995} 5996 5997// SetServiceRole sets the ServiceRole field's value. 5998func (s *Cluster) SetServiceRole(v string) *Cluster { 5999 s.ServiceRole = &v 6000 return s 6001} 6002 6003// SetStatus sets the Status field's value. 6004func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { 6005 s.Status = v 6006 return s 6007} 6008 6009// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 6010func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { 6011 s.StepConcurrencyLevel = &v 6012 return s 6013} 6014 6015// SetTags sets the Tags field's value. 6016func (s *Cluster) SetTags(v []*Tag) *Cluster { 6017 s.Tags = v 6018 return s 6019} 6020 6021// SetTerminationProtected sets the TerminationProtected field's value. 6022func (s *Cluster) SetTerminationProtected(v bool) *Cluster { 6023 s.TerminationProtected = &v 6024 return s 6025} 6026 6027// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 6028func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster { 6029 s.VisibleToAllUsers = &v 6030 return s 6031} 6032 6033// The reason that the cluster changed to its current state. 6034type ClusterStateChangeReason struct { 6035 _ struct{} `type:"structure"` 6036 6037 // The programmatic code for the state change reason. 6038 Code *string `type:"string" enum:"ClusterStateChangeReasonCode"` 6039 6040 // The descriptive message for the state change reason. 6041 Message *string `type:"string"` 6042} 6043 6044// String returns the string representation 6045func (s ClusterStateChangeReason) String() string { 6046 return awsutil.Prettify(s) 6047} 6048 6049// GoString returns the string representation 6050func (s ClusterStateChangeReason) GoString() string { 6051 return s.String() 6052} 6053 6054// SetCode sets the Code field's value. 6055func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason { 6056 s.Code = &v 6057 return s 6058} 6059 6060// SetMessage sets the Message field's value. 6061func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason { 6062 s.Message = &v 6063 return s 6064} 6065 6066// The detailed status of the cluster. 6067type ClusterStatus struct { 6068 _ struct{} `type:"structure"` 6069 6070 // The current state of the cluster. 6071 State *string `type:"string" enum:"ClusterState"` 6072 6073 // The reason for the cluster status change. 6074 StateChangeReason *ClusterStateChangeReason `type:"structure"` 6075 6076 // A timeline that represents the status of a cluster over the lifetime of the 6077 // cluster. 6078 Timeline *ClusterTimeline `type:"structure"` 6079} 6080 6081// String returns the string representation 6082func (s ClusterStatus) String() string { 6083 return awsutil.Prettify(s) 6084} 6085 6086// GoString returns the string representation 6087func (s ClusterStatus) GoString() string { 6088 return s.String() 6089} 6090 6091// SetState sets the State field's value. 6092func (s *ClusterStatus) SetState(v string) *ClusterStatus { 6093 s.State = &v 6094 return s 6095} 6096 6097// SetStateChangeReason sets the StateChangeReason field's value. 6098func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus { 6099 s.StateChangeReason = v 6100 return s 6101} 6102 6103// SetTimeline sets the Timeline field's value. 6104func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus { 6105 s.Timeline = v 6106 return s 6107} 6108 6109// The summary description of the cluster. 6110type ClusterSummary struct { 6111 _ struct{} `type:"structure"` 6112 6113 // The Amazon Resource Name of the cluster. 6114 ClusterArn *string `min:"20" type:"string"` 6115 6116 // The unique identifier for the cluster. 6117 Id *string `type:"string"` 6118 6119 // The name of the cluster. 6120 Name *string `type:"string"` 6121 6122 // An approximation of the cost of the cluster, represented in m1.small/hours. 6123 // This value is incremented one time for every hour an m1.small instance runs. 6124 // Larger instances are weighted more, so an EC2 instance that is roughly four 6125 // times more expensive would result in the normalized instance hours being 6126 // incremented by four. This result is only an approximation and does not reflect 6127 // the actual billing rate. 6128 NormalizedInstanceHours *int64 `type:"integer"` 6129 6130 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 6131 OutpostArn *string `type:"string"` 6132 6133 // The details about the current status of the cluster. 6134 Status *ClusterStatus `type:"structure"` 6135} 6136 6137// String returns the string representation 6138func (s ClusterSummary) String() string { 6139 return awsutil.Prettify(s) 6140} 6141 6142// GoString returns the string representation 6143func (s ClusterSummary) GoString() string { 6144 return s.String() 6145} 6146 6147// SetClusterArn sets the ClusterArn field's value. 6148func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { 6149 s.ClusterArn = &v 6150 return s 6151} 6152 6153// SetId sets the Id field's value. 6154func (s *ClusterSummary) SetId(v string) *ClusterSummary { 6155 s.Id = &v 6156 return s 6157} 6158 6159// SetName sets the Name field's value. 6160func (s *ClusterSummary) SetName(v string) *ClusterSummary { 6161 s.Name = &v 6162 return s 6163} 6164 6165// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 6166func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { 6167 s.NormalizedInstanceHours = &v 6168 return s 6169} 6170 6171// SetOutpostArn sets the OutpostArn field's value. 6172func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { 6173 s.OutpostArn = &v 6174 return s 6175} 6176 6177// SetStatus sets the Status field's value. 6178func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { 6179 s.Status = v 6180 return s 6181} 6182 6183// Represents the timeline of the cluster's lifecycle. 6184type ClusterTimeline struct { 6185 _ struct{} `type:"structure"` 6186 6187 // The creation date and time of the cluster. 6188 CreationDateTime *time.Time `type:"timestamp"` 6189 6190 // The date and time when the cluster was terminated. 6191 EndDateTime *time.Time `type:"timestamp"` 6192 6193 // The date and time when the cluster was ready to run steps. 6194 ReadyDateTime *time.Time `type:"timestamp"` 6195} 6196 6197// String returns the string representation 6198func (s ClusterTimeline) String() string { 6199 return awsutil.Prettify(s) 6200} 6201 6202// GoString returns the string representation 6203func (s ClusterTimeline) GoString() string { 6204 return s.String() 6205} 6206 6207// SetCreationDateTime sets the CreationDateTime field's value. 6208func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline { 6209 s.CreationDateTime = &v 6210 return s 6211} 6212 6213// SetEndDateTime sets the EndDateTime field's value. 6214func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline { 6215 s.EndDateTime = &v 6216 return s 6217} 6218 6219// SetReadyDateTime sets the ReadyDateTime field's value. 6220func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline { 6221 s.ReadyDateTime = &v 6222 return s 6223} 6224 6225// An entity describing an executable that runs on a cluster. 6226type Command struct { 6227 _ struct{} `type:"structure"` 6228 6229 // Arguments for Amazon EMR to pass to the command for execution. 6230 Args []*string `type:"list"` 6231 6232 // The name of the command. 6233 Name *string `type:"string"` 6234 6235 // The Amazon S3 location of the command script. 6236 ScriptPath *string `type:"string"` 6237} 6238 6239// String returns the string representation 6240func (s Command) String() string { 6241 return awsutil.Prettify(s) 6242} 6243 6244// GoString returns the string representation 6245func (s Command) GoString() string { 6246 return s.String() 6247} 6248 6249// SetArgs sets the Args field's value. 6250func (s *Command) SetArgs(v []*string) *Command { 6251 s.Args = v 6252 return s 6253} 6254 6255// SetName sets the Name field's value. 6256func (s *Command) SetName(v string) *Command { 6257 s.Name = &v 6258 return s 6259} 6260 6261// SetScriptPath sets the ScriptPath field's value. 6262func (s *Command) SetScriptPath(v string) *Command { 6263 s.ScriptPath = &v 6264 return s 6265} 6266 6267// The EC2 unit limits for a managed scaling policy. The managed scaling activity 6268// of a cluster can not be above or below these limits. The limit only applies 6269// to the core and task nodes. The master node cannot be scaled after initial 6270// configuration. 6271type ComputeLimits struct { 6272 _ struct{} `type:"structure"` 6273 6274 // The upper boundary of EC2 units. It is measured through vCPU cores or instances 6275 // for instance groups and measured through units for instance fleets. Managed 6276 // scaling activities are not allowed beyond this boundary. The limit only applies 6277 // to the core and task nodes. The master node cannot be scaled after initial 6278 // configuration. 6279 // 6280 // MaximumCapacityUnits is a required field 6281 MaximumCapacityUnits *int64 `type:"integer" required:"true"` 6282 6283 // The upper boundary of EC2 units for core node type in a cluster. It is measured 6284 // through vCPU cores or instances for instance groups and measured through 6285 // units for instance fleets. The core units are not allowed to scale beyond 6286 // this boundary. The parameter is used to split capacity allocation between 6287 // core and task nodes. 6288 MaximumCoreCapacityUnits *int64 `type:"integer"` 6289 6290 // The upper boundary of On-Demand EC2 units. It is measured through vCPU cores 6291 // or instances for instance groups and measured through units for instance 6292 // fleets. The On-Demand units are not allowed to scale beyond this boundary. 6293 // The parameter is used to split capacity allocation between On-Demand and 6294 // Spot Instances. 6295 MaximumOnDemandCapacityUnits *int64 `type:"integer"` 6296 6297 // The lower boundary of EC2 units. It is measured through vCPU cores or instances 6298 // for instance groups and measured through units for instance fleets. Managed 6299 // scaling activities are not allowed beyond this boundary. The limit only applies 6300 // to the core and task nodes. The master node cannot be scaled after initial 6301 // configuration. 6302 // 6303 // MinimumCapacityUnits is a required field 6304 MinimumCapacityUnits *int64 `type:"integer" required:"true"` 6305 6306 // The unit type used for specifying a managed scaling policy. 6307 // 6308 // UnitType is a required field 6309 UnitType *string `type:"string" required:"true" enum:"ComputeLimitsUnitType"` 6310} 6311 6312// String returns the string representation 6313func (s ComputeLimits) String() string { 6314 return awsutil.Prettify(s) 6315} 6316 6317// GoString returns the string representation 6318func (s ComputeLimits) GoString() string { 6319 return s.String() 6320} 6321 6322// Validate inspects the fields of the type to determine if they are valid. 6323func (s *ComputeLimits) Validate() error { 6324 invalidParams := request.ErrInvalidParams{Context: "ComputeLimits"} 6325 if s.MaximumCapacityUnits == nil { 6326 invalidParams.Add(request.NewErrParamRequired("MaximumCapacityUnits")) 6327 } 6328 if s.MinimumCapacityUnits == nil { 6329 invalidParams.Add(request.NewErrParamRequired("MinimumCapacityUnits")) 6330 } 6331 if s.UnitType == nil { 6332 invalidParams.Add(request.NewErrParamRequired("UnitType")) 6333 } 6334 6335 if invalidParams.Len() > 0 { 6336 return invalidParams 6337 } 6338 return nil 6339} 6340 6341// SetMaximumCapacityUnits sets the MaximumCapacityUnits field's value. 6342func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { 6343 s.MaximumCapacityUnits = &v 6344 return s 6345} 6346 6347// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. 6348func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { 6349 s.MaximumCoreCapacityUnits = &v 6350 return s 6351} 6352 6353// SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. 6354func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { 6355 s.MaximumOnDemandCapacityUnits = &v 6356 return s 6357} 6358 6359// SetMinimumCapacityUnits sets the MinimumCapacityUnits field's value. 6360func (s *ComputeLimits) SetMinimumCapacityUnits(v int64) *ComputeLimits { 6361 s.MinimumCapacityUnits = &v 6362 return s 6363} 6364 6365// SetUnitType sets the UnitType field's value. 6366func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { 6367 s.UnitType = &v 6368 return s 6369} 6370 6371// 6372// Amazon EMR releases 4.x or later. 6373// 6374// An optional configuration specification to be used when provisioning cluster 6375// instances, which can include configurations for applications and software 6376// bundled with Amazon EMR. A configuration consists of a classification, properties, 6377// and optional nested configurations. A classification refers to an application-specific 6378// configuration file. Properties are the settings you want to change in that 6379// file. For more information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 6380type Configuration struct { 6381 _ struct{} `type:"structure"` 6382 6383 // The classification within a configuration. 6384 Classification *string `type:"string"` 6385 6386 // A list of additional configurations to apply within a configuration object. 6387 Configurations []*Configuration `type:"list"` 6388 6389 // A set of properties specified within a configuration classification. 6390 Properties map[string]*string `type:"map"` 6391} 6392 6393// String returns the string representation 6394func (s Configuration) String() string { 6395 return awsutil.Prettify(s) 6396} 6397 6398// GoString returns the string representation 6399func (s Configuration) GoString() string { 6400 return s.String() 6401} 6402 6403// SetClassification sets the Classification field's value. 6404func (s *Configuration) SetClassification(v string) *Configuration { 6405 s.Classification = &v 6406 return s 6407} 6408 6409// SetConfigurations sets the Configurations field's value. 6410func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { 6411 s.Configurations = v 6412 return s 6413} 6414 6415// SetProperties sets the Properties field's value. 6416func (s *Configuration) SetProperties(v map[string]*string) *Configuration { 6417 s.Properties = v 6418 return s 6419} 6420 6421type CreateSecurityConfigurationInput struct { 6422 _ struct{} `type:"structure"` 6423 6424 // The name of the security configuration. 6425 // 6426 // Name is a required field 6427 Name *string `type:"string" required:"true"` 6428 6429 // The security configuration details in JSON format. For JSON parameters and 6430 // examples, see Use Security Configurations to Set Up Cluster Security (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) 6431 // in the Amazon EMR Management Guide. 6432 // 6433 // SecurityConfiguration is a required field 6434 SecurityConfiguration *string `type:"string" required:"true"` 6435} 6436 6437// String returns the string representation 6438func (s CreateSecurityConfigurationInput) String() string { 6439 return awsutil.Prettify(s) 6440} 6441 6442// GoString returns the string representation 6443func (s CreateSecurityConfigurationInput) GoString() string { 6444 return s.String() 6445} 6446 6447// Validate inspects the fields of the type to determine if they are valid. 6448func (s *CreateSecurityConfigurationInput) Validate() error { 6449 invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} 6450 if s.Name == nil { 6451 invalidParams.Add(request.NewErrParamRequired("Name")) 6452 } 6453 if s.SecurityConfiguration == nil { 6454 invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) 6455 } 6456 6457 if invalidParams.Len() > 0 { 6458 return invalidParams 6459 } 6460 return nil 6461} 6462 6463// SetName sets the Name field's value. 6464func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { 6465 s.Name = &v 6466 return s 6467} 6468 6469// SetSecurityConfiguration sets the SecurityConfiguration field's value. 6470func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput { 6471 s.SecurityConfiguration = &v 6472 return s 6473} 6474 6475type CreateSecurityConfigurationOutput struct { 6476 _ struct{} `type:"structure"` 6477 6478 // The date and time the security configuration was created. 6479 // 6480 // CreationDateTime is a required field 6481 CreationDateTime *time.Time `type:"timestamp" required:"true"` 6482 6483 // The name of the security configuration. 6484 // 6485 // Name is a required field 6486 Name *string `type:"string" required:"true"` 6487} 6488 6489// String returns the string representation 6490func (s CreateSecurityConfigurationOutput) String() string { 6491 return awsutil.Prettify(s) 6492} 6493 6494// GoString returns the string representation 6495func (s CreateSecurityConfigurationOutput) GoString() string { 6496 return s.String() 6497} 6498 6499// SetCreationDateTime sets the CreationDateTime field's value. 6500func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput { 6501 s.CreationDateTime = &v 6502 return s 6503} 6504 6505// SetName sets the Name field's value. 6506func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { 6507 s.Name = &v 6508 return s 6509} 6510 6511type CreateStudioInput struct { 6512 _ struct{} `type:"structure"` 6513 6514 // Specifies whether the Studio authenticates users using single sign-on (SSO) 6515 // or IAM. Amazon EMR Studio currently only supports SSO authentication. 6516 // 6517 // AuthMode is a required field 6518 AuthMode *string `type:"string" required:"true" enum:"AuthMode"` 6519 6520 // The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook 6521 // files. 6522 // 6523 // DefaultS3Location is a required field 6524 DefaultS3Location *string `type:"string" required:"true"` 6525 6526 // A detailed description of the Amazon EMR Studio. 6527 Description *string `type:"string"` 6528 6529 // The ID of the Amazon EMR Studio Engine security group. The Engine security 6530 // group allows inbound network traffic from the Workspace security group, and 6531 // it must be in the same VPC specified by VpcId. 6532 // 6533 // EngineSecurityGroupId is a required field 6534 EngineSecurityGroupId *string `type:"string" required:"true"` 6535 6536 // A descriptive name for the Amazon EMR Studio. 6537 // 6538 // Name is a required field 6539 Name *string `type:"string" required:"true"` 6540 6541 // The IAM role that will be assumed by the Amazon EMR Studio. The service role 6542 // provides a way for Amazon EMR Studio to interoperate with other AWS services. 6543 // 6544 // ServiceRole is a required field 6545 ServiceRole *string `type:"string" required:"true"` 6546 6547 // A list of subnet IDs to associate with the Amazon EMR Studio. A Studio can 6548 // have a maximum of 5 subnets. The subnets must belong to the VPC specified 6549 // by VpcId. Studio users can create a Workspace in any of the specified subnets. 6550 // 6551 // SubnetIds is a required field 6552 SubnetIds []*string `type:"list" required:"true"` 6553 6554 // A list of tags to associate with the Amazon EMR Studio. Tags are user-defined 6555 // key-value pairs that consist of a required key string with a maximum of 128 6556 // characters, and an optional value string with a maximum of 256 characters. 6557 Tags []*Tag `type:"list"` 6558 6559 // The IAM user role that will be assumed by users and groups logged in to an 6560 // Amazon EMR Studio. The permissions attached to this IAM role can be scoped 6561 // down for each user or group using session policies. 6562 // 6563 // UserRole is a required field 6564 UserRole *string `type:"string" required:"true"` 6565 6566 // The ID of the Amazon Virtual Private Cloud (Amazon VPC) to associate with 6567 // the Studio. 6568 // 6569 // VpcId is a required field 6570 VpcId *string `type:"string" required:"true"` 6571 6572 // The ID of the Amazon EMR Studio Workspace security group. The Workspace security 6573 // group allows outbound network traffic to resources in the Engine security 6574 // group, and it must be in the same VPC specified by VpcId. 6575 // 6576 // WorkspaceSecurityGroupId is a required field 6577 WorkspaceSecurityGroupId *string `type:"string" required:"true"` 6578} 6579 6580// String returns the string representation 6581func (s CreateStudioInput) String() string { 6582 return awsutil.Prettify(s) 6583} 6584 6585// GoString returns the string representation 6586func (s CreateStudioInput) GoString() string { 6587 return s.String() 6588} 6589 6590// Validate inspects the fields of the type to determine if they are valid. 6591func (s *CreateStudioInput) Validate() error { 6592 invalidParams := request.ErrInvalidParams{Context: "CreateStudioInput"} 6593 if s.AuthMode == nil { 6594 invalidParams.Add(request.NewErrParamRequired("AuthMode")) 6595 } 6596 if s.DefaultS3Location == nil { 6597 invalidParams.Add(request.NewErrParamRequired("DefaultS3Location")) 6598 } 6599 if s.EngineSecurityGroupId == nil { 6600 invalidParams.Add(request.NewErrParamRequired("EngineSecurityGroupId")) 6601 } 6602 if s.Name == nil { 6603 invalidParams.Add(request.NewErrParamRequired("Name")) 6604 } 6605 if s.ServiceRole == nil { 6606 invalidParams.Add(request.NewErrParamRequired("ServiceRole")) 6607 } 6608 if s.SubnetIds == nil { 6609 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 6610 } 6611 if s.UserRole == nil { 6612 invalidParams.Add(request.NewErrParamRequired("UserRole")) 6613 } 6614 if s.VpcId == nil { 6615 invalidParams.Add(request.NewErrParamRequired("VpcId")) 6616 } 6617 if s.WorkspaceSecurityGroupId == nil { 6618 invalidParams.Add(request.NewErrParamRequired("WorkspaceSecurityGroupId")) 6619 } 6620 6621 if invalidParams.Len() > 0 { 6622 return invalidParams 6623 } 6624 return nil 6625} 6626 6627// SetAuthMode sets the AuthMode field's value. 6628func (s *CreateStudioInput) SetAuthMode(v string) *CreateStudioInput { 6629 s.AuthMode = &v 6630 return s 6631} 6632 6633// SetDefaultS3Location sets the DefaultS3Location field's value. 6634func (s *CreateStudioInput) SetDefaultS3Location(v string) *CreateStudioInput { 6635 s.DefaultS3Location = &v 6636 return s 6637} 6638 6639// SetDescription sets the Description field's value. 6640func (s *CreateStudioInput) SetDescription(v string) *CreateStudioInput { 6641 s.Description = &v 6642 return s 6643} 6644 6645// SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. 6646func (s *CreateStudioInput) SetEngineSecurityGroupId(v string) *CreateStudioInput { 6647 s.EngineSecurityGroupId = &v 6648 return s 6649} 6650 6651// SetName sets the Name field's value. 6652func (s *CreateStudioInput) SetName(v string) *CreateStudioInput { 6653 s.Name = &v 6654 return s 6655} 6656 6657// SetServiceRole sets the ServiceRole field's value. 6658func (s *CreateStudioInput) SetServiceRole(v string) *CreateStudioInput { 6659 s.ServiceRole = &v 6660 return s 6661} 6662 6663// SetSubnetIds sets the SubnetIds field's value. 6664func (s *CreateStudioInput) SetSubnetIds(v []*string) *CreateStudioInput { 6665 s.SubnetIds = v 6666 return s 6667} 6668 6669// SetTags sets the Tags field's value. 6670func (s *CreateStudioInput) SetTags(v []*Tag) *CreateStudioInput { 6671 s.Tags = v 6672 return s 6673} 6674 6675// SetUserRole sets the UserRole field's value. 6676func (s *CreateStudioInput) SetUserRole(v string) *CreateStudioInput { 6677 s.UserRole = &v 6678 return s 6679} 6680 6681// SetVpcId sets the VpcId field's value. 6682func (s *CreateStudioInput) SetVpcId(v string) *CreateStudioInput { 6683 s.VpcId = &v 6684 return s 6685} 6686 6687// SetWorkspaceSecurityGroupId sets the WorkspaceSecurityGroupId field's value. 6688func (s *CreateStudioInput) SetWorkspaceSecurityGroupId(v string) *CreateStudioInput { 6689 s.WorkspaceSecurityGroupId = &v 6690 return s 6691} 6692 6693type CreateStudioOutput struct { 6694 _ struct{} `type:"structure"` 6695 6696 // The ID of the Amazon EMR Studio. 6697 StudioId *string `type:"string"` 6698 6699 // The unique Studio access URL. 6700 Url *string `type:"string"` 6701} 6702 6703// String returns the string representation 6704func (s CreateStudioOutput) String() string { 6705 return awsutil.Prettify(s) 6706} 6707 6708// GoString returns the string representation 6709func (s CreateStudioOutput) GoString() string { 6710 return s.String() 6711} 6712 6713// SetStudioId sets the StudioId field's value. 6714func (s *CreateStudioOutput) SetStudioId(v string) *CreateStudioOutput { 6715 s.StudioId = &v 6716 return s 6717} 6718 6719// SetUrl sets the Url field's value. 6720func (s *CreateStudioOutput) SetUrl(v string) *CreateStudioOutput { 6721 s.Url = &v 6722 return s 6723} 6724 6725type CreateStudioSessionMappingInput struct { 6726 _ struct{} `type:"structure"` 6727 6728 // The globally unique identifier (GUID) of the user or group from the AWS SSO 6729 // Identity Store. For more information, see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) 6730 // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) 6731 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 6732 // must be specified. 6733 IdentityId *string `type:"string"` 6734 6735 // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 6736 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 6737 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 6738 // must be specified. 6739 IdentityName *string `type:"string"` 6740 6741 // Specifies whether the identity to map to the Amazon EMR Studio is a user 6742 // or a group. 6743 // 6744 // IdentityType is a required field 6745 IdentityType *string `type:"string" required:"true" enum:"IdentityType"` 6746 6747 // The Amazon Resource Name (ARN) for the session policy that will be applied 6748 // to the user or group. Session policies refine Studio user permissions without 6749 // the need to use multiple IAM user roles. 6750 // 6751 // SessionPolicyArn is a required field 6752 SessionPolicyArn *string `type:"string" required:"true"` 6753 6754 // The ID of the Amazon EMR Studio to which the user or group will be mapped. 6755 // 6756 // StudioId is a required field 6757 StudioId *string `type:"string" required:"true"` 6758} 6759 6760// String returns the string representation 6761func (s CreateStudioSessionMappingInput) String() string { 6762 return awsutil.Prettify(s) 6763} 6764 6765// GoString returns the string representation 6766func (s CreateStudioSessionMappingInput) GoString() string { 6767 return s.String() 6768} 6769 6770// Validate inspects the fields of the type to determine if they are valid. 6771func (s *CreateStudioSessionMappingInput) Validate() error { 6772 invalidParams := request.ErrInvalidParams{Context: "CreateStudioSessionMappingInput"} 6773 if s.IdentityType == nil { 6774 invalidParams.Add(request.NewErrParamRequired("IdentityType")) 6775 } 6776 if s.SessionPolicyArn == nil { 6777 invalidParams.Add(request.NewErrParamRequired("SessionPolicyArn")) 6778 } 6779 if s.StudioId == nil { 6780 invalidParams.Add(request.NewErrParamRequired("StudioId")) 6781 } 6782 6783 if invalidParams.Len() > 0 { 6784 return invalidParams 6785 } 6786 return nil 6787} 6788 6789// SetIdentityId sets the IdentityId field's value. 6790func (s *CreateStudioSessionMappingInput) SetIdentityId(v string) *CreateStudioSessionMappingInput { 6791 s.IdentityId = &v 6792 return s 6793} 6794 6795// SetIdentityName sets the IdentityName field's value. 6796func (s *CreateStudioSessionMappingInput) SetIdentityName(v string) *CreateStudioSessionMappingInput { 6797 s.IdentityName = &v 6798 return s 6799} 6800 6801// SetIdentityType sets the IdentityType field's value. 6802func (s *CreateStudioSessionMappingInput) SetIdentityType(v string) *CreateStudioSessionMappingInput { 6803 s.IdentityType = &v 6804 return s 6805} 6806 6807// SetSessionPolicyArn sets the SessionPolicyArn field's value. 6808func (s *CreateStudioSessionMappingInput) SetSessionPolicyArn(v string) *CreateStudioSessionMappingInput { 6809 s.SessionPolicyArn = &v 6810 return s 6811} 6812 6813// SetStudioId sets the StudioId field's value. 6814func (s *CreateStudioSessionMappingInput) SetStudioId(v string) *CreateStudioSessionMappingInput { 6815 s.StudioId = &v 6816 return s 6817} 6818 6819type CreateStudioSessionMappingOutput struct { 6820 _ struct{} `type:"structure"` 6821} 6822 6823// String returns the string representation 6824func (s CreateStudioSessionMappingOutput) String() string { 6825 return awsutil.Prettify(s) 6826} 6827 6828// GoString returns the string representation 6829func (s CreateStudioSessionMappingOutput) GoString() string { 6830 return s.String() 6831} 6832 6833type DeleteSecurityConfigurationInput struct { 6834 _ struct{} `type:"structure"` 6835 6836 // The name of the security configuration. 6837 // 6838 // Name is a required field 6839 Name *string `type:"string" required:"true"` 6840} 6841 6842// String returns the string representation 6843func (s DeleteSecurityConfigurationInput) String() string { 6844 return awsutil.Prettify(s) 6845} 6846 6847// GoString returns the string representation 6848func (s DeleteSecurityConfigurationInput) GoString() string { 6849 return s.String() 6850} 6851 6852// Validate inspects the fields of the type to determine if they are valid. 6853func (s *DeleteSecurityConfigurationInput) Validate() error { 6854 invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} 6855 if s.Name == nil { 6856 invalidParams.Add(request.NewErrParamRequired("Name")) 6857 } 6858 6859 if invalidParams.Len() > 0 { 6860 return invalidParams 6861 } 6862 return nil 6863} 6864 6865// SetName sets the Name field's value. 6866func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { 6867 s.Name = &v 6868 return s 6869} 6870 6871type DeleteSecurityConfigurationOutput struct { 6872 _ struct{} `type:"structure"` 6873} 6874 6875// String returns the string representation 6876func (s DeleteSecurityConfigurationOutput) String() string { 6877 return awsutil.Prettify(s) 6878} 6879 6880// GoString returns the string representation 6881func (s DeleteSecurityConfigurationOutput) GoString() string { 6882 return s.String() 6883} 6884 6885type DeleteStudioInput struct { 6886 _ struct{} `type:"structure"` 6887 6888 // The ID of the Amazon EMR Studio. 6889 // 6890 // StudioId is a required field 6891 StudioId *string `type:"string" required:"true"` 6892} 6893 6894// String returns the string representation 6895func (s DeleteStudioInput) String() string { 6896 return awsutil.Prettify(s) 6897} 6898 6899// GoString returns the string representation 6900func (s DeleteStudioInput) GoString() string { 6901 return s.String() 6902} 6903 6904// Validate inspects the fields of the type to determine if they are valid. 6905func (s *DeleteStudioInput) Validate() error { 6906 invalidParams := request.ErrInvalidParams{Context: "DeleteStudioInput"} 6907 if s.StudioId == nil { 6908 invalidParams.Add(request.NewErrParamRequired("StudioId")) 6909 } 6910 6911 if invalidParams.Len() > 0 { 6912 return invalidParams 6913 } 6914 return nil 6915} 6916 6917// SetStudioId sets the StudioId field's value. 6918func (s *DeleteStudioInput) SetStudioId(v string) *DeleteStudioInput { 6919 s.StudioId = &v 6920 return s 6921} 6922 6923type DeleteStudioOutput struct { 6924 _ struct{} `type:"structure"` 6925} 6926 6927// String returns the string representation 6928func (s DeleteStudioOutput) String() string { 6929 return awsutil.Prettify(s) 6930} 6931 6932// GoString returns the string representation 6933func (s DeleteStudioOutput) GoString() string { 6934 return s.String() 6935} 6936 6937type DeleteStudioSessionMappingInput struct { 6938 _ struct{} `type:"structure"` 6939 6940 // The globally unique identifier (GUID) of the user or group to remove from 6941 // the Amazon EMR Studio. For more information, see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) 6942 // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) 6943 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 6944 // must be specified. 6945 IdentityId *string `type:"string"` 6946 6947 // The name of the user name or group to remove from the Amazon EMR Studio. 6948 // For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 6949 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 6950 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 6951 // must be specified. 6952 IdentityName *string `type:"string"` 6953 6954 // Specifies whether the identity to delete from the Amazon EMR Studio is a 6955 // user or a group. 6956 // 6957 // IdentityType is a required field 6958 IdentityType *string `type:"string" required:"true" enum:"IdentityType"` 6959 6960 // The ID of the Amazon EMR Studio. 6961 // 6962 // StudioId is a required field 6963 StudioId *string `type:"string" required:"true"` 6964} 6965 6966// String returns the string representation 6967func (s DeleteStudioSessionMappingInput) String() string { 6968 return awsutil.Prettify(s) 6969} 6970 6971// GoString returns the string representation 6972func (s DeleteStudioSessionMappingInput) GoString() string { 6973 return s.String() 6974} 6975 6976// Validate inspects the fields of the type to determine if they are valid. 6977func (s *DeleteStudioSessionMappingInput) Validate() error { 6978 invalidParams := request.ErrInvalidParams{Context: "DeleteStudioSessionMappingInput"} 6979 if s.IdentityType == nil { 6980 invalidParams.Add(request.NewErrParamRequired("IdentityType")) 6981 } 6982 if s.StudioId == nil { 6983 invalidParams.Add(request.NewErrParamRequired("StudioId")) 6984 } 6985 6986 if invalidParams.Len() > 0 { 6987 return invalidParams 6988 } 6989 return nil 6990} 6991 6992// SetIdentityId sets the IdentityId field's value. 6993func (s *DeleteStudioSessionMappingInput) SetIdentityId(v string) *DeleteStudioSessionMappingInput { 6994 s.IdentityId = &v 6995 return s 6996} 6997 6998// SetIdentityName sets the IdentityName field's value. 6999func (s *DeleteStudioSessionMappingInput) SetIdentityName(v string) *DeleteStudioSessionMappingInput { 7000 s.IdentityName = &v 7001 return s 7002} 7003 7004// SetIdentityType sets the IdentityType field's value. 7005func (s *DeleteStudioSessionMappingInput) SetIdentityType(v string) *DeleteStudioSessionMappingInput { 7006 s.IdentityType = &v 7007 return s 7008} 7009 7010// SetStudioId sets the StudioId field's value. 7011func (s *DeleteStudioSessionMappingInput) SetStudioId(v string) *DeleteStudioSessionMappingInput { 7012 s.StudioId = &v 7013 return s 7014} 7015 7016type DeleteStudioSessionMappingOutput struct { 7017 _ struct{} `type:"structure"` 7018} 7019 7020// String returns the string representation 7021func (s DeleteStudioSessionMappingOutput) String() string { 7022 return awsutil.Prettify(s) 7023} 7024 7025// GoString returns the string representation 7026func (s DeleteStudioSessionMappingOutput) GoString() string { 7027 return s.String() 7028} 7029 7030// This input determines which cluster to describe. 7031type DescribeClusterInput struct { 7032 _ struct{} `type:"structure"` 7033 7034 // The identifier of the cluster to describe. 7035 // 7036 // ClusterId is a required field 7037 ClusterId *string `type:"string" required:"true"` 7038} 7039 7040// String returns the string representation 7041func (s DescribeClusterInput) String() string { 7042 return awsutil.Prettify(s) 7043} 7044 7045// GoString returns the string representation 7046func (s DescribeClusterInput) GoString() string { 7047 return s.String() 7048} 7049 7050// Validate inspects the fields of the type to determine if they are valid. 7051func (s *DescribeClusterInput) Validate() error { 7052 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 7053 if s.ClusterId == nil { 7054 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 7055 } 7056 7057 if invalidParams.Len() > 0 { 7058 return invalidParams 7059 } 7060 return nil 7061} 7062 7063// SetClusterId sets the ClusterId field's value. 7064func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput { 7065 s.ClusterId = &v 7066 return s 7067} 7068 7069// This output contains the description of the cluster. 7070type DescribeClusterOutput struct { 7071 _ struct{} `type:"structure"` 7072 7073 // This output contains the details for the requested cluster. 7074 Cluster *Cluster `type:"structure"` 7075} 7076 7077// String returns the string representation 7078func (s DescribeClusterOutput) String() string { 7079 return awsutil.Prettify(s) 7080} 7081 7082// GoString returns the string representation 7083func (s DescribeClusterOutput) GoString() string { 7084 return s.String() 7085} 7086 7087// SetCluster sets the Cluster field's value. 7088func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput { 7089 s.Cluster = v 7090 return s 7091} 7092 7093// The input for the DescribeJobFlows operation. 7094type DescribeJobFlowsInput struct { 7095 _ struct{} `type:"structure"` 7096 7097 // Return only job flows created after this date and time. 7098 CreatedAfter *time.Time `type:"timestamp"` 7099 7100 // Return only job flows created before this date and time. 7101 CreatedBefore *time.Time `type:"timestamp"` 7102 7103 // Return only job flows whose job flow ID is contained in this list. 7104 JobFlowIds []*string `type:"list"` 7105 7106 // Return only job flows whose state is contained in this list. 7107 JobFlowStates []*string `type:"list"` 7108} 7109 7110// String returns the string representation 7111func (s DescribeJobFlowsInput) String() string { 7112 return awsutil.Prettify(s) 7113} 7114 7115// GoString returns the string representation 7116func (s DescribeJobFlowsInput) GoString() string { 7117 return s.String() 7118} 7119 7120// SetCreatedAfter sets the CreatedAfter field's value. 7121func (s *DescribeJobFlowsInput) SetCreatedAfter(v time.Time) *DescribeJobFlowsInput { 7122 s.CreatedAfter = &v 7123 return s 7124} 7125 7126// SetCreatedBefore sets the CreatedBefore field's value. 7127func (s *DescribeJobFlowsInput) SetCreatedBefore(v time.Time) *DescribeJobFlowsInput { 7128 s.CreatedBefore = &v 7129 return s 7130} 7131 7132// SetJobFlowIds sets the JobFlowIds field's value. 7133func (s *DescribeJobFlowsInput) SetJobFlowIds(v []*string) *DescribeJobFlowsInput { 7134 s.JobFlowIds = v 7135 return s 7136} 7137 7138// SetJobFlowStates sets the JobFlowStates field's value. 7139func (s *DescribeJobFlowsInput) SetJobFlowStates(v []*string) *DescribeJobFlowsInput { 7140 s.JobFlowStates = v 7141 return s 7142} 7143 7144// The output for the DescribeJobFlows operation. 7145type DescribeJobFlowsOutput struct { 7146 _ struct{} `type:"structure"` 7147 7148 // A list of job flows matching the parameters supplied. 7149 JobFlows []*JobFlowDetail `type:"list"` 7150} 7151 7152// String returns the string representation 7153func (s DescribeJobFlowsOutput) String() string { 7154 return awsutil.Prettify(s) 7155} 7156 7157// GoString returns the string representation 7158func (s DescribeJobFlowsOutput) GoString() string { 7159 return s.String() 7160} 7161 7162// SetJobFlows sets the JobFlows field's value. 7163func (s *DescribeJobFlowsOutput) SetJobFlows(v []*JobFlowDetail) *DescribeJobFlowsOutput { 7164 s.JobFlows = v 7165 return s 7166} 7167 7168type DescribeNotebookExecutionInput struct { 7169 _ struct{} `type:"structure"` 7170 7171 // The unique identifier of the notebook execution. 7172 // 7173 // NotebookExecutionId is a required field 7174 NotebookExecutionId *string `type:"string" required:"true"` 7175} 7176 7177// String returns the string representation 7178func (s DescribeNotebookExecutionInput) String() string { 7179 return awsutil.Prettify(s) 7180} 7181 7182// GoString returns the string representation 7183func (s DescribeNotebookExecutionInput) GoString() string { 7184 return s.String() 7185} 7186 7187// Validate inspects the fields of the type to determine if they are valid. 7188func (s *DescribeNotebookExecutionInput) Validate() error { 7189 invalidParams := request.ErrInvalidParams{Context: "DescribeNotebookExecutionInput"} 7190 if s.NotebookExecutionId == nil { 7191 invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) 7192 } 7193 7194 if invalidParams.Len() > 0 { 7195 return invalidParams 7196 } 7197 return nil 7198} 7199 7200// SetNotebookExecutionId sets the NotebookExecutionId field's value. 7201func (s *DescribeNotebookExecutionInput) SetNotebookExecutionId(v string) *DescribeNotebookExecutionInput { 7202 s.NotebookExecutionId = &v 7203 return s 7204} 7205 7206type DescribeNotebookExecutionOutput struct { 7207 _ struct{} `type:"structure"` 7208 7209 // Properties of the notebook execution. 7210 NotebookExecution *NotebookExecution `type:"structure"` 7211} 7212 7213// String returns the string representation 7214func (s DescribeNotebookExecutionOutput) String() string { 7215 return awsutil.Prettify(s) 7216} 7217 7218// GoString returns the string representation 7219func (s DescribeNotebookExecutionOutput) GoString() string { 7220 return s.String() 7221} 7222 7223// SetNotebookExecution sets the NotebookExecution field's value. 7224func (s *DescribeNotebookExecutionOutput) SetNotebookExecution(v *NotebookExecution) *DescribeNotebookExecutionOutput { 7225 s.NotebookExecution = v 7226 return s 7227} 7228 7229type DescribeSecurityConfigurationInput struct { 7230 _ struct{} `type:"structure"` 7231 7232 // The name of the security configuration. 7233 // 7234 // Name is a required field 7235 Name *string `type:"string" required:"true"` 7236} 7237 7238// String returns the string representation 7239func (s DescribeSecurityConfigurationInput) String() string { 7240 return awsutil.Prettify(s) 7241} 7242 7243// GoString returns the string representation 7244func (s DescribeSecurityConfigurationInput) GoString() string { 7245 return s.String() 7246} 7247 7248// Validate inspects the fields of the type to determine if they are valid. 7249func (s *DescribeSecurityConfigurationInput) Validate() error { 7250 invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"} 7251 if s.Name == nil { 7252 invalidParams.Add(request.NewErrParamRequired("Name")) 7253 } 7254 7255 if invalidParams.Len() > 0 { 7256 return invalidParams 7257 } 7258 return nil 7259} 7260 7261// SetName sets the Name field's value. 7262func (s *DescribeSecurityConfigurationInput) SetName(v string) *DescribeSecurityConfigurationInput { 7263 s.Name = &v 7264 return s 7265} 7266 7267type DescribeSecurityConfigurationOutput struct { 7268 _ struct{} `type:"structure"` 7269 7270 // The date and time the security configuration was created 7271 CreationDateTime *time.Time `type:"timestamp"` 7272 7273 // The name of the security configuration. 7274 Name *string `type:"string"` 7275 7276 // The security configuration details in JSON format. 7277 SecurityConfiguration *string `type:"string"` 7278} 7279 7280// String returns the string representation 7281func (s DescribeSecurityConfigurationOutput) String() string { 7282 return awsutil.Prettify(s) 7283} 7284 7285// GoString returns the string representation 7286func (s DescribeSecurityConfigurationOutput) GoString() string { 7287 return s.String() 7288} 7289 7290// SetCreationDateTime sets the CreationDateTime field's value. 7291func (s *DescribeSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *DescribeSecurityConfigurationOutput { 7292 s.CreationDateTime = &v 7293 return s 7294} 7295 7296// SetName sets the Name field's value. 7297func (s *DescribeSecurityConfigurationOutput) SetName(v string) *DescribeSecurityConfigurationOutput { 7298 s.Name = &v 7299 return s 7300} 7301 7302// SetSecurityConfiguration sets the SecurityConfiguration field's value. 7303func (s *DescribeSecurityConfigurationOutput) SetSecurityConfiguration(v string) *DescribeSecurityConfigurationOutput { 7304 s.SecurityConfiguration = &v 7305 return s 7306} 7307 7308// This input determines which step to describe. 7309type DescribeStepInput struct { 7310 _ struct{} `type:"structure"` 7311 7312 // The identifier of the cluster with steps to describe. 7313 // 7314 // ClusterId is a required field 7315 ClusterId *string `type:"string" required:"true"` 7316 7317 // The identifier of the step to describe. 7318 // 7319 // StepId is a required field 7320 StepId *string `type:"string" required:"true"` 7321} 7322 7323// String returns the string representation 7324func (s DescribeStepInput) String() string { 7325 return awsutil.Prettify(s) 7326} 7327 7328// GoString returns the string representation 7329func (s DescribeStepInput) GoString() string { 7330 return s.String() 7331} 7332 7333// Validate inspects the fields of the type to determine if they are valid. 7334func (s *DescribeStepInput) Validate() error { 7335 invalidParams := request.ErrInvalidParams{Context: "DescribeStepInput"} 7336 if s.ClusterId == nil { 7337 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 7338 } 7339 if s.StepId == nil { 7340 invalidParams.Add(request.NewErrParamRequired("StepId")) 7341 } 7342 7343 if invalidParams.Len() > 0 { 7344 return invalidParams 7345 } 7346 return nil 7347} 7348 7349// SetClusterId sets the ClusterId field's value. 7350func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput { 7351 s.ClusterId = &v 7352 return s 7353} 7354 7355// SetStepId sets the StepId field's value. 7356func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput { 7357 s.StepId = &v 7358 return s 7359} 7360 7361// This output contains the description of the cluster step. 7362type DescribeStepOutput struct { 7363 _ struct{} `type:"structure"` 7364 7365 // The step details for the requested step identifier. 7366 Step *Step `type:"structure"` 7367} 7368 7369// String returns the string representation 7370func (s DescribeStepOutput) String() string { 7371 return awsutil.Prettify(s) 7372} 7373 7374// GoString returns the string representation 7375func (s DescribeStepOutput) GoString() string { 7376 return s.String() 7377} 7378 7379// SetStep sets the Step field's value. 7380func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput { 7381 s.Step = v 7382 return s 7383} 7384 7385type DescribeStudioInput struct { 7386 _ struct{} `type:"structure"` 7387 7388 // The Amazon EMR Studio ID. 7389 // 7390 // StudioId is a required field 7391 StudioId *string `type:"string" required:"true"` 7392} 7393 7394// String returns the string representation 7395func (s DescribeStudioInput) String() string { 7396 return awsutil.Prettify(s) 7397} 7398 7399// GoString returns the string representation 7400func (s DescribeStudioInput) GoString() string { 7401 return s.String() 7402} 7403 7404// Validate inspects the fields of the type to determine if they are valid. 7405func (s *DescribeStudioInput) Validate() error { 7406 invalidParams := request.ErrInvalidParams{Context: "DescribeStudioInput"} 7407 if s.StudioId == nil { 7408 invalidParams.Add(request.NewErrParamRequired("StudioId")) 7409 } 7410 7411 if invalidParams.Len() > 0 { 7412 return invalidParams 7413 } 7414 return nil 7415} 7416 7417// SetStudioId sets the StudioId field's value. 7418func (s *DescribeStudioInput) SetStudioId(v string) *DescribeStudioInput { 7419 s.StudioId = &v 7420 return s 7421} 7422 7423type DescribeStudioOutput struct { 7424 _ struct{} `type:"structure"` 7425 7426 // The Amazon EMR Studio details. 7427 Studio *Studio `type:"structure"` 7428} 7429 7430// String returns the string representation 7431func (s DescribeStudioOutput) String() string { 7432 return awsutil.Prettify(s) 7433} 7434 7435// GoString returns the string representation 7436func (s DescribeStudioOutput) GoString() string { 7437 return s.String() 7438} 7439 7440// SetStudio sets the Studio field's value. 7441func (s *DescribeStudioOutput) SetStudio(v *Studio) *DescribeStudioOutput { 7442 s.Studio = v 7443 return s 7444} 7445 7446// Configuration of requested EBS block device associated with the instance 7447// group. 7448type EbsBlockDevice struct { 7449 _ struct{} `type:"structure"` 7450 7451 // The device name that is exposed to the instance, such as /dev/sdh. 7452 Device *string `type:"string"` 7453 7454 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 7455 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 7456 VolumeSpecification *VolumeSpecification `type:"structure"` 7457} 7458 7459// String returns the string representation 7460func (s EbsBlockDevice) String() string { 7461 return awsutil.Prettify(s) 7462} 7463 7464// GoString returns the string representation 7465func (s EbsBlockDevice) GoString() string { 7466 return s.String() 7467} 7468 7469// SetDevice sets the Device field's value. 7470func (s *EbsBlockDevice) SetDevice(v string) *EbsBlockDevice { 7471 s.Device = &v 7472 return s 7473} 7474 7475// SetVolumeSpecification sets the VolumeSpecification field's value. 7476func (s *EbsBlockDevice) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDevice { 7477 s.VolumeSpecification = v 7478 return s 7479} 7480 7481// Configuration of requested EBS block device associated with the instance 7482// group with count of volumes that will be associated to every instance. 7483type EbsBlockDeviceConfig struct { 7484 _ struct{} `type:"structure"` 7485 7486 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 7487 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 7488 // 7489 // VolumeSpecification is a required field 7490 VolumeSpecification *VolumeSpecification `type:"structure" required:"true"` 7491 7492 // Number of EBS volumes with a specific volume configuration that will be associated 7493 // with every instance in the instance group 7494 VolumesPerInstance *int64 `type:"integer"` 7495} 7496 7497// String returns the string representation 7498func (s EbsBlockDeviceConfig) String() string { 7499 return awsutil.Prettify(s) 7500} 7501 7502// GoString returns the string representation 7503func (s EbsBlockDeviceConfig) GoString() string { 7504 return s.String() 7505} 7506 7507// Validate inspects the fields of the type to determine if they are valid. 7508func (s *EbsBlockDeviceConfig) Validate() error { 7509 invalidParams := request.ErrInvalidParams{Context: "EbsBlockDeviceConfig"} 7510 if s.VolumeSpecification == nil { 7511 invalidParams.Add(request.NewErrParamRequired("VolumeSpecification")) 7512 } 7513 if s.VolumeSpecification != nil { 7514 if err := s.VolumeSpecification.Validate(); err != nil { 7515 invalidParams.AddNested("VolumeSpecification", err.(request.ErrInvalidParams)) 7516 } 7517 } 7518 7519 if invalidParams.Len() > 0 { 7520 return invalidParams 7521 } 7522 return nil 7523} 7524 7525// SetVolumeSpecification sets the VolumeSpecification field's value. 7526func (s *EbsBlockDeviceConfig) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDeviceConfig { 7527 s.VolumeSpecification = v 7528 return s 7529} 7530 7531// SetVolumesPerInstance sets the VolumesPerInstance field's value. 7532func (s *EbsBlockDeviceConfig) SetVolumesPerInstance(v int64) *EbsBlockDeviceConfig { 7533 s.VolumesPerInstance = &v 7534 return s 7535} 7536 7537// The Amazon EBS configuration of a cluster instance. 7538type EbsConfiguration struct { 7539 _ struct{} `type:"structure"` 7540 7541 // An array of Amazon EBS volume specifications attached to a cluster instance. 7542 EbsBlockDeviceConfigs []*EbsBlockDeviceConfig `type:"list"` 7543 7544 // Indicates whether an Amazon EBS volume is EBS-optimized. 7545 EbsOptimized *bool `type:"boolean"` 7546} 7547 7548// String returns the string representation 7549func (s EbsConfiguration) String() string { 7550 return awsutil.Prettify(s) 7551} 7552 7553// GoString returns the string representation 7554func (s EbsConfiguration) GoString() string { 7555 return s.String() 7556} 7557 7558// Validate inspects the fields of the type to determine if they are valid. 7559func (s *EbsConfiguration) Validate() error { 7560 invalidParams := request.ErrInvalidParams{Context: "EbsConfiguration"} 7561 if s.EbsBlockDeviceConfigs != nil { 7562 for i, v := range s.EbsBlockDeviceConfigs { 7563 if v == nil { 7564 continue 7565 } 7566 if err := v.Validate(); err != nil { 7567 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EbsBlockDeviceConfigs", i), err.(request.ErrInvalidParams)) 7568 } 7569 } 7570 } 7571 7572 if invalidParams.Len() > 0 { 7573 return invalidParams 7574 } 7575 return nil 7576} 7577 7578// SetEbsBlockDeviceConfigs sets the EbsBlockDeviceConfigs field's value. 7579func (s *EbsConfiguration) SetEbsBlockDeviceConfigs(v []*EbsBlockDeviceConfig) *EbsConfiguration { 7580 s.EbsBlockDeviceConfigs = v 7581 return s 7582} 7583 7584// SetEbsOptimized sets the EbsOptimized field's value. 7585func (s *EbsConfiguration) SetEbsOptimized(v bool) *EbsConfiguration { 7586 s.EbsOptimized = &v 7587 return s 7588} 7589 7590// EBS block device that's attached to an EC2 instance. 7591type EbsVolume struct { 7592 _ struct{} `type:"structure"` 7593 7594 // The device name that is exposed to the instance, such as /dev/sdh. 7595 Device *string `type:"string"` 7596 7597 // The volume identifier of the EBS volume. 7598 VolumeId *string `type:"string"` 7599} 7600 7601// String returns the string representation 7602func (s EbsVolume) String() string { 7603 return awsutil.Prettify(s) 7604} 7605 7606// GoString returns the string representation 7607func (s EbsVolume) GoString() string { 7608 return s.String() 7609} 7610 7611// SetDevice sets the Device field's value. 7612func (s *EbsVolume) SetDevice(v string) *EbsVolume { 7613 s.Device = &v 7614 return s 7615} 7616 7617// SetVolumeId sets the VolumeId field's value. 7618func (s *EbsVolume) SetVolumeId(v string) *EbsVolume { 7619 s.VolumeId = &v 7620 return s 7621} 7622 7623// Provides information about the EC2 instances in a cluster grouped by category. 7624// For example, key name, subnet ID, IAM instance profile, and so on. 7625type Ec2InstanceAttributes struct { 7626 _ struct{} `type:"structure"` 7627 7628 // A list of additional Amazon EC2 security group IDs for the master node. 7629 AdditionalMasterSecurityGroups []*string `type:"list"` 7630 7631 // A list of additional Amazon EC2 security group IDs for the core and task 7632 // nodes. 7633 AdditionalSlaveSecurityGroups []*string `type:"list"` 7634 7635 // The Availability Zone in which the cluster will run. 7636 Ec2AvailabilityZone *string `type:"string"` 7637 7638 // The name of the Amazon EC2 key pair to use when connecting with SSH into 7639 // the master node as a user named "hadoop". 7640 Ec2KeyName *string `type:"string"` 7641 7642 // Set this parameter to the identifier of the Amazon VPC subnet where you want 7643 // the cluster to launch. If you do not specify this value, and your account 7644 // supports EC2-Classic, the cluster launches in EC2-Classic. 7645 Ec2SubnetId *string `type:"string"` 7646 7647 // The identifier of the Amazon EC2 security group for the master node. 7648 EmrManagedMasterSecurityGroup *string `type:"string"` 7649 7650 // The identifier of the Amazon EC2 security group for the core and task nodes. 7651 EmrManagedSlaveSecurityGroup *string `type:"string"` 7652 7653 // The IAM role that was specified when the cluster was launched. The EC2 instances 7654 // of the cluster assume this role. 7655 IamInstanceProfile *string `type:"string"` 7656 7657 // Applies to clusters configured with the instance fleets option. Specifies 7658 // one or more Availability Zones in which to launch EC2 cluster instances when 7659 // the EC2-Classic network configuration is supported. Amazon EMR chooses the 7660 // Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, 7661 // and then launches all cluster instances within that Availability Zone. If 7662 // you do not specify this value, Amazon EMR chooses the Availability Zone for 7663 // you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified 7664 // together. 7665 RequestedEc2AvailabilityZones []*string `type:"list"` 7666 7667 // Applies to clusters configured with the instance fleets option. Specifies 7668 // the unique identifier of one or more Amazon EC2 subnets in which to launch 7669 // EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR 7670 // chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, 7671 // and then launches all cluster instances within that Subnet. If this value 7672 // is not specified, and the account and Region support EC2-Classic networks, 7673 // the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones 7674 // instead of this setting. If EC2-Classic is not supported, and no Subnet is 7675 // specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and 7676 // RequestedEc2AvailabilityZones cannot be specified together. 7677 RequestedEc2SubnetIds []*string `type:"list"` 7678 7679 // The identifier of the Amazon EC2 security group for the Amazon EMR service 7680 // to access clusters in VPC private subnets. 7681 ServiceAccessSecurityGroup *string `type:"string"` 7682} 7683 7684// String returns the string representation 7685func (s Ec2InstanceAttributes) String() string { 7686 return awsutil.Prettify(s) 7687} 7688 7689// GoString returns the string representation 7690func (s Ec2InstanceAttributes) GoString() string { 7691 return s.String() 7692} 7693 7694// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 7695func (s *Ec2InstanceAttributes) SetAdditionalMasterSecurityGroups(v []*string) *Ec2InstanceAttributes { 7696 s.AdditionalMasterSecurityGroups = v 7697 return s 7698} 7699 7700// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 7701func (s *Ec2InstanceAttributes) SetAdditionalSlaveSecurityGroups(v []*string) *Ec2InstanceAttributes { 7702 s.AdditionalSlaveSecurityGroups = v 7703 return s 7704} 7705 7706// SetEc2AvailabilityZone sets the Ec2AvailabilityZone field's value. 7707func (s *Ec2InstanceAttributes) SetEc2AvailabilityZone(v string) *Ec2InstanceAttributes { 7708 s.Ec2AvailabilityZone = &v 7709 return s 7710} 7711 7712// SetEc2KeyName sets the Ec2KeyName field's value. 7713func (s *Ec2InstanceAttributes) SetEc2KeyName(v string) *Ec2InstanceAttributes { 7714 s.Ec2KeyName = &v 7715 return s 7716} 7717 7718// SetEc2SubnetId sets the Ec2SubnetId field's value. 7719func (s *Ec2InstanceAttributes) SetEc2SubnetId(v string) *Ec2InstanceAttributes { 7720 s.Ec2SubnetId = &v 7721 return s 7722} 7723 7724// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 7725func (s *Ec2InstanceAttributes) SetEmrManagedMasterSecurityGroup(v string) *Ec2InstanceAttributes { 7726 s.EmrManagedMasterSecurityGroup = &v 7727 return s 7728} 7729 7730// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 7731func (s *Ec2InstanceAttributes) SetEmrManagedSlaveSecurityGroup(v string) *Ec2InstanceAttributes { 7732 s.EmrManagedSlaveSecurityGroup = &v 7733 return s 7734} 7735 7736// SetIamInstanceProfile sets the IamInstanceProfile field's value. 7737func (s *Ec2InstanceAttributes) SetIamInstanceProfile(v string) *Ec2InstanceAttributes { 7738 s.IamInstanceProfile = &v 7739 return s 7740} 7741 7742// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value. 7743func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes { 7744 s.RequestedEc2AvailabilityZones = v 7745 return s 7746} 7747 7748// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value. 7749func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes { 7750 s.RequestedEc2SubnetIds = v 7751 return s 7752} 7753 7754// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 7755func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes { 7756 s.ServiceAccessSecurityGroup = &v 7757 return s 7758} 7759 7760// Specifies the execution engine (cluster) to run the notebook and perform 7761// the notebook execution, for example, an EMR cluster. 7762type ExecutionEngineConfig struct { 7763 _ struct{} `type:"structure"` 7764 7765 // The unique identifier of the execution engine. For an EMR cluster, this is 7766 // the cluster ID. 7767 // 7768 // Id is a required field 7769 Id *string `type:"string" required:"true"` 7770 7771 // An optional unique ID of an EC2 security group to associate with the master 7772 // instance of the EMR cluster for this notebook execution. For more information 7773 // see Specifying EC2 Security Groups for EMR Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) 7774 // in the EMR Management Guide. 7775 MasterInstanceSecurityGroupId *string `type:"string"` 7776 7777 // The type of execution engine. A value of EMR specifies an EMR cluster. 7778 Type *string `type:"string" enum:"ExecutionEngineType"` 7779} 7780 7781// String returns the string representation 7782func (s ExecutionEngineConfig) String() string { 7783 return awsutil.Prettify(s) 7784} 7785 7786// GoString returns the string representation 7787func (s ExecutionEngineConfig) GoString() string { 7788 return s.String() 7789} 7790 7791// Validate inspects the fields of the type to determine if they are valid. 7792func (s *ExecutionEngineConfig) Validate() error { 7793 invalidParams := request.ErrInvalidParams{Context: "ExecutionEngineConfig"} 7794 if s.Id == nil { 7795 invalidParams.Add(request.NewErrParamRequired("Id")) 7796 } 7797 7798 if invalidParams.Len() > 0 { 7799 return invalidParams 7800 } 7801 return nil 7802} 7803 7804// SetId sets the Id field's value. 7805func (s *ExecutionEngineConfig) SetId(v string) *ExecutionEngineConfig { 7806 s.Id = &v 7807 return s 7808} 7809 7810// SetMasterInstanceSecurityGroupId sets the MasterInstanceSecurityGroupId field's value. 7811func (s *ExecutionEngineConfig) SetMasterInstanceSecurityGroupId(v string) *ExecutionEngineConfig { 7812 s.MasterInstanceSecurityGroupId = &v 7813 return s 7814} 7815 7816// SetType sets the Type field's value. 7817func (s *ExecutionEngineConfig) SetType(v string) *ExecutionEngineConfig { 7818 s.Type = &v 7819 return s 7820} 7821 7822// The details of the step failure. The service attempts to detect the root 7823// cause for many common failures. 7824type FailureDetails struct { 7825 _ struct{} `type:"structure"` 7826 7827 // The path to the log file where the step failure root cause was originally 7828 // recorded. 7829 LogFile *string `type:"string"` 7830 7831 // The descriptive message including the error the Amazon EMR service has identified 7832 // as the cause of step failure. This is text from an error log that describes 7833 // the root cause of the failure. 7834 Message *string `type:"string"` 7835 7836 // The reason for the step failure. In the case where the service cannot successfully 7837 // determine the root cause of the failure, it returns "Unknown Error" as a 7838 // reason. 7839 Reason *string `type:"string"` 7840} 7841 7842// String returns the string representation 7843func (s FailureDetails) String() string { 7844 return awsutil.Prettify(s) 7845} 7846 7847// GoString returns the string representation 7848func (s FailureDetails) GoString() string { 7849 return s.String() 7850} 7851 7852// SetLogFile sets the LogFile field's value. 7853func (s *FailureDetails) SetLogFile(v string) *FailureDetails { 7854 s.LogFile = &v 7855 return s 7856} 7857 7858// SetMessage sets the Message field's value. 7859func (s *FailureDetails) SetMessage(v string) *FailureDetails { 7860 s.Message = &v 7861 return s 7862} 7863 7864// SetReason sets the Reason field's value. 7865func (s *FailureDetails) SetReason(v string) *FailureDetails { 7866 s.Reason = &v 7867 return s 7868} 7869 7870type GetBlockPublicAccessConfigurationInput struct { 7871 _ struct{} `type:"structure"` 7872} 7873 7874// String returns the string representation 7875func (s GetBlockPublicAccessConfigurationInput) String() string { 7876 return awsutil.Prettify(s) 7877} 7878 7879// GoString returns the string representation 7880func (s GetBlockPublicAccessConfigurationInput) GoString() string { 7881 return s.String() 7882} 7883 7884type GetBlockPublicAccessConfigurationOutput struct { 7885 _ struct{} `type:"structure"` 7886 7887 // A configuration for Amazon EMR block public access. The configuration applies 7888 // to all clusters created in your account for the current Region. The configuration 7889 // specifies whether block public access is enabled. If block public access 7890 // is enabled, security groups associated with the cluster cannot have rules 7891 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 7892 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 7893 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 7894 // and public access is allowed on this port. You can change this by updating 7895 // the block public access configuration to remove the exception. 7896 // 7897 // For accounts that created clusters in a Region before November 25, 2019, 7898 // block public access is disabled by default in that Region. To use this feature, 7899 // you must manually enable and configure it. For accounts that did not create 7900 // an EMR cluster in a Region before this date, block public access is enabled 7901 // by default in that Region. 7902 // 7903 // BlockPublicAccessConfiguration is a required field 7904 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 7905 7906 // Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 7907 // using the PutBlockPublicAccessConfiguration action as well as the date and 7908 // time that the configuration was created. Each time a configuration for block 7909 // public access is updated, Amazon EMR updates this metadata. 7910 // 7911 // BlockPublicAccessConfigurationMetadata is a required field 7912 BlockPublicAccessConfigurationMetadata *BlockPublicAccessConfigurationMetadata `type:"structure" required:"true"` 7913} 7914 7915// String returns the string representation 7916func (s GetBlockPublicAccessConfigurationOutput) String() string { 7917 return awsutil.Prettify(s) 7918} 7919 7920// GoString returns the string representation 7921func (s GetBlockPublicAccessConfigurationOutput) GoString() string { 7922 return s.String() 7923} 7924 7925// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 7926func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *GetBlockPublicAccessConfigurationOutput { 7927 s.BlockPublicAccessConfiguration = v 7928 return s 7929} 7930 7931// SetBlockPublicAccessConfigurationMetadata sets the BlockPublicAccessConfigurationMetadata field's value. 7932func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfigurationMetadata(v *BlockPublicAccessConfigurationMetadata) *GetBlockPublicAccessConfigurationOutput { 7933 s.BlockPublicAccessConfigurationMetadata = v 7934 return s 7935} 7936 7937type GetManagedScalingPolicyInput struct { 7938 _ struct{} `type:"structure"` 7939 7940 // Specifies the ID of the cluster for which the managed scaling policy will 7941 // be fetched. 7942 // 7943 // ClusterId is a required field 7944 ClusterId *string `type:"string" required:"true"` 7945} 7946 7947// String returns the string representation 7948func (s GetManagedScalingPolicyInput) String() string { 7949 return awsutil.Prettify(s) 7950} 7951 7952// GoString returns the string representation 7953func (s GetManagedScalingPolicyInput) GoString() string { 7954 return s.String() 7955} 7956 7957// Validate inspects the fields of the type to determine if they are valid. 7958func (s *GetManagedScalingPolicyInput) Validate() error { 7959 invalidParams := request.ErrInvalidParams{Context: "GetManagedScalingPolicyInput"} 7960 if s.ClusterId == nil { 7961 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 7962 } 7963 7964 if invalidParams.Len() > 0 { 7965 return invalidParams 7966 } 7967 return nil 7968} 7969 7970// SetClusterId sets the ClusterId field's value. 7971func (s *GetManagedScalingPolicyInput) SetClusterId(v string) *GetManagedScalingPolicyInput { 7972 s.ClusterId = &v 7973 return s 7974} 7975 7976type GetManagedScalingPolicyOutput struct { 7977 _ struct{} `type:"structure"` 7978 7979 // Specifies the managed scaling policy that is attached to an Amazon EMR cluster. 7980 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 7981} 7982 7983// String returns the string representation 7984func (s GetManagedScalingPolicyOutput) String() string { 7985 return awsutil.Prettify(s) 7986} 7987 7988// GoString returns the string representation 7989func (s GetManagedScalingPolicyOutput) GoString() string { 7990 return s.String() 7991} 7992 7993// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 7994func (s *GetManagedScalingPolicyOutput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *GetManagedScalingPolicyOutput { 7995 s.ManagedScalingPolicy = v 7996 return s 7997} 7998 7999type GetStudioSessionMappingInput struct { 8000 _ struct{} `type:"structure"` 8001 8002 // The globally unique identifier (GUID) of the user or group. For more information, 8003 // see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) 8004 // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) 8005 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 8006 // must be specified. 8007 IdentityId *string `type:"string"` 8008 8009 // The name of the user or group to fetch. For more information, see UserName 8010 // (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 8011 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 8012 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 8013 // must be specified. 8014 IdentityName *string `type:"string"` 8015 8016 // Specifies whether the identity to fetch is a user or a group. 8017 // 8018 // IdentityType is a required field 8019 IdentityType *string `type:"string" required:"true" enum:"IdentityType"` 8020 8021 // The ID of the Amazon EMR Studio. 8022 // 8023 // StudioId is a required field 8024 StudioId *string `type:"string" required:"true"` 8025} 8026 8027// String returns the string representation 8028func (s GetStudioSessionMappingInput) String() string { 8029 return awsutil.Prettify(s) 8030} 8031 8032// GoString returns the string representation 8033func (s GetStudioSessionMappingInput) GoString() string { 8034 return s.String() 8035} 8036 8037// Validate inspects the fields of the type to determine if they are valid. 8038func (s *GetStudioSessionMappingInput) Validate() error { 8039 invalidParams := request.ErrInvalidParams{Context: "GetStudioSessionMappingInput"} 8040 if s.IdentityType == nil { 8041 invalidParams.Add(request.NewErrParamRequired("IdentityType")) 8042 } 8043 if s.StudioId == nil { 8044 invalidParams.Add(request.NewErrParamRequired("StudioId")) 8045 } 8046 8047 if invalidParams.Len() > 0 { 8048 return invalidParams 8049 } 8050 return nil 8051} 8052 8053// SetIdentityId sets the IdentityId field's value. 8054func (s *GetStudioSessionMappingInput) SetIdentityId(v string) *GetStudioSessionMappingInput { 8055 s.IdentityId = &v 8056 return s 8057} 8058 8059// SetIdentityName sets the IdentityName field's value. 8060func (s *GetStudioSessionMappingInput) SetIdentityName(v string) *GetStudioSessionMappingInput { 8061 s.IdentityName = &v 8062 return s 8063} 8064 8065// SetIdentityType sets the IdentityType field's value. 8066func (s *GetStudioSessionMappingInput) SetIdentityType(v string) *GetStudioSessionMappingInput { 8067 s.IdentityType = &v 8068 return s 8069} 8070 8071// SetStudioId sets the StudioId field's value. 8072func (s *GetStudioSessionMappingInput) SetStudioId(v string) *GetStudioSessionMappingInput { 8073 s.StudioId = &v 8074 return s 8075} 8076 8077type GetStudioSessionMappingOutput struct { 8078 _ struct{} `type:"structure"` 8079 8080 // The session mapping details for the specified Amazon EMR Studio and identity, 8081 // including session policy ARN and creation time. 8082 SessionMapping *SessionMappingDetail `type:"structure"` 8083} 8084 8085// String returns the string representation 8086func (s GetStudioSessionMappingOutput) String() string { 8087 return awsutil.Prettify(s) 8088} 8089 8090// GoString returns the string representation 8091func (s GetStudioSessionMappingOutput) GoString() string { 8092 return s.String() 8093} 8094 8095// SetSessionMapping sets the SessionMapping field's value. 8096func (s *GetStudioSessionMappingOutput) SetSessionMapping(v *SessionMappingDetail) *GetStudioSessionMappingOutput { 8097 s.SessionMapping = v 8098 return s 8099} 8100 8101// A job flow step consisting of a JAR file whose main function will be executed. 8102// The main function submits a job for Hadoop to execute and waits for the job 8103// to finish or fail. 8104type HadoopJarStepConfig struct { 8105 _ struct{} `type:"structure"` 8106 8107 // A list of command line arguments passed to the JAR file's main function when 8108 // executed. 8109 Args []*string `type:"list"` 8110 8111 // A path to a JAR file run during the step. 8112 // 8113 // Jar is a required field 8114 Jar *string `type:"string" required:"true"` 8115 8116 // The name of the main class in the specified Java file. If not specified, 8117 // the JAR file should specify a Main-Class in its manifest file. 8118 MainClass *string `type:"string"` 8119 8120 // A list of Java properties that are set when the step runs. You can use these 8121 // properties to pass key-value pairs to your main function. 8122 Properties []*KeyValue `type:"list"` 8123} 8124 8125// String returns the string representation 8126func (s HadoopJarStepConfig) String() string { 8127 return awsutil.Prettify(s) 8128} 8129 8130// GoString returns the string representation 8131func (s HadoopJarStepConfig) GoString() string { 8132 return s.String() 8133} 8134 8135// Validate inspects the fields of the type to determine if they are valid. 8136func (s *HadoopJarStepConfig) Validate() error { 8137 invalidParams := request.ErrInvalidParams{Context: "HadoopJarStepConfig"} 8138 if s.Jar == nil { 8139 invalidParams.Add(request.NewErrParamRequired("Jar")) 8140 } 8141 8142 if invalidParams.Len() > 0 { 8143 return invalidParams 8144 } 8145 return nil 8146} 8147 8148// SetArgs sets the Args field's value. 8149func (s *HadoopJarStepConfig) SetArgs(v []*string) *HadoopJarStepConfig { 8150 s.Args = v 8151 return s 8152} 8153 8154// SetJar sets the Jar field's value. 8155func (s *HadoopJarStepConfig) SetJar(v string) *HadoopJarStepConfig { 8156 s.Jar = &v 8157 return s 8158} 8159 8160// SetMainClass sets the MainClass field's value. 8161func (s *HadoopJarStepConfig) SetMainClass(v string) *HadoopJarStepConfig { 8162 s.MainClass = &v 8163 return s 8164} 8165 8166// SetProperties sets the Properties field's value. 8167func (s *HadoopJarStepConfig) SetProperties(v []*KeyValue) *HadoopJarStepConfig { 8168 s.Properties = v 8169 return s 8170} 8171 8172// A cluster step consisting of a JAR file whose main function will be executed. 8173// The main function submits a job for Hadoop to execute and waits for the job 8174// to finish or fail. 8175type HadoopStepConfig struct { 8176 _ struct{} `type:"structure"` 8177 8178 // The list of command line arguments to pass to the JAR file's main function 8179 // for execution. 8180 Args []*string `type:"list"` 8181 8182 // The path to the JAR file that runs during the step. 8183 Jar *string `type:"string"` 8184 8185 // The name of the main class in the specified Java file. If not specified, 8186 // the JAR file should specify a main class in its manifest file. 8187 MainClass *string `type:"string"` 8188 8189 // The list of Java properties that are set when the step runs. You can use 8190 // these properties to pass key-value pairs to your main function. 8191 Properties map[string]*string `type:"map"` 8192} 8193 8194// String returns the string representation 8195func (s HadoopStepConfig) String() string { 8196 return awsutil.Prettify(s) 8197} 8198 8199// GoString returns the string representation 8200func (s HadoopStepConfig) GoString() string { 8201 return s.String() 8202} 8203 8204// SetArgs sets the Args field's value. 8205func (s *HadoopStepConfig) SetArgs(v []*string) *HadoopStepConfig { 8206 s.Args = v 8207 return s 8208} 8209 8210// SetJar sets the Jar field's value. 8211func (s *HadoopStepConfig) SetJar(v string) *HadoopStepConfig { 8212 s.Jar = &v 8213 return s 8214} 8215 8216// SetMainClass sets the MainClass field's value. 8217func (s *HadoopStepConfig) SetMainClass(v string) *HadoopStepConfig { 8218 s.MainClass = &v 8219 return s 8220} 8221 8222// SetProperties sets the Properties field's value. 8223func (s *HadoopStepConfig) SetProperties(v map[string]*string) *HadoopStepConfig { 8224 s.Properties = v 8225 return s 8226} 8227 8228// Represents an EC2 instance provisioned as part of cluster. 8229type Instance struct { 8230 _ struct{} `type:"structure"` 8231 8232 // The list of EBS volumes that are attached to this instance. 8233 EbsVolumes []*EbsVolume `type:"list"` 8234 8235 // The unique identifier of the instance in Amazon EC2. 8236 Ec2InstanceId *string `type:"string"` 8237 8238 // The unique identifier for the instance in Amazon EMR. 8239 Id *string `type:"string"` 8240 8241 // The unique identifier of the instance fleet to which an EC2 instance belongs. 8242 InstanceFleetId *string `type:"string"` 8243 8244 // The identifier of the instance group to which this instance belongs. 8245 InstanceGroupId *string `type:"string"` 8246 8247 // The EC2 instance type, for example m3.xlarge. 8248 InstanceType *string `min:"1" type:"string"` 8249 8250 // The instance purchasing option. Valid values are ON_DEMAND or SPOT. 8251 Market *string `type:"string" enum:"MarketType"` 8252 8253 // The private DNS name of the instance. 8254 PrivateDnsName *string `type:"string"` 8255 8256 // The private IP address of the instance. 8257 PrivateIpAddress *string `type:"string"` 8258 8259 // The public DNS name of the instance. 8260 PublicDnsName *string `type:"string"` 8261 8262 // The public IP address of the instance. 8263 PublicIpAddress *string `type:"string"` 8264 8265 // The current status of the instance. 8266 Status *InstanceStatus `type:"structure"` 8267} 8268 8269// String returns the string representation 8270func (s Instance) String() string { 8271 return awsutil.Prettify(s) 8272} 8273 8274// GoString returns the string representation 8275func (s Instance) GoString() string { 8276 return s.String() 8277} 8278 8279// SetEbsVolumes sets the EbsVolumes field's value. 8280func (s *Instance) SetEbsVolumes(v []*EbsVolume) *Instance { 8281 s.EbsVolumes = v 8282 return s 8283} 8284 8285// SetEc2InstanceId sets the Ec2InstanceId field's value. 8286func (s *Instance) SetEc2InstanceId(v string) *Instance { 8287 s.Ec2InstanceId = &v 8288 return s 8289} 8290 8291// SetId sets the Id field's value. 8292func (s *Instance) SetId(v string) *Instance { 8293 s.Id = &v 8294 return s 8295} 8296 8297// SetInstanceFleetId sets the InstanceFleetId field's value. 8298func (s *Instance) SetInstanceFleetId(v string) *Instance { 8299 s.InstanceFleetId = &v 8300 return s 8301} 8302 8303// SetInstanceGroupId sets the InstanceGroupId field's value. 8304func (s *Instance) SetInstanceGroupId(v string) *Instance { 8305 s.InstanceGroupId = &v 8306 return s 8307} 8308 8309// SetInstanceType sets the InstanceType field's value. 8310func (s *Instance) SetInstanceType(v string) *Instance { 8311 s.InstanceType = &v 8312 return s 8313} 8314 8315// SetMarket sets the Market field's value. 8316func (s *Instance) SetMarket(v string) *Instance { 8317 s.Market = &v 8318 return s 8319} 8320 8321// SetPrivateDnsName sets the PrivateDnsName field's value. 8322func (s *Instance) SetPrivateDnsName(v string) *Instance { 8323 s.PrivateDnsName = &v 8324 return s 8325} 8326 8327// SetPrivateIpAddress sets the PrivateIpAddress field's value. 8328func (s *Instance) SetPrivateIpAddress(v string) *Instance { 8329 s.PrivateIpAddress = &v 8330 return s 8331} 8332 8333// SetPublicDnsName sets the PublicDnsName field's value. 8334func (s *Instance) SetPublicDnsName(v string) *Instance { 8335 s.PublicDnsName = &v 8336 return s 8337} 8338 8339// SetPublicIpAddress sets the PublicIpAddress field's value. 8340func (s *Instance) SetPublicIpAddress(v string) *Instance { 8341 s.PublicIpAddress = &v 8342 return s 8343} 8344 8345// SetStatus sets the Status field's value. 8346func (s *Instance) SetStatus(v *InstanceStatus) *Instance { 8347 s.Status = v 8348 return s 8349} 8350 8351// Describes an instance fleet, which is a group of EC2 instances that host 8352// a particular node type (master, core, or task) in an Amazon EMR cluster. 8353// Instance fleets can consist of a mix of instance types and On-Demand and 8354// Spot Instances, which are provisioned to meet a defined target capacity. 8355// 8356// The instance fleet configuration is available only in Amazon EMR versions 8357// 4.8.0 and later, excluding 5.0.x versions. 8358type InstanceFleet struct { 8359 _ struct{} `type:"structure"` 8360 8361 // The unique identifier of the instance fleet. 8362 Id *string `type:"string"` 8363 8364 // The node type that the instance fleet hosts. Valid values are MASTER, CORE, 8365 // or TASK. 8366 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 8367 8368 // The specification for the instance types that comprise an instance fleet. 8369 // Up to five unique instance specifications may be defined for each instance 8370 // fleet. 8371 InstanceTypeSpecifications []*InstanceTypeSpecification `type:"list"` 8372 8373 // Describes the launch specification for an instance fleet. 8374 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 8375 8376 // A friendly name for the instance fleet. 8377 Name *string `type:"string"` 8378 8379 // The number of On-Demand units that have been provisioned for the instance 8380 // fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might 8381 // be less than or greater than TargetOnDemandCapacity. 8382 ProvisionedOnDemandCapacity *int64 `type:"integer"` 8383 8384 // The number of Spot units that have been provisioned for this instance fleet 8385 // to fulfill TargetSpotCapacity. This provisioned capacity might be less than 8386 // or greater than TargetSpotCapacity. 8387 ProvisionedSpotCapacity *int64 `type:"integer"` 8388 8389 // The current status of the instance fleet. 8390 Status *InstanceFleetStatus `type:"structure"` 8391 8392 // The target capacity of On-Demand units for the instance fleet, which determines 8393 // how many On-Demand Instances to provision. When the instance fleet launches, 8394 // Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. 8395 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 8396 // Instance is provisioned, the WeightedCapacity units count toward the target 8397 // capacity. Amazon EMR provisions instances until the target capacity is totally 8398 // fulfilled, even if this results in an overage. For example, if there are 8399 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 8400 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 8401 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity 8402 // to determine the Spot capacity units that have been provisioned for the instance 8403 // fleet. 8404 // 8405 // If not specified or set to 0, only Spot Instances are provisioned for the 8406 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 8407 // and TargetOnDemandCapacity should be greater than 0. For a master instance 8408 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 8409 // and its value must be 1. 8410 TargetOnDemandCapacity *int64 `type:"integer"` 8411 8412 // The target capacity of Spot units for the instance fleet, which determines 8413 // how many Spot Instances to provision. When the instance fleet launches, Amazon 8414 // EMR tries to provision Spot Instances as specified by InstanceTypeConfig. 8415 // Each instance configuration has a specified WeightedCapacity. When a Spot 8416 // instance is provisioned, the WeightedCapacity units count toward the target 8417 // capacity. Amazon EMR provisions instances until the target capacity is totally 8418 // fulfilled, even if this results in an overage. For example, if there are 8419 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 8420 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 8421 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity 8422 // to determine the Spot capacity units that have been provisioned for the instance 8423 // fleet. 8424 // 8425 // If not specified or set to 0, only On-Demand Instances are provisioned for 8426 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 8427 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 8428 // and TargetOnDemandCapacity can be specified, and its value must be 1. 8429 TargetSpotCapacity *int64 `type:"integer"` 8430} 8431 8432// String returns the string representation 8433func (s InstanceFleet) String() string { 8434 return awsutil.Prettify(s) 8435} 8436 8437// GoString returns the string representation 8438func (s InstanceFleet) GoString() string { 8439 return s.String() 8440} 8441 8442// SetId sets the Id field's value. 8443func (s *InstanceFleet) SetId(v string) *InstanceFleet { 8444 s.Id = &v 8445 return s 8446} 8447 8448// SetInstanceFleetType sets the InstanceFleetType field's value. 8449func (s *InstanceFleet) SetInstanceFleetType(v string) *InstanceFleet { 8450 s.InstanceFleetType = &v 8451 return s 8452} 8453 8454// SetInstanceTypeSpecifications sets the InstanceTypeSpecifications field's value. 8455func (s *InstanceFleet) SetInstanceTypeSpecifications(v []*InstanceTypeSpecification) *InstanceFleet { 8456 s.InstanceTypeSpecifications = v 8457 return s 8458} 8459 8460// SetLaunchSpecifications sets the LaunchSpecifications field's value. 8461func (s *InstanceFleet) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleet { 8462 s.LaunchSpecifications = v 8463 return s 8464} 8465 8466// SetName sets the Name field's value. 8467func (s *InstanceFleet) SetName(v string) *InstanceFleet { 8468 s.Name = &v 8469 return s 8470} 8471 8472// SetProvisionedOnDemandCapacity sets the ProvisionedOnDemandCapacity field's value. 8473func (s *InstanceFleet) SetProvisionedOnDemandCapacity(v int64) *InstanceFleet { 8474 s.ProvisionedOnDemandCapacity = &v 8475 return s 8476} 8477 8478// SetProvisionedSpotCapacity sets the ProvisionedSpotCapacity field's value. 8479func (s *InstanceFleet) SetProvisionedSpotCapacity(v int64) *InstanceFleet { 8480 s.ProvisionedSpotCapacity = &v 8481 return s 8482} 8483 8484// SetStatus sets the Status field's value. 8485func (s *InstanceFleet) SetStatus(v *InstanceFleetStatus) *InstanceFleet { 8486 s.Status = v 8487 return s 8488} 8489 8490// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 8491func (s *InstanceFleet) SetTargetOnDemandCapacity(v int64) *InstanceFleet { 8492 s.TargetOnDemandCapacity = &v 8493 return s 8494} 8495 8496// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 8497func (s *InstanceFleet) SetTargetSpotCapacity(v int64) *InstanceFleet { 8498 s.TargetSpotCapacity = &v 8499 return s 8500} 8501 8502// The configuration that defines an instance fleet. 8503// 8504// The instance fleet configuration is available only in Amazon EMR versions 8505// 4.8.0 and later, excluding 5.0.x versions. 8506type InstanceFleetConfig struct { 8507 _ struct{} `type:"structure"` 8508 8509 // The node type that the instance fleet hosts. Valid values are MASTER, CORE, 8510 // and TASK. 8511 // 8512 // InstanceFleetType is a required field 8513 InstanceFleetType *string `type:"string" required:"true" enum:"InstanceFleetType"` 8514 8515 // The instance type configurations that define the EC2 instances in the instance 8516 // fleet. 8517 InstanceTypeConfigs []*InstanceTypeConfig `type:"list"` 8518 8519 // The launch specification for the instance fleet. 8520 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 8521 8522 // The friendly name of the instance fleet. 8523 Name *string `type:"string"` 8524 8525 // The target capacity of On-Demand units for the instance fleet, which determines 8526 // how many On-Demand Instances to provision. When the instance fleet launches, 8527 // Amazon EMR tries to provision On-Demand Instances as specified by InstanceTypeConfig. 8528 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 8529 // Instance is provisioned, the WeightedCapacity units count toward the target 8530 // capacity. Amazon EMR provisions instances until the target capacity is totally 8531 // fulfilled, even if this results in an overage. For example, if there are 8532 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 8533 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 8534 // and the target capacity is exceeded by 3 units. 8535 // 8536 // If not specified or set to 0, only Spot Instances are provisioned for the 8537 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 8538 // and TargetOnDemandCapacity should be greater than 0. For a master instance 8539 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 8540 // and its value must be 1. 8541 TargetOnDemandCapacity *int64 `type:"integer"` 8542 8543 // The target capacity of Spot units for the instance fleet, which determines 8544 // how many Spot Instances to provision. When the instance fleet launches, Amazon 8545 // EMR tries to provision Spot Instances as specified by InstanceTypeConfig. 8546 // Each instance configuration has a specified WeightedCapacity. When a Spot 8547 // Instance is provisioned, the WeightedCapacity units count toward the target 8548 // capacity. Amazon EMR provisions instances until the target capacity is totally 8549 // fulfilled, even if this results in an overage. For example, if there are 8550 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 8551 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 8552 // and the target capacity is exceeded by 3 units. 8553 // 8554 // If not specified or set to 0, only On-Demand Instances are provisioned for 8555 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 8556 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 8557 // and TargetOnDemandCapacity can be specified, and its value must be 1. 8558 TargetSpotCapacity *int64 `type:"integer"` 8559} 8560 8561// String returns the string representation 8562func (s InstanceFleetConfig) String() string { 8563 return awsutil.Prettify(s) 8564} 8565 8566// GoString returns the string representation 8567func (s InstanceFleetConfig) GoString() string { 8568 return s.String() 8569} 8570 8571// Validate inspects the fields of the type to determine if they are valid. 8572func (s *InstanceFleetConfig) Validate() error { 8573 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetConfig"} 8574 if s.InstanceFleetType == nil { 8575 invalidParams.Add(request.NewErrParamRequired("InstanceFleetType")) 8576 } 8577 if s.InstanceTypeConfigs != nil { 8578 for i, v := range s.InstanceTypeConfigs { 8579 if v == nil { 8580 continue 8581 } 8582 if err := v.Validate(); err != nil { 8583 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTypeConfigs", i), err.(request.ErrInvalidParams)) 8584 } 8585 } 8586 } 8587 if s.LaunchSpecifications != nil { 8588 if err := s.LaunchSpecifications.Validate(); err != nil { 8589 invalidParams.AddNested("LaunchSpecifications", err.(request.ErrInvalidParams)) 8590 } 8591 } 8592 8593 if invalidParams.Len() > 0 { 8594 return invalidParams 8595 } 8596 return nil 8597} 8598 8599// SetInstanceFleetType sets the InstanceFleetType field's value. 8600func (s *InstanceFleetConfig) SetInstanceFleetType(v string) *InstanceFleetConfig { 8601 s.InstanceFleetType = &v 8602 return s 8603} 8604 8605// SetInstanceTypeConfigs sets the InstanceTypeConfigs field's value. 8606func (s *InstanceFleetConfig) SetInstanceTypeConfigs(v []*InstanceTypeConfig) *InstanceFleetConfig { 8607 s.InstanceTypeConfigs = v 8608 return s 8609} 8610 8611// SetLaunchSpecifications sets the LaunchSpecifications field's value. 8612func (s *InstanceFleetConfig) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleetConfig { 8613 s.LaunchSpecifications = v 8614 return s 8615} 8616 8617// SetName sets the Name field's value. 8618func (s *InstanceFleetConfig) SetName(v string) *InstanceFleetConfig { 8619 s.Name = &v 8620 return s 8621} 8622 8623// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 8624func (s *InstanceFleetConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetConfig { 8625 s.TargetOnDemandCapacity = &v 8626 return s 8627} 8628 8629// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 8630func (s *InstanceFleetConfig) SetTargetSpotCapacity(v int64) *InstanceFleetConfig { 8631 s.TargetSpotCapacity = &v 8632 return s 8633} 8634 8635// Configuration parameters for an instance fleet modification request. 8636// 8637// The instance fleet configuration is available only in Amazon EMR versions 8638// 4.8.0 and later, excluding 5.0.x versions. 8639type InstanceFleetModifyConfig struct { 8640 _ struct{} `type:"structure"` 8641 8642 // A unique identifier for the instance fleet. 8643 // 8644 // InstanceFleetId is a required field 8645 InstanceFleetId *string `type:"string" required:"true"` 8646 8647 // The target capacity of On-Demand units for the instance fleet. For more information 8648 // see InstanceFleetConfig$TargetOnDemandCapacity. 8649 TargetOnDemandCapacity *int64 `type:"integer"` 8650 8651 // The target capacity of Spot units for the instance fleet. For more information, 8652 // see InstanceFleetConfig$TargetSpotCapacity. 8653 TargetSpotCapacity *int64 `type:"integer"` 8654} 8655 8656// String returns the string representation 8657func (s InstanceFleetModifyConfig) String() string { 8658 return awsutil.Prettify(s) 8659} 8660 8661// GoString returns the string representation 8662func (s InstanceFleetModifyConfig) GoString() string { 8663 return s.String() 8664} 8665 8666// Validate inspects the fields of the type to determine if they are valid. 8667func (s *InstanceFleetModifyConfig) Validate() error { 8668 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetModifyConfig"} 8669 if s.InstanceFleetId == nil { 8670 invalidParams.Add(request.NewErrParamRequired("InstanceFleetId")) 8671 } 8672 8673 if invalidParams.Len() > 0 { 8674 return invalidParams 8675 } 8676 return nil 8677} 8678 8679// SetInstanceFleetId sets the InstanceFleetId field's value. 8680func (s *InstanceFleetModifyConfig) SetInstanceFleetId(v string) *InstanceFleetModifyConfig { 8681 s.InstanceFleetId = &v 8682 return s 8683} 8684 8685// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 8686func (s *InstanceFleetModifyConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetModifyConfig { 8687 s.TargetOnDemandCapacity = &v 8688 return s 8689} 8690 8691// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 8692func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFleetModifyConfig { 8693 s.TargetSpotCapacity = &v 8694 return s 8695} 8696 8697// The launch specification for Spot Instances in the fleet, which determines 8698// the defined duration, provisioning timeout behavior, and allocation strategy. 8699// 8700// The instance fleet configuration is available only in Amazon EMR versions 8701// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot Instance allocation 8702// strategies are available in Amazon EMR version 5.12.1 and later. 8703type InstanceFleetProvisioningSpecifications struct { 8704 _ struct{} `type:"structure"` 8705 8706 // The launch specification for On-Demand Instances in the instance fleet, which 8707 // determines the allocation strategy. 8708 // 8709 // The instance fleet configuration is available only in Amazon EMR versions 8710 // 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation 8711 // strategy is available in Amazon EMR version 5.12.1 and later. 8712 OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` 8713 8714 // The launch specification for Spot Instances in the fleet, which determines 8715 // the defined duration, provisioning timeout behavior, and allocation strategy. 8716 SpotSpecification *SpotProvisioningSpecification `type:"structure"` 8717} 8718 8719// String returns the string representation 8720func (s InstanceFleetProvisioningSpecifications) String() string { 8721 return awsutil.Prettify(s) 8722} 8723 8724// GoString returns the string representation 8725func (s InstanceFleetProvisioningSpecifications) GoString() string { 8726 return s.String() 8727} 8728 8729// Validate inspects the fields of the type to determine if they are valid. 8730func (s *InstanceFleetProvisioningSpecifications) Validate() error { 8731 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetProvisioningSpecifications"} 8732 if s.OnDemandSpecification != nil { 8733 if err := s.OnDemandSpecification.Validate(); err != nil { 8734 invalidParams.AddNested("OnDemandSpecification", err.(request.ErrInvalidParams)) 8735 } 8736 } 8737 if s.SpotSpecification != nil { 8738 if err := s.SpotSpecification.Validate(); err != nil { 8739 invalidParams.AddNested("SpotSpecification", err.(request.ErrInvalidParams)) 8740 } 8741 } 8742 8743 if invalidParams.Len() > 0 { 8744 return invalidParams 8745 } 8746 return nil 8747} 8748 8749// SetOnDemandSpecification sets the OnDemandSpecification field's value. 8750func (s *InstanceFleetProvisioningSpecifications) SetOnDemandSpecification(v *OnDemandProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 8751 s.OnDemandSpecification = v 8752 return s 8753} 8754 8755// SetSpotSpecification sets the SpotSpecification field's value. 8756func (s *InstanceFleetProvisioningSpecifications) SetSpotSpecification(v *SpotProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 8757 s.SpotSpecification = v 8758 return s 8759} 8760 8761// Provides status change reason details for the instance fleet. 8762// 8763// The instance fleet configuration is available only in Amazon EMR versions 8764// 4.8.0 and later, excluding 5.0.x versions. 8765type InstanceFleetStateChangeReason struct { 8766 _ struct{} `type:"structure"` 8767 8768 // A code corresponding to the reason the state change occurred. 8769 Code *string `type:"string" enum:"InstanceFleetStateChangeReasonCode"` 8770 8771 // An explanatory message. 8772 Message *string `type:"string"` 8773} 8774 8775// String returns the string representation 8776func (s InstanceFleetStateChangeReason) String() string { 8777 return awsutil.Prettify(s) 8778} 8779 8780// GoString returns the string representation 8781func (s InstanceFleetStateChangeReason) GoString() string { 8782 return s.String() 8783} 8784 8785// SetCode sets the Code field's value. 8786func (s *InstanceFleetStateChangeReason) SetCode(v string) *InstanceFleetStateChangeReason { 8787 s.Code = &v 8788 return s 8789} 8790 8791// SetMessage sets the Message field's value. 8792func (s *InstanceFleetStateChangeReason) SetMessage(v string) *InstanceFleetStateChangeReason { 8793 s.Message = &v 8794 return s 8795} 8796 8797// The status of the instance fleet. 8798// 8799// The instance fleet configuration is available only in Amazon EMR versions 8800// 4.8.0 and later, excluding 5.0.x versions. 8801type InstanceFleetStatus struct { 8802 _ struct{} `type:"structure"` 8803 8804 // A code representing the instance fleet status. 8805 // 8806 // * PROVISIONING—The instance fleet is provisioning EC2 resources and 8807 // is not yet ready to run jobs. 8808 // 8809 // * BOOTSTRAPPING—EC2 instances and other resources have been provisioned 8810 // and the bootstrap actions specified for the instances are underway. 8811 // 8812 // * RUNNING—EC2 instances and other resources are running. They are either 8813 // executing jobs or waiting to execute jobs. 8814 // 8815 // * RESIZING—A resize operation is underway. EC2 instances are either 8816 // being added or removed. 8817 // 8818 // * SUSPENDED—A resize operation could not complete. Existing EC2 instances 8819 // are running, but instances can't be added or removed. 8820 // 8821 // * TERMINATING—The instance fleet is terminating EC2 instances. 8822 // 8823 // * TERMINATED—The instance fleet is no longer active, and all EC2 instances 8824 // have been terminated. 8825 State *string `type:"string" enum:"InstanceFleetState"` 8826 8827 // Provides status change reason details for the instance fleet. 8828 StateChangeReason *InstanceFleetStateChangeReason `type:"structure"` 8829 8830 // Provides historical timestamps for the instance fleet, including the time 8831 // of creation, the time it became ready to run jobs, and the time of termination. 8832 Timeline *InstanceFleetTimeline `type:"structure"` 8833} 8834 8835// String returns the string representation 8836func (s InstanceFleetStatus) String() string { 8837 return awsutil.Prettify(s) 8838} 8839 8840// GoString returns the string representation 8841func (s InstanceFleetStatus) GoString() string { 8842 return s.String() 8843} 8844 8845// SetState sets the State field's value. 8846func (s *InstanceFleetStatus) SetState(v string) *InstanceFleetStatus { 8847 s.State = &v 8848 return s 8849} 8850 8851// SetStateChangeReason sets the StateChangeReason field's value. 8852func (s *InstanceFleetStatus) SetStateChangeReason(v *InstanceFleetStateChangeReason) *InstanceFleetStatus { 8853 s.StateChangeReason = v 8854 return s 8855} 8856 8857// SetTimeline sets the Timeline field's value. 8858func (s *InstanceFleetStatus) SetTimeline(v *InstanceFleetTimeline) *InstanceFleetStatus { 8859 s.Timeline = v 8860 return s 8861} 8862 8863// Provides historical timestamps for the instance fleet, including the time 8864// of creation, the time it became ready to run jobs, and the time of termination. 8865// 8866// The instance fleet configuration is available only in Amazon EMR versions 8867// 4.8.0 and later, excluding 5.0.x versions. 8868type InstanceFleetTimeline struct { 8869 _ struct{} `type:"structure"` 8870 8871 // The time and date the instance fleet was created. 8872 CreationDateTime *time.Time `type:"timestamp"` 8873 8874 // The time and date the instance fleet terminated. 8875 EndDateTime *time.Time `type:"timestamp"` 8876 8877 // The time and date the instance fleet was ready to run jobs. 8878 ReadyDateTime *time.Time `type:"timestamp"` 8879} 8880 8881// String returns the string representation 8882func (s InstanceFleetTimeline) String() string { 8883 return awsutil.Prettify(s) 8884} 8885 8886// GoString returns the string representation 8887func (s InstanceFleetTimeline) GoString() string { 8888 return s.String() 8889} 8890 8891// SetCreationDateTime sets the CreationDateTime field's value. 8892func (s *InstanceFleetTimeline) SetCreationDateTime(v time.Time) *InstanceFleetTimeline { 8893 s.CreationDateTime = &v 8894 return s 8895} 8896 8897// SetEndDateTime sets the EndDateTime field's value. 8898func (s *InstanceFleetTimeline) SetEndDateTime(v time.Time) *InstanceFleetTimeline { 8899 s.EndDateTime = &v 8900 return s 8901} 8902 8903// SetReadyDateTime sets the ReadyDateTime field's value. 8904func (s *InstanceFleetTimeline) SetReadyDateTime(v time.Time) *InstanceFleetTimeline { 8905 s.ReadyDateTime = &v 8906 return s 8907} 8908 8909// This entity represents an instance group, which is a group of instances that 8910// have common purpose. For example, CORE instance group is used for HDFS. 8911type InstanceGroup struct { 8912 _ struct{} `type:"structure"` 8913 8914 // An automatic scaling policy for a core instance group or task instance group 8915 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 8916 // group dynamically adds and terminates EC2 instances in response to the value 8917 // of a CloudWatch metric. See PutAutoScalingPolicy. 8918 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 8919 8920 // If specified, indicates that the instance group uses Spot Instances. This 8921 // is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice 8922 // to set the amount equal to the On-Demand price, or specify an amount in USD. 8923 BidPrice *string `type:"string"` 8924 8925 // 8926 // Amazon EMR releases 4.x or later. 8927 // 8928 // The list of configurations supplied for an EMR cluster instance group. You 8929 // can specify a separate configuration for each instance group (master, core, 8930 // and task). 8931 Configurations []*Configuration `type:"list"` 8932 8933 // The version number of the requested configuration specification for this 8934 // instance group. 8935 ConfigurationsVersion *int64 `type:"long"` 8936 8937 // The EBS block devices that are mapped to this instance group. 8938 EbsBlockDevices []*EbsBlockDevice `type:"list"` 8939 8940 // If the instance group is EBS-optimized. An Amazon EBS-optimized instance 8941 // uses an optimized configuration stack and provides additional, dedicated 8942 // capacity for Amazon EBS I/O. 8943 EbsOptimized *bool `type:"boolean"` 8944 8945 // The identifier of the instance group. 8946 Id *string `type:"string"` 8947 8948 // The type of the instance group. Valid values are MASTER, CORE or TASK. 8949 InstanceGroupType *string `type:"string" enum:"InstanceGroupType"` 8950 8951 // The EC2 instance type for all instances in the instance group. 8952 InstanceType *string `min:"1" type:"string"` 8953 8954 // A list of configurations that were successfully applied for an instance group 8955 // last time. 8956 LastSuccessfullyAppliedConfigurations []*Configuration `type:"list"` 8957 8958 // The version number of a configuration specification that was successfully 8959 // applied for an instance group last time. 8960 LastSuccessfullyAppliedConfigurationsVersion *int64 `type:"long"` 8961 8962 // The marketplace to provision instances for this group. Valid values are ON_DEMAND 8963 // or SPOT. 8964 Market *string `type:"string" enum:"MarketType"` 8965 8966 // The name of the instance group. 8967 Name *string `type:"string"` 8968 8969 // The target number of instances for the instance group. 8970 RequestedInstanceCount *int64 `type:"integer"` 8971 8972 // The number of instances currently running in this instance group. 8973 RunningInstanceCount *int64 `type:"integer"` 8974 8975 // Policy for customizing shrink operations. 8976 ShrinkPolicy *ShrinkPolicy `type:"structure"` 8977 8978 // The current status of the instance group. 8979 Status *InstanceGroupStatus `type:"structure"` 8980} 8981 8982// String returns the string representation 8983func (s InstanceGroup) String() string { 8984 return awsutil.Prettify(s) 8985} 8986 8987// GoString returns the string representation 8988func (s InstanceGroup) GoString() string { 8989 return s.String() 8990} 8991 8992// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 8993func (s *InstanceGroup) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *InstanceGroup { 8994 s.AutoScalingPolicy = v 8995 return s 8996} 8997 8998// SetBidPrice sets the BidPrice field's value. 8999func (s *InstanceGroup) SetBidPrice(v string) *InstanceGroup { 9000 s.BidPrice = &v 9001 return s 9002} 9003 9004// SetConfigurations sets the Configurations field's value. 9005func (s *InstanceGroup) SetConfigurations(v []*Configuration) *InstanceGroup { 9006 s.Configurations = v 9007 return s 9008} 9009 9010// SetConfigurationsVersion sets the ConfigurationsVersion field's value. 9011func (s *InstanceGroup) SetConfigurationsVersion(v int64) *InstanceGroup { 9012 s.ConfigurationsVersion = &v 9013 return s 9014} 9015 9016// SetEbsBlockDevices sets the EbsBlockDevices field's value. 9017func (s *InstanceGroup) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceGroup { 9018 s.EbsBlockDevices = v 9019 return s 9020} 9021 9022// SetEbsOptimized sets the EbsOptimized field's value. 9023func (s *InstanceGroup) SetEbsOptimized(v bool) *InstanceGroup { 9024 s.EbsOptimized = &v 9025 return s 9026} 9027 9028// SetId sets the Id field's value. 9029func (s *InstanceGroup) SetId(v string) *InstanceGroup { 9030 s.Id = &v 9031 return s 9032} 9033 9034// SetInstanceGroupType sets the InstanceGroupType field's value. 9035func (s *InstanceGroup) SetInstanceGroupType(v string) *InstanceGroup { 9036 s.InstanceGroupType = &v 9037 return s 9038} 9039 9040// SetInstanceType sets the InstanceType field's value. 9041func (s *InstanceGroup) SetInstanceType(v string) *InstanceGroup { 9042 s.InstanceType = &v 9043 return s 9044} 9045 9046// SetLastSuccessfullyAppliedConfigurations sets the LastSuccessfullyAppliedConfigurations field's value. 9047func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurations(v []*Configuration) *InstanceGroup { 9048 s.LastSuccessfullyAppliedConfigurations = v 9049 return s 9050} 9051 9052// SetLastSuccessfullyAppliedConfigurationsVersion sets the LastSuccessfullyAppliedConfigurationsVersion field's value. 9053func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurationsVersion(v int64) *InstanceGroup { 9054 s.LastSuccessfullyAppliedConfigurationsVersion = &v 9055 return s 9056} 9057 9058// SetMarket sets the Market field's value. 9059func (s *InstanceGroup) SetMarket(v string) *InstanceGroup { 9060 s.Market = &v 9061 return s 9062} 9063 9064// SetName sets the Name field's value. 9065func (s *InstanceGroup) SetName(v string) *InstanceGroup { 9066 s.Name = &v 9067 return s 9068} 9069 9070// SetRequestedInstanceCount sets the RequestedInstanceCount field's value. 9071func (s *InstanceGroup) SetRequestedInstanceCount(v int64) *InstanceGroup { 9072 s.RequestedInstanceCount = &v 9073 return s 9074} 9075 9076// SetRunningInstanceCount sets the RunningInstanceCount field's value. 9077func (s *InstanceGroup) SetRunningInstanceCount(v int64) *InstanceGroup { 9078 s.RunningInstanceCount = &v 9079 return s 9080} 9081 9082// SetShrinkPolicy sets the ShrinkPolicy field's value. 9083func (s *InstanceGroup) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroup { 9084 s.ShrinkPolicy = v 9085 return s 9086} 9087 9088// SetStatus sets the Status field's value. 9089func (s *InstanceGroup) SetStatus(v *InstanceGroupStatus) *InstanceGroup { 9090 s.Status = v 9091 return s 9092} 9093 9094// Configuration defining a new instance group. 9095type InstanceGroupConfig struct { 9096 _ struct{} `type:"structure"` 9097 9098 // An automatic scaling policy for a core instance group or task instance group 9099 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 9100 // group dynamically adds and terminates EC2 instances in response to the value 9101 // of a CloudWatch metric. See PutAutoScalingPolicy. 9102 AutoScalingPolicy *AutoScalingPolicy `type:"structure"` 9103 9104 // If specified, indicates that the instance group uses Spot Instances. This 9105 // is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice 9106 // to set the amount equal to the On-Demand price, or specify an amount in USD. 9107 BidPrice *string `type:"string"` 9108 9109 // 9110 // Amazon EMR releases 4.x or later. 9111 // 9112 // The list of configurations supplied for an EMR cluster instance group. You 9113 // can specify a separate configuration for each instance group (master, core, 9114 // and task). 9115 Configurations []*Configuration `type:"list"` 9116 9117 // EBS configurations that will be attached to each EC2 instance in the instance 9118 // group. 9119 EbsConfiguration *EbsConfiguration `type:"structure"` 9120 9121 // Target number of instances for the instance group. 9122 // 9123 // InstanceCount is a required field 9124 InstanceCount *int64 `type:"integer" required:"true"` 9125 9126 // The role of the instance group in the cluster. 9127 // 9128 // InstanceRole is a required field 9129 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 9130 9131 // The EC2 instance type for all instances in the instance group. 9132 // 9133 // InstanceType is a required field 9134 InstanceType *string `min:"1" type:"string" required:"true"` 9135 9136 // Market type of the EC2 instances used to create a cluster node. 9137 Market *string `type:"string" enum:"MarketType"` 9138 9139 // Friendly name given to the instance group. 9140 Name *string `type:"string"` 9141} 9142 9143// String returns the string representation 9144func (s InstanceGroupConfig) String() string { 9145 return awsutil.Prettify(s) 9146} 9147 9148// GoString returns the string representation 9149func (s InstanceGroupConfig) GoString() string { 9150 return s.String() 9151} 9152 9153// Validate inspects the fields of the type to determine if they are valid. 9154func (s *InstanceGroupConfig) Validate() error { 9155 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupConfig"} 9156 if s.InstanceCount == nil { 9157 invalidParams.Add(request.NewErrParamRequired("InstanceCount")) 9158 } 9159 if s.InstanceRole == nil { 9160 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 9161 } 9162 if s.InstanceType == nil { 9163 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 9164 } 9165 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 9166 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 9167 } 9168 if s.AutoScalingPolicy != nil { 9169 if err := s.AutoScalingPolicy.Validate(); err != nil { 9170 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 9171 } 9172 } 9173 if s.EbsConfiguration != nil { 9174 if err := s.EbsConfiguration.Validate(); err != nil { 9175 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 9176 } 9177 } 9178 9179 if invalidParams.Len() > 0 { 9180 return invalidParams 9181 } 9182 return nil 9183} 9184 9185// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 9186func (s *InstanceGroupConfig) SetAutoScalingPolicy(v *AutoScalingPolicy) *InstanceGroupConfig { 9187 s.AutoScalingPolicy = v 9188 return s 9189} 9190 9191// SetBidPrice sets the BidPrice field's value. 9192func (s *InstanceGroupConfig) SetBidPrice(v string) *InstanceGroupConfig { 9193 s.BidPrice = &v 9194 return s 9195} 9196 9197// SetConfigurations sets the Configurations field's value. 9198func (s *InstanceGroupConfig) SetConfigurations(v []*Configuration) *InstanceGroupConfig { 9199 s.Configurations = v 9200 return s 9201} 9202 9203// SetEbsConfiguration sets the EbsConfiguration field's value. 9204func (s *InstanceGroupConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceGroupConfig { 9205 s.EbsConfiguration = v 9206 return s 9207} 9208 9209// SetInstanceCount sets the InstanceCount field's value. 9210func (s *InstanceGroupConfig) SetInstanceCount(v int64) *InstanceGroupConfig { 9211 s.InstanceCount = &v 9212 return s 9213} 9214 9215// SetInstanceRole sets the InstanceRole field's value. 9216func (s *InstanceGroupConfig) SetInstanceRole(v string) *InstanceGroupConfig { 9217 s.InstanceRole = &v 9218 return s 9219} 9220 9221// SetInstanceType sets the InstanceType field's value. 9222func (s *InstanceGroupConfig) SetInstanceType(v string) *InstanceGroupConfig { 9223 s.InstanceType = &v 9224 return s 9225} 9226 9227// SetMarket sets the Market field's value. 9228func (s *InstanceGroupConfig) SetMarket(v string) *InstanceGroupConfig { 9229 s.Market = &v 9230 return s 9231} 9232 9233// SetName sets the Name field's value. 9234func (s *InstanceGroupConfig) SetName(v string) *InstanceGroupConfig { 9235 s.Name = &v 9236 return s 9237} 9238 9239// Detailed information about an instance group. 9240type InstanceGroupDetail struct { 9241 _ struct{} `type:"structure"` 9242 9243 // If specified, indicates that the instance group uses Spot Instances. This 9244 // is the maximum price you are willing to pay for Spot Instances. Specify OnDemandPrice 9245 // to set the amount equal to the On-Demand price, or specify an amount in USD. 9246 BidPrice *string `type:"string"` 9247 9248 // The date/time the instance group was created. 9249 // 9250 // CreationDateTime is a required field 9251 CreationDateTime *time.Time `type:"timestamp" required:"true"` 9252 9253 // The date/time the instance group was terminated. 9254 EndDateTime *time.Time `type:"timestamp"` 9255 9256 // Unique identifier for the instance group. 9257 InstanceGroupId *string `type:"string"` 9258 9259 // Target number of instances to run in the instance group. 9260 // 9261 // InstanceRequestCount is a required field 9262 InstanceRequestCount *int64 `type:"integer" required:"true"` 9263 9264 // Instance group role in the cluster 9265 // 9266 // InstanceRole is a required field 9267 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 9268 9269 // Actual count of running instances. 9270 // 9271 // InstanceRunningCount is a required field 9272 InstanceRunningCount *int64 `type:"integer" required:"true"` 9273 9274 // EC2 instance type. 9275 // 9276 // InstanceType is a required field 9277 InstanceType *string `min:"1" type:"string" required:"true"` 9278 9279 // Details regarding the state of the instance group. 9280 LastStateChangeReason *string `type:"string"` 9281 9282 // Market type of the EC2 instances used to create a cluster node. 9283 // 9284 // Market is a required field 9285 Market *string `type:"string" required:"true" enum:"MarketType"` 9286 9287 // Friendly name for the instance group. 9288 Name *string `type:"string"` 9289 9290 // The date/time the instance group was available to the cluster. 9291 ReadyDateTime *time.Time `type:"timestamp"` 9292 9293 // The date/time the instance group was started. 9294 StartDateTime *time.Time `type:"timestamp"` 9295 9296 // State of instance group. The following values are deprecated: STARTING, TERMINATED, 9297 // and FAILED. 9298 // 9299 // State is a required field 9300 State *string `type:"string" required:"true" enum:"InstanceGroupState"` 9301} 9302 9303// String returns the string representation 9304func (s InstanceGroupDetail) String() string { 9305 return awsutil.Prettify(s) 9306} 9307 9308// GoString returns the string representation 9309func (s InstanceGroupDetail) GoString() string { 9310 return s.String() 9311} 9312 9313// SetBidPrice sets the BidPrice field's value. 9314func (s *InstanceGroupDetail) SetBidPrice(v string) *InstanceGroupDetail { 9315 s.BidPrice = &v 9316 return s 9317} 9318 9319// SetCreationDateTime sets the CreationDateTime field's value. 9320func (s *InstanceGroupDetail) SetCreationDateTime(v time.Time) *InstanceGroupDetail { 9321 s.CreationDateTime = &v 9322 return s 9323} 9324 9325// SetEndDateTime sets the EndDateTime field's value. 9326func (s *InstanceGroupDetail) SetEndDateTime(v time.Time) *InstanceGroupDetail { 9327 s.EndDateTime = &v 9328 return s 9329} 9330 9331// SetInstanceGroupId sets the InstanceGroupId field's value. 9332func (s *InstanceGroupDetail) SetInstanceGroupId(v string) *InstanceGroupDetail { 9333 s.InstanceGroupId = &v 9334 return s 9335} 9336 9337// SetInstanceRequestCount sets the InstanceRequestCount field's value. 9338func (s *InstanceGroupDetail) SetInstanceRequestCount(v int64) *InstanceGroupDetail { 9339 s.InstanceRequestCount = &v 9340 return s 9341} 9342 9343// SetInstanceRole sets the InstanceRole field's value. 9344func (s *InstanceGroupDetail) SetInstanceRole(v string) *InstanceGroupDetail { 9345 s.InstanceRole = &v 9346 return s 9347} 9348 9349// SetInstanceRunningCount sets the InstanceRunningCount field's value. 9350func (s *InstanceGroupDetail) SetInstanceRunningCount(v int64) *InstanceGroupDetail { 9351 s.InstanceRunningCount = &v 9352 return s 9353} 9354 9355// SetInstanceType sets the InstanceType field's value. 9356func (s *InstanceGroupDetail) SetInstanceType(v string) *InstanceGroupDetail { 9357 s.InstanceType = &v 9358 return s 9359} 9360 9361// SetLastStateChangeReason sets the LastStateChangeReason field's value. 9362func (s *InstanceGroupDetail) SetLastStateChangeReason(v string) *InstanceGroupDetail { 9363 s.LastStateChangeReason = &v 9364 return s 9365} 9366 9367// SetMarket sets the Market field's value. 9368func (s *InstanceGroupDetail) SetMarket(v string) *InstanceGroupDetail { 9369 s.Market = &v 9370 return s 9371} 9372 9373// SetName sets the Name field's value. 9374func (s *InstanceGroupDetail) SetName(v string) *InstanceGroupDetail { 9375 s.Name = &v 9376 return s 9377} 9378 9379// SetReadyDateTime sets the ReadyDateTime field's value. 9380func (s *InstanceGroupDetail) SetReadyDateTime(v time.Time) *InstanceGroupDetail { 9381 s.ReadyDateTime = &v 9382 return s 9383} 9384 9385// SetStartDateTime sets the StartDateTime field's value. 9386func (s *InstanceGroupDetail) SetStartDateTime(v time.Time) *InstanceGroupDetail { 9387 s.StartDateTime = &v 9388 return s 9389} 9390 9391// SetState sets the State field's value. 9392func (s *InstanceGroupDetail) SetState(v string) *InstanceGroupDetail { 9393 s.State = &v 9394 return s 9395} 9396 9397// Modify the size or configurations of an instance group. 9398type InstanceGroupModifyConfig struct { 9399 _ struct{} `type:"structure"` 9400 9401 // A list of new or modified configurations to apply for an instance group. 9402 Configurations []*Configuration `type:"list"` 9403 9404 // The EC2 InstanceIds to terminate. After you terminate the instances, the 9405 // instance group will not return to its original requested size. 9406 EC2InstanceIdsToTerminate []*string `type:"list"` 9407 9408 // Target size for the instance group. 9409 InstanceCount *int64 `type:"integer"` 9410 9411 // Unique ID of the instance group to modify. 9412 // 9413 // InstanceGroupId is a required field 9414 InstanceGroupId *string `type:"string" required:"true"` 9415 9416 // Policy for customizing shrink operations. 9417 ShrinkPolicy *ShrinkPolicy `type:"structure"` 9418} 9419 9420// String returns the string representation 9421func (s InstanceGroupModifyConfig) String() string { 9422 return awsutil.Prettify(s) 9423} 9424 9425// GoString returns the string representation 9426func (s InstanceGroupModifyConfig) GoString() string { 9427 return s.String() 9428} 9429 9430// Validate inspects the fields of the type to determine if they are valid. 9431func (s *InstanceGroupModifyConfig) Validate() error { 9432 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupModifyConfig"} 9433 if s.InstanceGroupId == nil { 9434 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 9435 } 9436 9437 if invalidParams.Len() > 0 { 9438 return invalidParams 9439 } 9440 return nil 9441} 9442 9443// SetConfigurations sets the Configurations field's value. 9444func (s *InstanceGroupModifyConfig) SetConfigurations(v []*Configuration) *InstanceGroupModifyConfig { 9445 s.Configurations = v 9446 return s 9447} 9448 9449// SetEC2InstanceIdsToTerminate sets the EC2InstanceIdsToTerminate field's value. 9450func (s *InstanceGroupModifyConfig) SetEC2InstanceIdsToTerminate(v []*string) *InstanceGroupModifyConfig { 9451 s.EC2InstanceIdsToTerminate = v 9452 return s 9453} 9454 9455// SetInstanceCount sets the InstanceCount field's value. 9456func (s *InstanceGroupModifyConfig) SetInstanceCount(v int64) *InstanceGroupModifyConfig { 9457 s.InstanceCount = &v 9458 return s 9459} 9460 9461// SetInstanceGroupId sets the InstanceGroupId field's value. 9462func (s *InstanceGroupModifyConfig) SetInstanceGroupId(v string) *InstanceGroupModifyConfig { 9463 s.InstanceGroupId = &v 9464 return s 9465} 9466 9467// SetShrinkPolicy sets the ShrinkPolicy field's value. 9468func (s *InstanceGroupModifyConfig) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroupModifyConfig { 9469 s.ShrinkPolicy = v 9470 return s 9471} 9472 9473// The status change reason details for the instance group. 9474type InstanceGroupStateChangeReason struct { 9475 _ struct{} `type:"structure"` 9476 9477 // The programmable code for the state change reason. 9478 Code *string `type:"string" enum:"InstanceGroupStateChangeReasonCode"` 9479 9480 // The status change reason description. 9481 Message *string `type:"string"` 9482} 9483 9484// String returns the string representation 9485func (s InstanceGroupStateChangeReason) String() string { 9486 return awsutil.Prettify(s) 9487} 9488 9489// GoString returns the string representation 9490func (s InstanceGroupStateChangeReason) GoString() string { 9491 return s.String() 9492} 9493 9494// SetCode sets the Code field's value. 9495func (s *InstanceGroupStateChangeReason) SetCode(v string) *InstanceGroupStateChangeReason { 9496 s.Code = &v 9497 return s 9498} 9499 9500// SetMessage sets the Message field's value. 9501func (s *InstanceGroupStateChangeReason) SetMessage(v string) *InstanceGroupStateChangeReason { 9502 s.Message = &v 9503 return s 9504} 9505 9506// The details of the instance group status. 9507type InstanceGroupStatus struct { 9508 _ struct{} `type:"structure"` 9509 9510 // The current state of the instance group. 9511 State *string `type:"string" enum:"InstanceGroupState"` 9512 9513 // The status change reason details for the instance group. 9514 StateChangeReason *InstanceGroupStateChangeReason `type:"structure"` 9515 9516 // The timeline of the instance group status over time. 9517 Timeline *InstanceGroupTimeline `type:"structure"` 9518} 9519 9520// String returns the string representation 9521func (s InstanceGroupStatus) String() string { 9522 return awsutil.Prettify(s) 9523} 9524 9525// GoString returns the string representation 9526func (s InstanceGroupStatus) GoString() string { 9527 return s.String() 9528} 9529 9530// SetState sets the State field's value. 9531func (s *InstanceGroupStatus) SetState(v string) *InstanceGroupStatus { 9532 s.State = &v 9533 return s 9534} 9535 9536// SetStateChangeReason sets the StateChangeReason field's value. 9537func (s *InstanceGroupStatus) SetStateChangeReason(v *InstanceGroupStateChangeReason) *InstanceGroupStatus { 9538 s.StateChangeReason = v 9539 return s 9540} 9541 9542// SetTimeline sets the Timeline field's value. 9543func (s *InstanceGroupStatus) SetTimeline(v *InstanceGroupTimeline) *InstanceGroupStatus { 9544 s.Timeline = v 9545 return s 9546} 9547 9548// The timeline of the instance group lifecycle. 9549type InstanceGroupTimeline struct { 9550 _ struct{} `type:"structure"` 9551 9552 // The creation date and time of the instance group. 9553 CreationDateTime *time.Time `type:"timestamp"` 9554 9555 // The date and time when the instance group terminated. 9556 EndDateTime *time.Time `type:"timestamp"` 9557 9558 // The date and time when the instance group became ready to perform tasks. 9559 ReadyDateTime *time.Time `type:"timestamp"` 9560} 9561 9562// String returns the string representation 9563func (s InstanceGroupTimeline) String() string { 9564 return awsutil.Prettify(s) 9565} 9566 9567// GoString returns the string representation 9568func (s InstanceGroupTimeline) GoString() string { 9569 return s.String() 9570} 9571 9572// SetCreationDateTime sets the CreationDateTime field's value. 9573func (s *InstanceGroupTimeline) SetCreationDateTime(v time.Time) *InstanceGroupTimeline { 9574 s.CreationDateTime = &v 9575 return s 9576} 9577 9578// SetEndDateTime sets the EndDateTime field's value. 9579func (s *InstanceGroupTimeline) SetEndDateTime(v time.Time) *InstanceGroupTimeline { 9580 s.EndDateTime = &v 9581 return s 9582} 9583 9584// SetReadyDateTime sets the ReadyDateTime field's value. 9585func (s *InstanceGroupTimeline) SetReadyDateTime(v time.Time) *InstanceGroupTimeline { 9586 s.ReadyDateTime = &v 9587 return s 9588} 9589 9590// Custom policy for requesting termination protection or termination of specific 9591// instances when shrinking an instance group. 9592type InstanceResizePolicy struct { 9593 _ struct{} `type:"structure"` 9594 9595 // Decommissioning timeout override for the specific list of instances to be 9596 // terminated. 9597 InstanceTerminationTimeout *int64 `type:"integer"` 9598 9599 // Specific list of instances to be protected when shrinking an instance group. 9600 InstancesToProtect []*string `type:"list"` 9601 9602 // Specific list of instances to be terminated when shrinking an instance group. 9603 InstancesToTerminate []*string `type:"list"` 9604} 9605 9606// String returns the string representation 9607func (s InstanceResizePolicy) String() string { 9608 return awsutil.Prettify(s) 9609} 9610 9611// GoString returns the string representation 9612func (s InstanceResizePolicy) GoString() string { 9613 return s.String() 9614} 9615 9616// SetInstanceTerminationTimeout sets the InstanceTerminationTimeout field's value. 9617func (s *InstanceResizePolicy) SetInstanceTerminationTimeout(v int64) *InstanceResizePolicy { 9618 s.InstanceTerminationTimeout = &v 9619 return s 9620} 9621 9622// SetInstancesToProtect sets the InstancesToProtect field's value. 9623func (s *InstanceResizePolicy) SetInstancesToProtect(v []*string) *InstanceResizePolicy { 9624 s.InstancesToProtect = v 9625 return s 9626} 9627 9628// SetInstancesToTerminate sets the InstancesToTerminate field's value. 9629func (s *InstanceResizePolicy) SetInstancesToTerminate(v []*string) *InstanceResizePolicy { 9630 s.InstancesToTerminate = v 9631 return s 9632} 9633 9634// The details of the status change reason for the instance. 9635type InstanceStateChangeReason struct { 9636 _ struct{} `type:"structure"` 9637 9638 // The programmable code for the state change reason. 9639 Code *string `type:"string" enum:"InstanceStateChangeReasonCode"` 9640 9641 // The status change reason description. 9642 Message *string `type:"string"` 9643} 9644 9645// String returns the string representation 9646func (s InstanceStateChangeReason) String() string { 9647 return awsutil.Prettify(s) 9648} 9649 9650// GoString returns the string representation 9651func (s InstanceStateChangeReason) GoString() string { 9652 return s.String() 9653} 9654 9655// SetCode sets the Code field's value. 9656func (s *InstanceStateChangeReason) SetCode(v string) *InstanceStateChangeReason { 9657 s.Code = &v 9658 return s 9659} 9660 9661// SetMessage sets the Message field's value. 9662func (s *InstanceStateChangeReason) SetMessage(v string) *InstanceStateChangeReason { 9663 s.Message = &v 9664 return s 9665} 9666 9667// The instance status details. 9668type InstanceStatus struct { 9669 _ struct{} `type:"structure"` 9670 9671 // The current state of the instance. 9672 State *string `type:"string" enum:"InstanceState"` 9673 9674 // The details of the status change reason for the instance. 9675 StateChangeReason *InstanceStateChangeReason `type:"structure"` 9676 9677 // The timeline of the instance status over time. 9678 Timeline *InstanceTimeline `type:"structure"` 9679} 9680 9681// String returns the string representation 9682func (s InstanceStatus) String() string { 9683 return awsutil.Prettify(s) 9684} 9685 9686// GoString returns the string representation 9687func (s InstanceStatus) GoString() string { 9688 return s.String() 9689} 9690 9691// SetState sets the State field's value. 9692func (s *InstanceStatus) SetState(v string) *InstanceStatus { 9693 s.State = &v 9694 return s 9695} 9696 9697// SetStateChangeReason sets the StateChangeReason field's value. 9698func (s *InstanceStatus) SetStateChangeReason(v *InstanceStateChangeReason) *InstanceStatus { 9699 s.StateChangeReason = v 9700 return s 9701} 9702 9703// SetTimeline sets the Timeline field's value. 9704func (s *InstanceStatus) SetTimeline(v *InstanceTimeline) *InstanceStatus { 9705 s.Timeline = v 9706 return s 9707} 9708 9709// The timeline of the instance lifecycle. 9710type InstanceTimeline struct { 9711 _ struct{} `type:"structure"` 9712 9713 // The creation date and time of the instance. 9714 CreationDateTime *time.Time `type:"timestamp"` 9715 9716 // The date and time when the instance was terminated. 9717 EndDateTime *time.Time `type:"timestamp"` 9718 9719 // The date and time when the instance was ready to perform tasks. 9720 ReadyDateTime *time.Time `type:"timestamp"` 9721} 9722 9723// String returns the string representation 9724func (s InstanceTimeline) String() string { 9725 return awsutil.Prettify(s) 9726} 9727 9728// GoString returns the string representation 9729func (s InstanceTimeline) GoString() string { 9730 return s.String() 9731} 9732 9733// SetCreationDateTime sets the CreationDateTime field's value. 9734func (s *InstanceTimeline) SetCreationDateTime(v time.Time) *InstanceTimeline { 9735 s.CreationDateTime = &v 9736 return s 9737} 9738 9739// SetEndDateTime sets the EndDateTime field's value. 9740func (s *InstanceTimeline) SetEndDateTime(v time.Time) *InstanceTimeline { 9741 s.EndDateTime = &v 9742 return s 9743} 9744 9745// SetReadyDateTime sets the ReadyDateTime field's value. 9746func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { 9747 s.ReadyDateTime = &v 9748 return s 9749} 9750 9751// An instance type configuration for each instance type in an instance fleet, 9752// which determines the EC2 instances Amazon EMR attempts to provision to fulfill 9753// On-Demand and Spot target capacities. There can be a maximum of five instance 9754// type configurations in a fleet. 9755// 9756// The instance fleet configuration is available only in Amazon EMR versions 9757// 4.8.0 and later, excluding 5.0.x versions. 9758type InstanceTypeConfig struct { 9759 _ struct{} `type:"structure"` 9760 9761 // The bid price for each EC2 Spot Instance type as defined by InstanceType. 9762 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 9763 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 9764 BidPrice *string `type:"string"` 9765 9766 // The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance 9767 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 9768 // 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, 9769 // BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 9770 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 9771 9772 // A configuration classification that applies when provisioning cluster instances, 9773 // which can include configurations for applications and software that run on 9774 // the cluster. 9775 Configurations []*Configuration `type:"list"` 9776 9777 // The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to 9778 // each instance as defined by InstanceType. 9779 EbsConfiguration *EbsConfiguration `type:"structure"` 9780 9781 // An EC2 instance type, such as m3.xlarge. 9782 // 9783 // InstanceType is a required field 9784 InstanceType *string `min:"1" type:"string" required:"true"` 9785 9786 // The number of units that a provisioned instance of this type provides toward 9787 // fulfilling the target capacities defined in InstanceFleetConfig. This value 9788 // is 1 for a master instance fleet, and must be 1 or greater for core and task 9789 // instance fleets. Defaults to 1 if not specified. 9790 WeightedCapacity *int64 `type:"integer"` 9791} 9792 9793// String returns the string representation 9794func (s InstanceTypeConfig) String() string { 9795 return awsutil.Prettify(s) 9796} 9797 9798// GoString returns the string representation 9799func (s InstanceTypeConfig) GoString() string { 9800 return s.String() 9801} 9802 9803// Validate inspects the fields of the type to determine if they are valid. 9804func (s *InstanceTypeConfig) Validate() error { 9805 invalidParams := request.ErrInvalidParams{Context: "InstanceTypeConfig"} 9806 if s.InstanceType == nil { 9807 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 9808 } 9809 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 9810 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 9811 } 9812 if s.EbsConfiguration != nil { 9813 if err := s.EbsConfiguration.Validate(); err != nil { 9814 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 9815 } 9816 } 9817 9818 if invalidParams.Len() > 0 { 9819 return invalidParams 9820 } 9821 return nil 9822} 9823 9824// SetBidPrice sets the BidPrice field's value. 9825func (s *InstanceTypeConfig) SetBidPrice(v string) *InstanceTypeConfig { 9826 s.BidPrice = &v 9827 return s 9828} 9829 9830// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 9831func (s *InstanceTypeConfig) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeConfig { 9832 s.BidPriceAsPercentageOfOnDemandPrice = &v 9833 return s 9834} 9835 9836// SetConfigurations sets the Configurations field's value. 9837func (s *InstanceTypeConfig) SetConfigurations(v []*Configuration) *InstanceTypeConfig { 9838 s.Configurations = v 9839 return s 9840} 9841 9842// SetEbsConfiguration sets the EbsConfiguration field's value. 9843func (s *InstanceTypeConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceTypeConfig { 9844 s.EbsConfiguration = v 9845 return s 9846} 9847 9848// SetInstanceType sets the InstanceType field's value. 9849func (s *InstanceTypeConfig) SetInstanceType(v string) *InstanceTypeConfig { 9850 s.InstanceType = &v 9851 return s 9852} 9853 9854// SetWeightedCapacity sets the WeightedCapacity field's value. 9855func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig { 9856 s.WeightedCapacity = &v 9857 return s 9858} 9859 9860// The configuration specification for each instance type in an instance fleet. 9861// 9862// The instance fleet configuration is available only in Amazon EMR versions 9863// 4.8.0 and later, excluding 5.0.x versions. 9864type InstanceTypeSpecification struct { 9865 _ struct{} `type:"structure"` 9866 9867 // The bid price for each EC2 Spot Instance type as defined by InstanceType. 9868 // Expressed in USD. 9869 BidPrice *string `type:"string"` 9870 9871 // The bid price, as a percentage of On-Demand price, for each EC2 Spot Instance 9872 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 9873 // 20%). 9874 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 9875 9876 // A configuration classification that applies when provisioning cluster instances, 9877 // which can include configurations for applications and software bundled with 9878 // Amazon EMR. 9879 Configurations []*Configuration `type:"list"` 9880 9881 // The configuration of Amazon Elastic Block Storage (Amazon EBS) attached to 9882 // each instance as defined by InstanceType. 9883 EbsBlockDevices []*EbsBlockDevice `type:"list"` 9884 9885 // Evaluates to TRUE when the specified InstanceType is EBS-optimized. 9886 EbsOptimized *bool `type:"boolean"` 9887 9888 // The EC2 instance type, for example m3.xlarge. 9889 InstanceType *string `min:"1" type:"string"` 9890 9891 // The number of units that a provisioned instance of this type provides toward 9892 // fulfilling the target capacities defined in InstanceFleetConfig. Capacity 9893 // values represent performance characteristics such as vCPUs, memory, or I/O. 9894 // If not specified, the default value is 1. 9895 WeightedCapacity *int64 `type:"integer"` 9896} 9897 9898// String returns the string representation 9899func (s InstanceTypeSpecification) String() string { 9900 return awsutil.Prettify(s) 9901} 9902 9903// GoString returns the string representation 9904func (s InstanceTypeSpecification) GoString() string { 9905 return s.String() 9906} 9907 9908// SetBidPrice sets the BidPrice field's value. 9909func (s *InstanceTypeSpecification) SetBidPrice(v string) *InstanceTypeSpecification { 9910 s.BidPrice = &v 9911 return s 9912} 9913 9914// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 9915func (s *InstanceTypeSpecification) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeSpecification { 9916 s.BidPriceAsPercentageOfOnDemandPrice = &v 9917 return s 9918} 9919 9920// SetConfigurations sets the Configurations field's value. 9921func (s *InstanceTypeSpecification) SetConfigurations(v []*Configuration) *InstanceTypeSpecification { 9922 s.Configurations = v 9923 return s 9924} 9925 9926// SetEbsBlockDevices sets the EbsBlockDevices field's value. 9927func (s *InstanceTypeSpecification) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceTypeSpecification { 9928 s.EbsBlockDevices = v 9929 return s 9930} 9931 9932// SetEbsOptimized sets the EbsOptimized field's value. 9933func (s *InstanceTypeSpecification) SetEbsOptimized(v bool) *InstanceTypeSpecification { 9934 s.EbsOptimized = &v 9935 return s 9936} 9937 9938// SetInstanceType sets the InstanceType field's value. 9939func (s *InstanceTypeSpecification) SetInstanceType(v string) *InstanceTypeSpecification { 9940 s.InstanceType = &v 9941 return s 9942} 9943 9944// SetWeightedCapacity sets the WeightedCapacity field's value. 9945func (s *InstanceTypeSpecification) SetWeightedCapacity(v int64) *InstanceTypeSpecification { 9946 s.WeightedCapacity = &v 9947 return s 9948} 9949 9950// Indicates that an error occurred while processing the request and that the 9951// request was not completed. 9952type InternalServerError struct { 9953 _ struct{} `type:"structure"` 9954 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 9955 9956 Message_ *string `locationName:"message" type:"string"` 9957} 9958 9959// String returns the string representation 9960func (s InternalServerError) String() string { 9961 return awsutil.Prettify(s) 9962} 9963 9964// GoString returns the string representation 9965func (s InternalServerError) GoString() string { 9966 return s.String() 9967} 9968 9969func newErrorInternalServerError(v protocol.ResponseMetadata) error { 9970 return &InternalServerError{ 9971 RespMetadata: v, 9972 } 9973} 9974 9975// Code returns the exception type name. 9976func (s *InternalServerError) Code() string { 9977 return "InternalServerError" 9978} 9979 9980// Message returns the exception's message. 9981func (s *InternalServerError) Message() string { 9982 if s.Message_ != nil { 9983 return *s.Message_ 9984 } 9985 return "" 9986} 9987 9988// OrigErr always returns nil, satisfies awserr.Error interface. 9989func (s *InternalServerError) OrigErr() error { 9990 return nil 9991} 9992 9993func (s *InternalServerError) Error() string { 9994 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 9995} 9996 9997// Status code returns the HTTP status code for the request's response error. 9998func (s *InternalServerError) StatusCode() int { 9999 return s.RespMetadata.StatusCode 10000} 10001 10002// RequestID returns the service's response RequestID for request. 10003func (s *InternalServerError) RequestID() string { 10004 return s.RespMetadata.RequestID 10005} 10006 10007// This exception occurs when there is an internal failure in the Amazon EMR 10008// service. 10009type InternalServerException struct { 10010 _ struct{} `type:"structure"` 10011 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10012 10013 // The message associated with the exception. 10014 Message_ *string `locationName:"Message" type:"string"` 10015} 10016 10017// String returns the string representation 10018func (s InternalServerException) String() string { 10019 return awsutil.Prettify(s) 10020} 10021 10022// GoString returns the string representation 10023func (s InternalServerException) GoString() string { 10024 return s.String() 10025} 10026 10027func newErrorInternalServerException(v protocol.ResponseMetadata) error { 10028 return &InternalServerException{ 10029 RespMetadata: v, 10030 } 10031} 10032 10033// Code returns the exception type name. 10034func (s *InternalServerException) Code() string { 10035 return "InternalServerException" 10036} 10037 10038// Message returns the exception's message. 10039func (s *InternalServerException) Message() string { 10040 if s.Message_ != nil { 10041 return *s.Message_ 10042 } 10043 return "" 10044} 10045 10046// OrigErr always returns nil, satisfies awserr.Error interface. 10047func (s *InternalServerException) OrigErr() error { 10048 return nil 10049} 10050 10051func (s *InternalServerException) Error() string { 10052 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 10053} 10054 10055// Status code returns the HTTP status code for the request's response error. 10056func (s *InternalServerException) StatusCode() int { 10057 return s.RespMetadata.StatusCode 10058} 10059 10060// RequestID returns the service's response RequestID for request. 10061func (s *InternalServerException) RequestID() string { 10062 return s.RespMetadata.RequestID 10063} 10064 10065// This exception occurs when there is something wrong with user input. 10066type InvalidRequestException struct { 10067 _ struct{} `type:"structure"` 10068 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 10069 10070 // The error code associated with the exception. 10071 ErrorCode *string `min:"1" type:"string"` 10072 10073 // The message associated with the exception. 10074 Message_ *string `locationName:"Message" type:"string"` 10075} 10076 10077// String returns the string representation 10078func (s InvalidRequestException) String() string { 10079 return awsutil.Prettify(s) 10080} 10081 10082// GoString returns the string representation 10083func (s InvalidRequestException) GoString() string { 10084 return s.String() 10085} 10086 10087func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 10088 return &InvalidRequestException{ 10089 RespMetadata: v, 10090 } 10091} 10092 10093// Code returns the exception type name. 10094func (s *InvalidRequestException) Code() string { 10095 return "InvalidRequestException" 10096} 10097 10098// Message returns the exception's message. 10099func (s *InvalidRequestException) Message() string { 10100 if s.Message_ != nil { 10101 return *s.Message_ 10102 } 10103 return "" 10104} 10105 10106// OrigErr always returns nil, satisfies awserr.Error interface. 10107func (s *InvalidRequestException) OrigErr() error { 10108 return nil 10109} 10110 10111func (s *InvalidRequestException) Error() string { 10112 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 10113} 10114 10115// Status code returns the HTTP status code for the request's response error. 10116func (s *InvalidRequestException) StatusCode() int { 10117 return s.RespMetadata.StatusCode 10118} 10119 10120// RequestID returns the service's response RequestID for request. 10121func (s *InvalidRequestException) RequestID() string { 10122 return s.RespMetadata.RequestID 10123} 10124 10125// A description of a cluster (job flow). 10126type JobFlowDetail struct { 10127 _ struct{} `type:"structure"` 10128 10129 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 10130 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 10131 AmiVersion *string `type:"string"` 10132 10133 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 10134 // The IAM role provides a way for the automatic scaling feature to get the 10135 // required permissions it needs to launch and terminate EC2 instances in an 10136 // instance group. 10137 AutoScalingRole *string `type:"string"` 10138 10139 // A list of the bootstrap actions run by the job flow. 10140 BootstrapActions []*BootstrapActionDetail `type:"list"` 10141 10142 // Describes the execution status of the job flow. 10143 // 10144 // ExecutionStatusDetail is a required field 10145 ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"` 10146 10147 // Describes the Amazon EC2 instances of the job flow. 10148 // 10149 // Instances is a required field 10150 Instances *JobFlowInstancesDetail `type:"structure" required:"true"` 10151 10152 // The job flow identifier. 10153 // 10154 // JobFlowId is a required field 10155 JobFlowId *string `type:"string" required:"true"` 10156 10157 // The IAM role that was specified when the job flow was launched. The EC2 instances 10158 // of the job flow assume this role. 10159 JobFlowRole *string `type:"string"` 10160 10161 // The AWS KMS customer master key (CMK) used for encrypting log files. This 10162 // attribute is only available with EMR version 5.30.0 and later, excluding 10163 // EMR 6.0.0. 10164 LogEncryptionKmsKeyId *string `type:"string"` 10165 10166 // The location in Amazon S3 where log files for the job are stored. 10167 LogUri *string `type:"string"` 10168 10169 // The name of the job flow. 10170 // 10171 // Name is a required field 10172 Name *string `type:"string" required:"true"` 10173 10174 // The way that individual Amazon EC2 instances terminate when an automatic 10175 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 10176 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 10177 // regardless of when the request to terminate the instance was submitted. This 10178 // option is only available with Amazon EMR 5.1.0 and later and is the default 10179 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 10180 // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before 10181 // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. 10182 // With either behavior, Amazon EMR removes the least active nodes first and 10183 // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 10184 // available only in Amazon EMR version 4.1.0 and later, and is the default 10185 // for versions of Amazon EMR earlier than 5.1.0. 10186 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 10187 10188 // The IAM role that is assumed by the Amazon EMR service to access AWS resources 10189 // on your behalf. 10190 ServiceRole *string `type:"string"` 10191 10192 // A list of steps run by the job flow. 10193 Steps []*StepDetail `type:"list"` 10194 10195 // A list of strings set by third-party software when the job flow is launched. 10196 // If you are not using third-party software to manage the job flow, this value 10197 // is empty. 10198 SupportedProducts []*string `type:"list"` 10199 10200 // Indicates whether the cluster is visible to all IAM users of the AWS account 10201 // associated with the cluster. The default value, true, indicates that all 10202 // IAM users in the AWS account can perform cluster actions if they have the 10203 // proper IAM policy permissions. If this value is false, only the IAM user 10204 // that created the cluster can perform actions. This value can be changed on 10205 // a running cluster by using the SetVisibleToAllUsers action. You can override 10206 // the default value of true when you create a cluster by using the VisibleToAllUsers 10207 // parameter of the RunJobFlow action. 10208 VisibleToAllUsers *bool `type:"boolean"` 10209} 10210 10211// String returns the string representation 10212func (s JobFlowDetail) String() string { 10213 return awsutil.Prettify(s) 10214} 10215 10216// GoString returns the string representation 10217func (s JobFlowDetail) GoString() string { 10218 return s.String() 10219} 10220 10221// SetAmiVersion sets the AmiVersion field's value. 10222func (s *JobFlowDetail) SetAmiVersion(v string) *JobFlowDetail { 10223 s.AmiVersion = &v 10224 return s 10225} 10226 10227// SetAutoScalingRole sets the AutoScalingRole field's value. 10228func (s *JobFlowDetail) SetAutoScalingRole(v string) *JobFlowDetail { 10229 s.AutoScalingRole = &v 10230 return s 10231} 10232 10233// SetBootstrapActions sets the BootstrapActions field's value. 10234func (s *JobFlowDetail) SetBootstrapActions(v []*BootstrapActionDetail) *JobFlowDetail { 10235 s.BootstrapActions = v 10236 return s 10237} 10238 10239// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 10240func (s *JobFlowDetail) SetExecutionStatusDetail(v *JobFlowExecutionStatusDetail) *JobFlowDetail { 10241 s.ExecutionStatusDetail = v 10242 return s 10243} 10244 10245// SetInstances sets the Instances field's value. 10246func (s *JobFlowDetail) SetInstances(v *JobFlowInstancesDetail) *JobFlowDetail { 10247 s.Instances = v 10248 return s 10249} 10250 10251// SetJobFlowId sets the JobFlowId field's value. 10252func (s *JobFlowDetail) SetJobFlowId(v string) *JobFlowDetail { 10253 s.JobFlowId = &v 10254 return s 10255} 10256 10257// SetJobFlowRole sets the JobFlowRole field's value. 10258func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail { 10259 s.JobFlowRole = &v 10260 return s 10261} 10262 10263// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 10264func (s *JobFlowDetail) SetLogEncryptionKmsKeyId(v string) *JobFlowDetail { 10265 s.LogEncryptionKmsKeyId = &v 10266 return s 10267} 10268 10269// SetLogUri sets the LogUri field's value. 10270func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail { 10271 s.LogUri = &v 10272 return s 10273} 10274 10275// SetName sets the Name field's value. 10276func (s *JobFlowDetail) SetName(v string) *JobFlowDetail { 10277 s.Name = &v 10278 return s 10279} 10280 10281// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 10282func (s *JobFlowDetail) SetScaleDownBehavior(v string) *JobFlowDetail { 10283 s.ScaleDownBehavior = &v 10284 return s 10285} 10286 10287// SetServiceRole sets the ServiceRole field's value. 10288func (s *JobFlowDetail) SetServiceRole(v string) *JobFlowDetail { 10289 s.ServiceRole = &v 10290 return s 10291} 10292 10293// SetSteps sets the Steps field's value. 10294func (s *JobFlowDetail) SetSteps(v []*StepDetail) *JobFlowDetail { 10295 s.Steps = v 10296 return s 10297} 10298 10299// SetSupportedProducts sets the SupportedProducts field's value. 10300func (s *JobFlowDetail) SetSupportedProducts(v []*string) *JobFlowDetail { 10301 s.SupportedProducts = v 10302 return s 10303} 10304 10305// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 10306func (s *JobFlowDetail) SetVisibleToAllUsers(v bool) *JobFlowDetail { 10307 s.VisibleToAllUsers = &v 10308 return s 10309} 10310 10311// Describes the status of the cluster (job flow). 10312type JobFlowExecutionStatusDetail struct { 10313 _ struct{} `type:"structure"` 10314 10315 // The creation date and time of the job flow. 10316 // 10317 // CreationDateTime is a required field 10318 CreationDateTime *time.Time `type:"timestamp" required:"true"` 10319 10320 // The completion date and time of the job flow. 10321 EndDateTime *time.Time `type:"timestamp"` 10322 10323 // Description of the job flow last changed state. 10324 LastStateChangeReason *string `type:"string"` 10325 10326 // The date and time when the job flow was ready to start running bootstrap 10327 // actions. 10328 ReadyDateTime *time.Time `type:"timestamp"` 10329 10330 // The start date and time of the job flow. 10331 StartDateTime *time.Time `type:"timestamp"` 10332 10333 // The state of the job flow. 10334 // 10335 // State is a required field 10336 State *string `type:"string" required:"true" enum:"JobFlowExecutionState"` 10337} 10338 10339// String returns the string representation 10340func (s JobFlowExecutionStatusDetail) String() string { 10341 return awsutil.Prettify(s) 10342} 10343 10344// GoString returns the string representation 10345func (s JobFlowExecutionStatusDetail) GoString() string { 10346 return s.String() 10347} 10348 10349// SetCreationDateTime sets the CreationDateTime field's value. 10350func (s *JobFlowExecutionStatusDetail) SetCreationDateTime(v time.Time) *JobFlowExecutionStatusDetail { 10351 s.CreationDateTime = &v 10352 return s 10353} 10354 10355// SetEndDateTime sets the EndDateTime field's value. 10356func (s *JobFlowExecutionStatusDetail) SetEndDateTime(v time.Time) *JobFlowExecutionStatusDetail { 10357 s.EndDateTime = &v 10358 return s 10359} 10360 10361// SetLastStateChangeReason sets the LastStateChangeReason field's value. 10362func (s *JobFlowExecutionStatusDetail) SetLastStateChangeReason(v string) *JobFlowExecutionStatusDetail { 10363 s.LastStateChangeReason = &v 10364 return s 10365} 10366 10367// SetReadyDateTime sets the ReadyDateTime field's value. 10368func (s *JobFlowExecutionStatusDetail) SetReadyDateTime(v time.Time) *JobFlowExecutionStatusDetail { 10369 s.ReadyDateTime = &v 10370 return s 10371} 10372 10373// SetStartDateTime sets the StartDateTime field's value. 10374func (s *JobFlowExecutionStatusDetail) SetStartDateTime(v time.Time) *JobFlowExecutionStatusDetail { 10375 s.StartDateTime = &v 10376 return s 10377} 10378 10379// SetState sets the State field's value. 10380func (s *JobFlowExecutionStatusDetail) SetState(v string) *JobFlowExecutionStatusDetail { 10381 s.State = &v 10382 return s 10383} 10384 10385// A description of the Amazon EC2 instance on which the cluster (job flow) 10386// runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or 10387// InstanceFleets. They cannot be used together. You may also have MasterInstanceType, 10388// SlaveInstanceType, and InstanceCount (all three must be present), but we 10389// don't recommend this configuration. 10390type JobFlowInstancesConfig struct { 10391 _ struct{} `type:"structure"` 10392 10393 // A list of additional Amazon EC2 security group IDs for the master node. 10394 AdditionalMasterSecurityGroups []*string `type:"list"` 10395 10396 // A list of additional Amazon EC2 security group IDs for the core and task 10397 // nodes. 10398 AdditionalSlaveSecurityGroups []*string `type:"list"` 10399 10400 // The name of the EC2 key pair that can be used to connect to the master node 10401 // using SSH as the user called "hadoop." 10402 Ec2KeyName *string `type:"string"` 10403 10404 // Applies to clusters that use the uniform instance group configuration. To 10405 // launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this 10406 // parameter to the identifier of the Amazon VPC subnet where you want the cluster 10407 // to launch. If you do not specify this value and your account supports EC2-Classic, 10408 // the cluster launches in EC2-Classic. 10409 Ec2SubnetId *string `type:"string"` 10410 10411 // Applies to clusters that use the instance fleet configuration. When multiple 10412 // EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances 10413 // in the optimal subnet. 10414 // 10415 // The instance fleet configuration is available only in Amazon EMR versions 10416 // 4.8.0 and later, excluding 5.0.x versions. 10417 Ec2SubnetIds []*string `type:"list"` 10418 10419 // The identifier of the Amazon EC2 security group for the master node. 10420 EmrManagedMasterSecurityGroup *string `type:"string"` 10421 10422 // The identifier of the Amazon EC2 security group for the core and task nodes. 10423 EmrManagedSlaveSecurityGroup *string `type:"string"` 10424 10425 // Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop 10426 // version for the cluster. Valid inputs are "0.18" (no longer maintained), 10427 // "0.20" (no longer maintained), "0.20.205" (no longer maintained), "1.0.3", 10428 // "2.2.0", or "2.4.0". If you do not set this value, the default of 0.18 is 10429 // used, unless the AmiVersion parameter is set in the RunJobFlow call, in which 10430 // case the default version of Hadoop for that AMI version is used. 10431 HadoopVersion *string `type:"string"` 10432 10433 // The number of EC2 instances in the cluster. 10434 InstanceCount *int64 `type:"integer"` 10435 10436 // 10437 // The instance fleet configuration is available only in Amazon EMR versions 10438 // 4.8.0 and later, excluding 5.0.x versions. 10439 // 10440 // Describes the EC2 instances and instance configurations for clusters that 10441 // use the instance fleet configuration. 10442 InstanceFleets []*InstanceFleetConfig `type:"list"` 10443 10444 // Configuration for the instance groups in a cluster. 10445 InstanceGroups []*InstanceGroupConfig `type:"list"` 10446 10447 // Specifies whether the cluster should remain available after completing all 10448 // steps. 10449 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 10450 10451 // The EC2 instance type of the master node. 10452 MasterInstanceType *string `min:"1" type:"string"` 10453 10454 // The Availability Zone in which the cluster runs. 10455 Placement *PlacementType `type:"structure"` 10456 10457 // The identifier of the Amazon EC2 security group for the Amazon EMR service 10458 // to access clusters in VPC private subnets. 10459 ServiceAccessSecurityGroup *string `type:"string"` 10460 10461 // The EC2 instance type of the core and task nodes. 10462 SlaveInstanceType *string `min:"1" type:"string"` 10463 10464 // Specifies whether to lock the cluster to prevent the Amazon EC2 instances 10465 // from being terminated by API call, user intervention, or in the event of 10466 // a job-flow error. 10467 TerminationProtected *bool `type:"boolean"` 10468} 10469 10470// String returns the string representation 10471func (s JobFlowInstancesConfig) String() string { 10472 return awsutil.Prettify(s) 10473} 10474 10475// GoString returns the string representation 10476func (s JobFlowInstancesConfig) GoString() string { 10477 return s.String() 10478} 10479 10480// Validate inspects the fields of the type to determine if they are valid. 10481func (s *JobFlowInstancesConfig) Validate() error { 10482 invalidParams := request.ErrInvalidParams{Context: "JobFlowInstancesConfig"} 10483 if s.MasterInstanceType != nil && len(*s.MasterInstanceType) < 1 { 10484 invalidParams.Add(request.NewErrParamMinLen("MasterInstanceType", 1)) 10485 } 10486 if s.SlaveInstanceType != nil && len(*s.SlaveInstanceType) < 1 { 10487 invalidParams.Add(request.NewErrParamMinLen("SlaveInstanceType", 1)) 10488 } 10489 if s.InstanceFleets != nil { 10490 for i, v := range s.InstanceFleets { 10491 if v == nil { 10492 continue 10493 } 10494 if err := v.Validate(); err != nil { 10495 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceFleets", i), err.(request.ErrInvalidParams)) 10496 } 10497 } 10498 } 10499 if s.InstanceGroups != nil { 10500 for i, v := range s.InstanceGroups { 10501 if v == nil { 10502 continue 10503 } 10504 if err := v.Validate(); err != nil { 10505 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 10506 } 10507 } 10508 } 10509 10510 if invalidParams.Len() > 0 { 10511 return invalidParams 10512 } 10513 return nil 10514} 10515 10516// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 10517func (s *JobFlowInstancesConfig) SetAdditionalMasterSecurityGroups(v []*string) *JobFlowInstancesConfig { 10518 s.AdditionalMasterSecurityGroups = v 10519 return s 10520} 10521 10522// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 10523func (s *JobFlowInstancesConfig) SetAdditionalSlaveSecurityGroups(v []*string) *JobFlowInstancesConfig { 10524 s.AdditionalSlaveSecurityGroups = v 10525 return s 10526} 10527 10528// SetEc2KeyName sets the Ec2KeyName field's value. 10529func (s *JobFlowInstancesConfig) SetEc2KeyName(v string) *JobFlowInstancesConfig { 10530 s.Ec2KeyName = &v 10531 return s 10532} 10533 10534// SetEc2SubnetId sets the Ec2SubnetId field's value. 10535func (s *JobFlowInstancesConfig) SetEc2SubnetId(v string) *JobFlowInstancesConfig { 10536 s.Ec2SubnetId = &v 10537 return s 10538} 10539 10540// SetEc2SubnetIds sets the Ec2SubnetIds field's value. 10541func (s *JobFlowInstancesConfig) SetEc2SubnetIds(v []*string) *JobFlowInstancesConfig { 10542 s.Ec2SubnetIds = v 10543 return s 10544} 10545 10546// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 10547func (s *JobFlowInstancesConfig) SetEmrManagedMasterSecurityGroup(v string) *JobFlowInstancesConfig { 10548 s.EmrManagedMasterSecurityGroup = &v 10549 return s 10550} 10551 10552// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 10553func (s *JobFlowInstancesConfig) SetEmrManagedSlaveSecurityGroup(v string) *JobFlowInstancesConfig { 10554 s.EmrManagedSlaveSecurityGroup = &v 10555 return s 10556} 10557 10558// SetHadoopVersion sets the HadoopVersion field's value. 10559func (s *JobFlowInstancesConfig) SetHadoopVersion(v string) *JobFlowInstancesConfig { 10560 s.HadoopVersion = &v 10561 return s 10562} 10563 10564// SetInstanceCount sets the InstanceCount field's value. 10565func (s *JobFlowInstancesConfig) SetInstanceCount(v int64) *JobFlowInstancesConfig { 10566 s.InstanceCount = &v 10567 return s 10568} 10569 10570// SetInstanceFleets sets the InstanceFleets field's value. 10571func (s *JobFlowInstancesConfig) SetInstanceFleets(v []*InstanceFleetConfig) *JobFlowInstancesConfig { 10572 s.InstanceFleets = v 10573 return s 10574} 10575 10576// SetInstanceGroups sets the InstanceGroups field's value. 10577func (s *JobFlowInstancesConfig) SetInstanceGroups(v []*InstanceGroupConfig) *JobFlowInstancesConfig { 10578 s.InstanceGroups = v 10579 return s 10580} 10581 10582// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 10583func (s *JobFlowInstancesConfig) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesConfig { 10584 s.KeepJobFlowAliveWhenNoSteps = &v 10585 return s 10586} 10587 10588// SetMasterInstanceType sets the MasterInstanceType field's value. 10589func (s *JobFlowInstancesConfig) SetMasterInstanceType(v string) *JobFlowInstancesConfig { 10590 s.MasterInstanceType = &v 10591 return s 10592} 10593 10594// SetPlacement sets the Placement field's value. 10595func (s *JobFlowInstancesConfig) SetPlacement(v *PlacementType) *JobFlowInstancesConfig { 10596 s.Placement = v 10597 return s 10598} 10599 10600// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 10601func (s *JobFlowInstancesConfig) SetServiceAccessSecurityGroup(v string) *JobFlowInstancesConfig { 10602 s.ServiceAccessSecurityGroup = &v 10603 return s 10604} 10605 10606// SetSlaveInstanceType sets the SlaveInstanceType field's value. 10607func (s *JobFlowInstancesConfig) SetSlaveInstanceType(v string) *JobFlowInstancesConfig { 10608 s.SlaveInstanceType = &v 10609 return s 10610} 10611 10612// SetTerminationProtected sets the TerminationProtected field's value. 10613func (s *JobFlowInstancesConfig) SetTerminationProtected(v bool) *JobFlowInstancesConfig { 10614 s.TerminationProtected = &v 10615 return s 10616} 10617 10618// Specify the type of Amazon EC2 instances that the cluster (job flow) runs 10619// on. 10620type JobFlowInstancesDetail struct { 10621 _ struct{} `type:"structure"` 10622 10623 // The name of an Amazon EC2 key pair that can be used to connect to the master 10624 // node using SSH. 10625 Ec2KeyName *string `type:"string"` 10626 10627 // For clusters launched within Amazon Virtual Private Cloud, this is the identifier 10628 // of the subnet where the cluster was launched. 10629 Ec2SubnetId *string `type:"string"` 10630 10631 // The Hadoop version for the cluster. 10632 HadoopVersion *string `type:"string"` 10633 10634 // The number of Amazon EC2 instances in the cluster. If the value is 1, the 10635 // same instance serves as both the master and core and task node. If the value 10636 // is greater than 1, one instance is the master node and all others are core 10637 // and task nodes. 10638 // 10639 // InstanceCount is a required field 10640 InstanceCount *int64 `type:"integer" required:"true"` 10641 10642 // Details about the instance groups in a cluster. 10643 InstanceGroups []*InstanceGroupDetail `type:"list"` 10644 10645 // Specifies whether the cluster should remain available after completing all 10646 // steps. 10647 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 10648 10649 // The Amazon EC2 instance identifier of the master node. 10650 MasterInstanceId *string `type:"string"` 10651 10652 // The Amazon EC2 master node instance type. 10653 // 10654 // MasterInstanceType is a required field 10655 MasterInstanceType *string `min:"1" type:"string" required:"true"` 10656 10657 // The DNS name of the master node. If the cluster is on a private subnet, this 10658 // is the private DNS name. On a public subnet, this is the public DNS name. 10659 MasterPublicDnsName *string `type:"string"` 10660 10661 // An approximation of the cost of the cluster, represented in m1.small/hours. 10662 // This value is increased one time for every hour that an m1.small instance 10663 // runs. Larger instances are weighted more heavily, so an Amazon EC2 instance 10664 // that is roughly four times more expensive would result in the normalized 10665 // instance hours being increased incrementally four times. This result is only 10666 // an approximation and does not reflect the actual billing rate. 10667 NormalizedInstanceHours *int64 `type:"integer"` 10668 10669 // The Amazon EC2 Availability Zone for the cluster. 10670 Placement *PlacementType `type:"structure"` 10671 10672 // The Amazon EC2 core and task node instance type. 10673 // 10674 // SlaveInstanceType is a required field 10675 SlaveInstanceType *string `min:"1" type:"string" required:"true"` 10676 10677 // Specifies whether the Amazon EC2 instances in the cluster are protected from 10678 // termination by API calls, user intervention, or in the event of a job-flow 10679 // error. 10680 TerminationProtected *bool `type:"boolean"` 10681} 10682 10683// String returns the string representation 10684func (s JobFlowInstancesDetail) String() string { 10685 return awsutil.Prettify(s) 10686} 10687 10688// GoString returns the string representation 10689func (s JobFlowInstancesDetail) GoString() string { 10690 return s.String() 10691} 10692 10693// SetEc2KeyName sets the Ec2KeyName field's value. 10694func (s *JobFlowInstancesDetail) SetEc2KeyName(v string) *JobFlowInstancesDetail { 10695 s.Ec2KeyName = &v 10696 return s 10697} 10698 10699// SetEc2SubnetId sets the Ec2SubnetId field's value. 10700func (s *JobFlowInstancesDetail) SetEc2SubnetId(v string) *JobFlowInstancesDetail { 10701 s.Ec2SubnetId = &v 10702 return s 10703} 10704 10705// SetHadoopVersion sets the HadoopVersion field's value. 10706func (s *JobFlowInstancesDetail) SetHadoopVersion(v string) *JobFlowInstancesDetail { 10707 s.HadoopVersion = &v 10708 return s 10709} 10710 10711// SetInstanceCount sets the InstanceCount field's value. 10712func (s *JobFlowInstancesDetail) SetInstanceCount(v int64) *JobFlowInstancesDetail { 10713 s.InstanceCount = &v 10714 return s 10715} 10716 10717// SetInstanceGroups sets the InstanceGroups field's value. 10718func (s *JobFlowInstancesDetail) SetInstanceGroups(v []*InstanceGroupDetail) *JobFlowInstancesDetail { 10719 s.InstanceGroups = v 10720 return s 10721} 10722 10723// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 10724func (s *JobFlowInstancesDetail) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesDetail { 10725 s.KeepJobFlowAliveWhenNoSteps = &v 10726 return s 10727} 10728 10729// SetMasterInstanceId sets the MasterInstanceId field's value. 10730func (s *JobFlowInstancesDetail) SetMasterInstanceId(v string) *JobFlowInstancesDetail { 10731 s.MasterInstanceId = &v 10732 return s 10733} 10734 10735// SetMasterInstanceType sets the MasterInstanceType field's value. 10736func (s *JobFlowInstancesDetail) SetMasterInstanceType(v string) *JobFlowInstancesDetail { 10737 s.MasterInstanceType = &v 10738 return s 10739} 10740 10741// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 10742func (s *JobFlowInstancesDetail) SetMasterPublicDnsName(v string) *JobFlowInstancesDetail { 10743 s.MasterPublicDnsName = &v 10744 return s 10745} 10746 10747// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 10748func (s *JobFlowInstancesDetail) SetNormalizedInstanceHours(v int64) *JobFlowInstancesDetail { 10749 s.NormalizedInstanceHours = &v 10750 return s 10751} 10752 10753// SetPlacement sets the Placement field's value. 10754func (s *JobFlowInstancesDetail) SetPlacement(v *PlacementType) *JobFlowInstancesDetail { 10755 s.Placement = v 10756 return s 10757} 10758 10759// SetSlaveInstanceType sets the SlaveInstanceType field's value. 10760func (s *JobFlowInstancesDetail) SetSlaveInstanceType(v string) *JobFlowInstancesDetail { 10761 s.SlaveInstanceType = &v 10762 return s 10763} 10764 10765// SetTerminationProtected sets the TerminationProtected field's value. 10766func (s *JobFlowInstancesDetail) SetTerminationProtected(v bool) *JobFlowInstancesDetail { 10767 s.TerminationProtected = &v 10768 return s 10769} 10770 10771// Attributes for Kerberos configuration when Kerberos authentication is enabled 10772// using a security configuration. For more information see Use Kerberos Authentication 10773// (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 10774// in the Amazon EMR Management Guide. 10775type KerberosAttributes struct { 10776 _ struct{} `type:"structure"` 10777 10778 // The Active Directory password for ADDomainJoinUser. 10779 ADDomainJoinPassword *string `type:"string"` 10780 10781 // Required only when establishing a cross-realm trust with an Active Directory 10782 // domain. A user with sufficient privileges to join resources to the domain. 10783 ADDomainJoinUser *string `type:"string"` 10784 10785 // Required only when establishing a cross-realm trust with a KDC in a different 10786 // realm. The cross-realm principal password, which must be identical across 10787 // realms. 10788 CrossRealmTrustPrincipalPassword *string `type:"string"` 10789 10790 // The password used within the cluster for the kadmin service on the cluster-dedicated 10791 // KDC, which maintains Kerberos principals, password policies, and keytabs 10792 // for the cluster. 10793 // 10794 // KdcAdminPassword is a required field 10795 KdcAdminPassword *string `type:"string" required:"true"` 10796 10797 // The name of the Kerberos realm to which all nodes in a cluster belong. For 10798 // example, EC2.INTERNAL. 10799 // 10800 // Realm is a required field 10801 Realm *string `type:"string" required:"true"` 10802} 10803 10804// String returns the string representation 10805func (s KerberosAttributes) String() string { 10806 return awsutil.Prettify(s) 10807} 10808 10809// GoString returns the string representation 10810func (s KerberosAttributes) GoString() string { 10811 return s.String() 10812} 10813 10814// Validate inspects the fields of the type to determine if they are valid. 10815func (s *KerberosAttributes) Validate() error { 10816 invalidParams := request.ErrInvalidParams{Context: "KerberosAttributes"} 10817 if s.KdcAdminPassword == nil { 10818 invalidParams.Add(request.NewErrParamRequired("KdcAdminPassword")) 10819 } 10820 if s.Realm == nil { 10821 invalidParams.Add(request.NewErrParamRequired("Realm")) 10822 } 10823 10824 if invalidParams.Len() > 0 { 10825 return invalidParams 10826 } 10827 return nil 10828} 10829 10830// SetADDomainJoinPassword sets the ADDomainJoinPassword field's value. 10831func (s *KerberosAttributes) SetADDomainJoinPassword(v string) *KerberosAttributes { 10832 s.ADDomainJoinPassword = &v 10833 return s 10834} 10835 10836// SetADDomainJoinUser sets the ADDomainJoinUser field's value. 10837func (s *KerberosAttributes) SetADDomainJoinUser(v string) *KerberosAttributes { 10838 s.ADDomainJoinUser = &v 10839 return s 10840} 10841 10842// SetCrossRealmTrustPrincipalPassword sets the CrossRealmTrustPrincipalPassword field's value. 10843func (s *KerberosAttributes) SetCrossRealmTrustPrincipalPassword(v string) *KerberosAttributes { 10844 s.CrossRealmTrustPrincipalPassword = &v 10845 return s 10846} 10847 10848// SetKdcAdminPassword sets the KdcAdminPassword field's value. 10849func (s *KerberosAttributes) SetKdcAdminPassword(v string) *KerberosAttributes { 10850 s.KdcAdminPassword = &v 10851 return s 10852} 10853 10854// SetRealm sets the Realm field's value. 10855func (s *KerberosAttributes) SetRealm(v string) *KerberosAttributes { 10856 s.Realm = &v 10857 return s 10858} 10859 10860// A key-value pair. 10861type KeyValue struct { 10862 _ struct{} `type:"structure"` 10863 10864 // The unique identifier of a key-value pair. 10865 Key *string `type:"string"` 10866 10867 // The value part of the identified key. 10868 Value *string `type:"string"` 10869} 10870 10871// String returns the string representation 10872func (s KeyValue) String() string { 10873 return awsutil.Prettify(s) 10874} 10875 10876// GoString returns the string representation 10877func (s KeyValue) GoString() string { 10878 return s.String() 10879} 10880 10881// SetKey sets the Key field's value. 10882func (s *KeyValue) SetKey(v string) *KeyValue { 10883 s.Key = &v 10884 return s 10885} 10886 10887// SetValue sets the Value field's value. 10888func (s *KeyValue) SetValue(v string) *KeyValue { 10889 s.Value = &v 10890 return s 10891} 10892 10893// This input determines which bootstrap actions to retrieve. 10894type ListBootstrapActionsInput struct { 10895 _ struct{} `type:"structure"` 10896 10897 // The cluster identifier for the bootstrap actions to list. 10898 // 10899 // ClusterId is a required field 10900 ClusterId *string `type:"string" required:"true"` 10901 10902 // The pagination token that indicates the next set of results to retrieve. 10903 Marker *string `type:"string"` 10904} 10905 10906// String returns the string representation 10907func (s ListBootstrapActionsInput) String() string { 10908 return awsutil.Prettify(s) 10909} 10910 10911// GoString returns the string representation 10912func (s ListBootstrapActionsInput) GoString() string { 10913 return s.String() 10914} 10915 10916// Validate inspects the fields of the type to determine if they are valid. 10917func (s *ListBootstrapActionsInput) Validate() error { 10918 invalidParams := request.ErrInvalidParams{Context: "ListBootstrapActionsInput"} 10919 if s.ClusterId == nil { 10920 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10921 } 10922 10923 if invalidParams.Len() > 0 { 10924 return invalidParams 10925 } 10926 return nil 10927} 10928 10929// SetClusterId sets the ClusterId field's value. 10930func (s *ListBootstrapActionsInput) SetClusterId(v string) *ListBootstrapActionsInput { 10931 s.ClusterId = &v 10932 return s 10933} 10934 10935// SetMarker sets the Marker field's value. 10936func (s *ListBootstrapActionsInput) SetMarker(v string) *ListBootstrapActionsInput { 10937 s.Marker = &v 10938 return s 10939} 10940 10941// This output contains the bootstrap actions detail. 10942type ListBootstrapActionsOutput struct { 10943 _ struct{} `type:"structure"` 10944 10945 // The bootstrap actions associated with the cluster. 10946 BootstrapActions []*Command `type:"list"` 10947 10948 // The pagination token that indicates the next set of results to retrieve. 10949 Marker *string `type:"string"` 10950} 10951 10952// String returns the string representation 10953func (s ListBootstrapActionsOutput) String() string { 10954 return awsutil.Prettify(s) 10955} 10956 10957// GoString returns the string representation 10958func (s ListBootstrapActionsOutput) GoString() string { 10959 return s.String() 10960} 10961 10962// SetBootstrapActions sets the BootstrapActions field's value. 10963func (s *ListBootstrapActionsOutput) SetBootstrapActions(v []*Command) *ListBootstrapActionsOutput { 10964 s.BootstrapActions = v 10965 return s 10966} 10967 10968// SetMarker sets the Marker field's value. 10969func (s *ListBootstrapActionsOutput) SetMarker(v string) *ListBootstrapActionsOutput { 10970 s.Marker = &v 10971 return s 10972} 10973 10974// This input determines how the ListClusters action filters the list of clusters 10975// that it returns. 10976type ListClustersInput struct { 10977 _ struct{} `type:"structure"` 10978 10979 // The cluster state filters to apply when listing clusters. 10980 ClusterStates []*string `type:"list"` 10981 10982 // The creation date and time beginning value filter for listing clusters. 10983 CreatedAfter *time.Time `type:"timestamp"` 10984 10985 // The creation date and time end value filter for listing clusters. 10986 CreatedBefore *time.Time `type:"timestamp"` 10987 10988 // The pagination token that indicates the next set of results to retrieve. 10989 Marker *string `type:"string"` 10990} 10991 10992// String returns the string representation 10993func (s ListClustersInput) String() string { 10994 return awsutil.Prettify(s) 10995} 10996 10997// GoString returns the string representation 10998func (s ListClustersInput) GoString() string { 10999 return s.String() 11000} 11001 11002// SetClusterStates sets the ClusterStates field's value. 11003func (s *ListClustersInput) SetClusterStates(v []*string) *ListClustersInput { 11004 s.ClusterStates = v 11005 return s 11006} 11007 11008// SetCreatedAfter sets the CreatedAfter field's value. 11009func (s *ListClustersInput) SetCreatedAfter(v time.Time) *ListClustersInput { 11010 s.CreatedAfter = &v 11011 return s 11012} 11013 11014// SetCreatedBefore sets the CreatedBefore field's value. 11015func (s *ListClustersInput) SetCreatedBefore(v time.Time) *ListClustersInput { 11016 s.CreatedBefore = &v 11017 return s 11018} 11019 11020// SetMarker sets the Marker field's value. 11021func (s *ListClustersInput) SetMarker(v string) *ListClustersInput { 11022 s.Marker = &v 11023 return s 11024} 11025 11026// This contains a ClusterSummaryList with the cluster details; for example, 11027// the cluster IDs, names, and status. 11028type ListClustersOutput struct { 11029 _ struct{} `type:"structure"` 11030 11031 // The list of clusters for the account based on the given filters. 11032 Clusters []*ClusterSummary `type:"list"` 11033 11034 // The pagination token that indicates the next set of results to retrieve. 11035 Marker *string `type:"string"` 11036} 11037 11038// String returns the string representation 11039func (s ListClustersOutput) String() string { 11040 return awsutil.Prettify(s) 11041} 11042 11043// GoString returns the string representation 11044func (s ListClustersOutput) GoString() string { 11045 return s.String() 11046} 11047 11048// SetClusters sets the Clusters field's value. 11049func (s *ListClustersOutput) SetClusters(v []*ClusterSummary) *ListClustersOutput { 11050 s.Clusters = v 11051 return s 11052} 11053 11054// SetMarker sets the Marker field's value. 11055func (s *ListClustersOutput) SetMarker(v string) *ListClustersOutput { 11056 s.Marker = &v 11057 return s 11058} 11059 11060type ListInstanceFleetsInput struct { 11061 _ struct{} `type:"structure"` 11062 11063 // The unique identifier of the cluster. 11064 // 11065 // ClusterId is a required field 11066 ClusterId *string `type:"string" required:"true"` 11067 11068 // The pagination token that indicates the next set of results to retrieve. 11069 Marker *string `type:"string"` 11070} 11071 11072// String returns the string representation 11073func (s ListInstanceFleetsInput) String() string { 11074 return awsutil.Prettify(s) 11075} 11076 11077// GoString returns the string representation 11078func (s ListInstanceFleetsInput) GoString() string { 11079 return s.String() 11080} 11081 11082// Validate inspects the fields of the type to determine if they are valid. 11083func (s *ListInstanceFleetsInput) Validate() error { 11084 invalidParams := request.ErrInvalidParams{Context: "ListInstanceFleetsInput"} 11085 if s.ClusterId == nil { 11086 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11087 } 11088 11089 if invalidParams.Len() > 0 { 11090 return invalidParams 11091 } 11092 return nil 11093} 11094 11095// SetClusterId sets the ClusterId field's value. 11096func (s *ListInstanceFleetsInput) SetClusterId(v string) *ListInstanceFleetsInput { 11097 s.ClusterId = &v 11098 return s 11099} 11100 11101// SetMarker sets the Marker field's value. 11102func (s *ListInstanceFleetsInput) SetMarker(v string) *ListInstanceFleetsInput { 11103 s.Marker = &v 11104 return s 11105} 11106 11107type ListInstanceFleetsOutput struct { 11108 _ struct{} `type:"structure"` 11109 11110 // The list of instance fleets for the cluster and given filters. 11111 InstanceFleets []*InstanceFleet `type:"list"` 11112 11113 // The pagination token that indicates the next set of results to retrieve. 11114 Marker *string `type:"string"` 11115} 11116 11117// String returns the string representation 11118func (s ListInstanceFleetsOutput) String() string { 11119 return awsutil.Prettify(s) 11120} 11121 11122// GoString returns the string representation 11123func (s ListInstanceFleetsOutput) GoString() string { 11124 return s.String() 11125} 11126 11127// SetInstanceFleets sets the InstanceFleets field's value. 11128func (s *ListInstanceFleetsOutput) SetInstanceFleets(v []*InstanceFleet) *ListInstanceFleetsOutput { 11129 s.InstanceFleets = v 11130 return s 11131} 11132 11133// SetMarker sets the Marker field's value. 11134func (s *ListInstanceFleetsOutput) SetMarker(v string) *ListInstanceFleetsOutput { 11135 s.Marker = &v 11136 return s 11137} 11138 11139// This input determines which instance groups to retrieve. 11140type ListInstanceGroupsInput struct { 11141 _ struct{} `type:"structure"` 11142 11143 // The identifier of the cluster for which to list the instance groups. 11144 // 11145 // ClusterId is a required field 11146 ClusterId *string `type:"string" required:"true"` 11147 11148 // The pagination token that indicates the next set of results to retrieve. 11149 Marker *string `type:"string"` 11150} 11151 11152// String returns the string representation 11153func (s ListInstanceGroupsInput) String() string { 11154 return awsutil.Prettify(s) 11155} 11156 11157// GoString returns the string representation 11158func (s ListInstanceGroupsInput) GoString() string { 11159 return s.String() 11160} 11161 11162// Validate inspects the fields of the type to determine if they are valid. 11163func (s *ListInstanceGroupsInput) Validate() error { 11164 invalidParams := request.ErrInvalidParams{Context: "ListInstanceGroupsInput"} 11165 if s.ClusterId == nil { 11166 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11167 } 11168 11169 if invalidParams.Len() > 0 { 11170 return invalidParams 11171 } 11172 return nil 11173} 11174 11175// SetClusterId sets the ClusterId field's value. 11176func (s *ListInstanceGroupsInput) SetClusterId(v string) *ListInstanceGroupsInput { 11177 s.ClusterId = &v 11178 return s 11179} 11180 11181// SetMarker sets the Marker field's value. 11182func (s *ListInstanceGroupsInput) SetMarker(v string) *ListInstanceGroupsInput { 11183 s.Marker = &v 11184 return s 11185} 11186 11187// This input determines which instance groups to retrieve. 11188type ListInstanceGroupsOutput struct { 11189 _ struct{} `type:"structure"` 11190 11191 // The list of instance groups for the cluster and given filters. 11192 InstanceGroups []*InstanceGroup `type:"list"` 11193 11194 // The pagination token that indicates the next set of results to retrieve. 11195 Marker *string `type:"string"` 11196} 11197 11198// String returns the string representation 11199func (s ListInstanceGroupsOutput) String() string { 11200 return awsutil.Prettify(s) 11201} 11202 11203// GoString returns the string representation 11204func (s ListInstanceGroupsOutput) GoString() string { 11205 return s.String() 11206} 11207 11208// SetInstanceGroups sets the InstanceGroups field's value. 11209func (s *ListInstanceGroupsOutput) SetInstanceGroups(v []*InstanceGroup) *ListInstanceGroupsOutput { 11210 s.InstanceGroups = v 11211 return s 11212} 11213 11214// SetMarker sets the Marker field's value. 11215func (s *ListInstanceGroupsOutput) SetMarker(v string) *ListInstanceGroupsOutput { 11216 s.Marker = &v 11217 return s 11218} 11219 11220// This input determines which instances to list. 11221type ListInstancesInput struct { 11222 _ struct{} `type:"structure"` 11223 11224 // The identifier of the cluster for which to list the instances. 11225 // 11226 // ClusterId is a required field 11227 ClusterId *string `type:"string" required:"true"` 11228 11229 // The unique identifier of the instance fleet. 11230 InstanceFleetId *string `type:"string"` 11231 11232 // The node type of the instance fleet. For example MASTER, CORE, or TASK. 11233 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 11234 11235 // The identifier of the instance group for which to list the instances. 11236 InstanceGroupId *string `type:"string"` 11237 11238 // The type of instance group for which to list the instances. 11239 InstanceGroupTypes []*string `type:"list"` 11240 11241 // A list of instance states that will filter the instances returned with this 11242 // request. 11243 InstanceStates []*string `type:"list"` 11244 11245 // The pagination token that indicates the next set of results to retrieve. 11246 Marker *string `type:"string"` 11247} 11248 11249// String returns the string representation 11250func (s ListInstancesInput) String() string { 11251 return awsutil.Prettify(s) 11252} 11253 11254// GoString returns the string representation 11255func (s ListInstancesInput) GoString() string { 11256 return s.String() 11257} 11258 11259// Validate inspects the fields of the type to determine if they are valid. 11260func (s *ListInstancesInput) Validate() error { 11261 invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"} 11262 if s.ClusterId == nil { 11263 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11264 } 11265 11266 if invalidParams.Len() > 0 { 11267 return invalidParams 11268 } 11269 return nil 11270} 11271 11272// SetClusterId sets the ClusterId field's value. 11273func (s *ListInstancesInput) SetClusterId(v string) *ListInstancesInput { 11274 s.ClusterId = &v 11275 return s 11276} 11277 11278// SetInstanceFleetId sets the InstanceFleetId field's value. 11279func (s *ListInstancesInput) SetInstanceFleetId(v string) *ListInstancesInput { 11280 s.InstanceFleetId = &v 11281 return s 11282} 11283 11284// SetInstanceFleetType sets the InstanceFleetType field's value. 11285func (s *ListInstancesInput) SetInstanceFleetType(v string) *ListInstancesInput { 11286 s.InstanceFleetType = &v 11287 return s 11288} 11289 11290// SetInstanceGroupId sets the InstanceGroupId field's value. 11291func (s *ListInstancesInput) SetInstanceGroupId(v string) *ListInstancesInput { 11292 s.InstanceGroupId = &v 11293 return s 11294} 11295 11296// SetInstanceGroupTypes sets the InstanceGroupTypes field's value. 11297func (s *ListInstancesInput) SetInstanceGroupTypes(v []*string) *ListInstancesInput { 11298 s.InstanceGroupTypes = v 11299 return s 11300} 11301 11302// SetInstanceStates sets the InstanceStates field's value. 11303func (s *ListInstancesInput) SetInstanceStates(v []*string) *ListInstancesInput { 11304 s.InstanceStates = v 11305 return s 11306} 11307 11308// SetMarker sets the Marker field's value. 11309func (s *ListInstancesInput) SetMarker(v string) *ListInstancesInput { 11310 s.Marker = &v 11311 return s 11312} 11313 11314// This output contains the list of instances. 11315type ListInstancesOutput struct { 11316 _ struct{} `type:"structure"` 11317 11318 // The list of instances for the cluster and given filters. 11319 Instances []*Instance `type:"list"` 11320 11321 // The pagination token that indicates the next set of results to retrieve. 11322 Marker *string `type:"string"` 11323} 11324 11325// String returns the string representation 11326func (s ListInstancesOutput) String() string { 11327 return awsutil.Prettify(s) 11328} 11329 11330// GoString returns the string representation 11331func (s ListInstancesOutput) GoString() string { 11332 return s.String() 11333} 11334 11335// SetInstances sets the Instances field's value. 11336func (s *ListInstancesOutput) SetInstances(v []*Instance) *ListInstancesOutput { 11337 s.Instances = v 11338 return s 11339} 11340 11341// SetMarker sets the Marker field's value. 11342func (s *ListInstancesOutput) SetMarker(v string) *ListInstancesOutput { 11343 s.Marker = &v 11344 return s 11345} 11346 11347type ListNotebookExecutionsInput struct { 11348 _ struct{} `type:"structure"` 11349 11350 // The unique ID of the editor associated with the notebook execution. 11351 EditorId *string `type:"string"` 11352 11353 // The beginning of time range filter for listing notebook executions. The default 11354 // is the timestamp of 30 days ago. 11355 From *time.Time `type:"timestamp"` 11356 11357 // The pagination token, returned by a previous ListNotebookExecutions call, 11358 // that indicates the start of the list for this ListNotebookExecutions call. 11359 Marker *string `type:"string"` 11360 11361 // The status filter for listing notebook executions. 11362 // 11363 // * START_PENDING indicates that the cluster has received the execution 11364 // request but execution has not begun. 11365 // 11366 // * STARTING indicates that the execution is starting on the cluster. 11367 // 11368 // * RUNNING indicates that the execution is being processed by the cluster. 11369 // 11370 // * FINISHING indicates that execution processing is in the final stages. 11371 // 11372 // * FINISHED indicates that the execution has completed without error. 11373 // 11374 // * FAILING indicates that the execution is failing and will not finish 11375 // successfully. 11376 // 11377 // * FAILED indicates that the execution failed. 11378 // 11379 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 11380 // request and the stop is pending. 11381 // 11382 // * STOPPING indicates that the cluster is in the process of stopping the 11383 // execution as a result of a StopNotebookExecution request. 11384 // 11385 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 11386 // request. 11387 Status *string `type:"string" enum:"NotebookExecutionStatus"` 11388 11389 // The end of time range filter for listing notebook executions. The default 11390 // is the current timestamp. 11391 To *time.Time `type:"timestamp"` 11392} 11393 11394// String returns the string representation 11395func (s ListNotebookExecutionsInput) String() string { 11396 return awsutil.Prettify(s) 11397} 11398 11399// GoString returns the string representation 11400func (s ListNotebookExecutionsInput) GoString() string { 11401 return s.String() 11402} 11403 11404// SetEditorId sets the EditorId field's value. 11405func (s *ListNotebookExecutionsInput) SetEditorId(v string) *ListNotebookExecutionsInput { 11406 s.EditorId = &v 11407 return s 11408} 11409 11410// SetFrom sets the From field's value. 11411func (s *ListNotebookExecutionsInput) SetFrom(v time.Time) *ListNotebookExecutionsInput { 11412 s.From = &v 11413 return s 11414} 11415 11416// SetMarker sets the Marker field's value. 11417func (s *ListNotebookExecutionsInput) SetMarker(v string) *ListNotebookExecutionsInput { 11418 s.Marker = &v 11419 return s 11420} 11421 11422// SetStatus sets the Status field's value. 11423func (s *ListNotebookExecutionsInput) SetStatus(v string) *ListNotebookExecutionsInput { 11424 s.Status = &v 11425 return s 11426} 11427 11428// SetTo sets the To field's value. 11429func (s *ListNotebookExecutionsInput) SetTo(v time.Time) *ListNotebookExecutionsInput { 11430 s.To = &v 11431 return s 11432} 11433 11434type ListNotebookExecutionsOutput struct { 11435 _ struct{} `type:"structure"` 11436 11437 // A pagination token that a subsequent ListNotebookExecutions can use to determine 11438 // the next set of results to retrieve. 11439 Marker *string `type:"string"` 11440 11441 // A list of notebook executions. 11442 NotebookExecutions []*NotebookExecutionSummary `type:"list"` 11443} 11444 11445// String returns the string representation 11446func (s ListNotebookExecutionsOutput) String() string { 11447 return awsutil.Prettify(s) 11448} 11449 11450// GoString returns the string representation 11451func (s ListNotebookExecutionsOutput) GoString() string { 11452 return s.String() 11453} 11454 11455// SetMarker sets the Marker field's value. 11456func (s *ListNotebookExecutionsOutput) SetMarker(v string) *ListNotebookExecutionsOutput { 11457 s.Marker = &v 11458 return s 11459} 11460 11461// SetNotebookExecutions sets the NotebookExecutions field's value. 11462func (s *ListNotebookExecutionsOutput) SetNotebookExecutions(v []*NotebookExecutionSummary) *ListNotebookExecutionsOutput { 11463 s.NotebookExecutions = v 11464 return s 11465} 11466 11467type ListSecurityConfigurationsInput struct { 11468 _ struct{} `type:"structure"` 11469 11470 // The pagination token that indicates the set of results to retrieve. 11471 Marker *string `type:"string"` 11472} 11473 11474// String returns the string representation 11475func (s ListSecurityConfigurationsInput) String() string { 11476 return awsutil.Prettify(s) 11477} 11478 11479// GoString returns the string representation 11480func (s ListSecurityConfigurationsInput) GoString() string { 11481 return s.String() 11482} 11483 11484// SetMarker sets the Marker field's value. 11485func (s *ListSecurityConfigurationsInput) SetMarker(v string) *ListSecurityConfigurationsInput { 11486 s.Marker = &v 11487 return s 11488} 11489 11490type ListSecurityConfigurationsOutput struct { 11491 _ struct{} `type:"structure"` 11492 11493 // A pagination token that indicates the next set of results to retrieve. Include 11494 // the marker in the next ListSecurityConfiguration call to retrieve the next 11495 // page of results, if required. 11496 Marker *string `type:"string"` 11497 11498 // The creation date and time, and name, of each security configuration. 11499 SecurityConfigurations []*SecurityConfigurationSummary `type:"list"` 11500} 11501 11502// String returns the string representation 11503func (s ListSecurityConfigurationsOutput) String() string { 11504 return awsutil.Prettify(s) 11505} 11506 11507// GoString returns the string representation 11508func (s ListSecurityConfigurationsOutput) GoString() string { 11509 return s.String() 11510} 11511 11512// SetMarker sets the Marker field's value. 11513func (s *ListSecurityConfigurationsOutput) SetMarker(v string) *ListSecurityConfigurationsOutput { 11514 s.Marker = &v 11515 return s 11516} 11517 11518// SetSecurityConfigurations sets the SecurityConfigurations field's value. 11519func (s *ListSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfigurationSummary) *ListSecurityConfigurationsOutput { 11520 s.SecurityConfigurations = v 11521 return s 11522} 11523 11524// This input determines which steps to list. 11525type ListStepsInput struct { 11526 _ struct{} `type:"structure"` 11527 11528 // The identifier of the cluster for which to list the steps. 11529 // 11530 // ClusterId is a required field 11531 ClusterId *string `type:"string" required:"true"` 11532 11533 // The pagination token that indicates the next set of results to retrieve. 11534 Marker *string `type:"string"` 11535 11536 // The filter to limit the step list based on the identifier of the steps. You 11537 // can specify a maximum of ten Step IDs. The character constraint applies to 11538 // the overall length of the array. 11539 StepIds []*string `type:"list"` 11540 11541 // The filter to limit the step list based on certain states. 11542 StepStates []*string `type:"list"` 11543} 11544 11545// String returns the string representation 11546func (s ListStepsInput) String() string { 11547 return awsutil.Prettify(s) 11548} 11549 11550// GoString returns the string representation 11551func (s ListStepsInput) GoString() string { 11552 return s.String() 11553} 11554 11555// Validate inspects the fields of the type to determine if they are valid. 11556func (s *ListStepsInput) Validate() error { 11557 invalidParams := request.ErrInvalidParams{Context: "ListStepsInput"} 11558 if s.ClusterId == nil { 11559 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11560 } 11561 11562 if invalidParams.Len() > 0 { 11563 return invalidParams 11564 } 11565 return nil 11566} 11567 11568// SetClusterId sets the ClusterId field's value. 11569func (s *ListStepsInput) SetClusterId(v string) *ListStepsInput { 11570 s.ClusterId = &v 11571 return s 11572} 11573 11574// SetMarker sets the Marker field's value. 11575func (s *ListStepsInput) SetMarker(v string) *ListStepsInput { 11576 s.Marker = &v 11577 return s 11578} 11579 11580// SetStepIds sets the StepIds field's value. 11581func (s *ListStepsInput) SetStepIds(v []*string) *ListStepsInput { 11582 s.StepIds = v 11583 return s 11584} 11585 11586// SetStepStates sets the StepStates field's value. 11587func (s *ListStepsInput) SetStepStates(v []*string) *ListStepsInput { 11588 s.StepStates = v 11589 return s 11590} 11591 11592// This output contains the list of steps returned in reverse order. This means 11593// that the last step is the first element in the list. 11594type ListStepsOutput struct { 11595 _ struct{} `type:"structure"` 11596 11597 // The pagination token that indicates the next set of results to retrieve. 11598 Marker *string `type:"string"` 11599 11600 // The filtered list of steps for the cluster. 11601 Steps []*StepSummary `type:"list"` 11602} 11603 11604// String returns the string representation 11605func (s ListStepsOutput) String() string { 11606 return awsutil.Prettify(s) 11607} 11608 11609// GoString returns the string representation 11610func (s ListStepsOutput) GoString() string { 11611 return s.String() 11612} 11613 11614// SetMarker sets the Marker field's value. 11615func (s *ListStepsOutput) SetMarker(v string) *ListStepsOutput { 11616 s.Marker = &v 11617 return s 11618} 11619 11620// SetSteps sets the Steps field's value. 11621func (s *ListStepsOutput) SetSteps(v []*StepSummary) *ListStepsOutput { 11622 s.Steps = v 11623 return s 11624} 11625 11626type ListStudioSessionMappingsInput struct { 11627 _ struct{} `type:"structure"` 11628 11629 // Specifies whether to return session mappings for users or groups. If not 11630 // specified, the results include session mapping details for both users and 11631 // groups. 11632 IdentityType *string `type:"string" enum:"IdentityType"` 11633 11634 // The pagination token that indicates the set of results to retrieve. 11635 Marker *string `type:"string"` 11636 11637 // The ID of the Amazon EMR Studio. 11638 StudioId *string `type:"string"` 11639} 11640 11641// String returns the string representation 11642func (s ListStudioSessionMappingsInput) String() string { 11643 return awsutil.Prettify(s) 11644} 11645 11646// GoString returns the string representation 11647func (s ListStudioSessionMappingsInput) GoString() string { 11648 return s.String() 11649} 11650 11651// SetIdentityType sets the IdentityType field's value. 11652func (s *ListStudioSessionMappingsInput) SetIdentityType(v string) *ListStudioSessionMappingsInput { 11653 s.IdentityType = &v 11654 return s 11655} 11656 11657// SetMarker sets the Marker field's value. 11658func (s *ListStudioSessionMappingsInput) SetMarker(v string) *ListStudioSessionMappingsInput { 11659 s.Marker = &v 11660 return s 11661} 11662 11663// SetStudioId sets the StudioId field's value. 11664func (s *ListStudioSessionMappingsInput) SetStudioId(v string) *ListStudioSessionMappingsInput { 11665 s.StudioId = &v 11666 return s 11667} 11668 11669type ListStudioSessionMappingsOutput struct { 11670 _ struct{} `type:"structure"` 11671 11672 // The pagination token that indicates the next set of results to retrieve. 11673 Marker *string `type:"string"` 11674 11675 // A list of session mapping summary objects. Each object includes session mapping 11676 // details such as creation time, identity type (user or group), and Amazon 11677 // EMR Studio ID. 11678 SessionMappings []*SessionMappingSummary `type:"list"` 11679} 11680 11681// String returns the string representation 11682func (s ListStudioSessionMappingsOutput) String() string { 11683 return awsutil.Prettify(s) 11684} 11685 11686// GoString returns the string representation 11687func (s ListStudioSessionMappingsOutput) GoString() string { 11688 return s.String() 11689} 11690 11691// SetMarker sets the Marker field's value. 11692func (s *ListStudioSessionMappingsOutput) SetMarker(v string) *ListStudioSessionMappingsOutput { 11693 s.Marker = &v 11694 return s 11695} 11696 11697// SetSessionMappings sets the SessionMappings field's value. 11698func (s *ListStudioSessionMappingsOutput) SetSessionMappings(v []*SessionMappingSummary) *ListStudioSessionMappingsOutput { 11699 s.SessionMappings = v 11700 return s 11701} 11702 11703type ListStudiosInput struct { 11704 _ struct{} `type:"structure"` 11705 11706 // The pagination token that indicates the set of results to retrieve. 11707 Marker *string `type:"string"` 11708} 11709 11710// String returns the string representation 11711func (s ListStudiosInput) String() string { 11712 return awsutil.Prettify(s) 11713} 11714 11715// GoString returns the string representation 11716func (s ListStudiosInput) GoString() string { 11717 return s.String() 11718} 11719 11720// SetMarker sets the Marker field's value. 11721func (s *ListStudiosInput) SetMarker(v string) *ListStudiosInput { 11722 s.Marker = &v 11723 return s 11724} 11725 11726type ListStudiosOutput struct { 11727 _ struct{} `type:"structure"` 11728 11729 // The pagination token that indicates the next set of results to retrieve. 11730 Marker *string `type:"string"` 11731 11732 // The list of Studio summary objects. 11733 Studios []*StudioSummary `type:"list"` 11734} 11735 11736// String returns the string representation 11737func (s ListStudiosOutput) String() string { 11738 return awsutil.Prettify(s) 11739} 11740 11741// GoString returns the string representation 11742func (s ListStudiosOutput) GoString() string { 11743 return s.String() 11744} 11745 11746// SetMarker sets the Marker field's value. 11747func (s *ListStudiosOutput) SetMarker(v string) *ListStudiosOutput { 11748 s.Marker = &v 11749 return s 11750} 11751 11752// SetStudios sets the Studios field's value. 11753func (s *ListStudiosOutput) SetStudios(v []*StudioSummary) *ListStudiosOutput { 11754 s.Studios = v 11755 return s 11756} 11757 11758// Managed scaling policy for an Amazon EMR cluster. The policy specifies the 11759// limits for resources that can be added or terminated from a cluster. The 11760// policy only applies to the core and task nodes. The master node cannot be 11761// scaled after initial configuration. 11762type ManagedScalingPolicy struct { 11763 _ struct{} `type:"structure"` 11764 11765 // The EC2 unit limits for a managed scaling policy. The managed scaling activity 11766 // of a cluster is not allowed to go above or below these limits. The limit 11767 // only applies to the core and task nodes. The master node cannot be scaled 11768 // after initial configuration. 11769 ComputeLimits *ComputeLimits `type:"structure"` 11770} 11771 11772// String returns the string representation 11773func (s ManagedScalingPolicy) String() string { 11774 return awsutil.Prettify(s) 11775} 11776 11777// GoString returns the string representation 11778func (s ManagedScalingPolicy) GoString() string { 11779 return s.String() 11780} 11781 11782// Validate inspects the fields of the type to determine if they are valid. 11783func (s *ManagedScalingPolicy) Validate() error { 11784 invalidParams := request.ErrInvalidParams{Context: "ManagedScalingPolicy"} 11785 if s.ComputeLimits != nil { 11786 if err := s.ComputeLimits.Validate(); err != nil { 11787 invalidParams.AddNested("ComputeLimits", err.(request.ErrInvalidParams)) 11788 } 11789 } 11790 11791 if invalidParams.Len() > 0 { 11792 return invalidParams 11793 } 11794 return nil 11795} 11796 11797// SetComputeLimits sets the ComputeLimits field's value. 11798func (s *ManagedScalingPolicy) SetComputeLimits(v *ComputeLimits) *ManagedScalingPolicy { 11799 s.ComputeLimits = v 11800 return s 11801} 11802 11803// A CloudWatch dimension, which is specified using a Key (known as a Name in 11804// CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose 11805// Key is JobFlowID and Value is a variable representing the cluster ID, which 11806// is ${emr.clusterId}. This enables the rule to bootstrap when the cluster 11807// ID becomes available. 11808type MetricDimension struct { 11809 _ struct{} `type:"structure"` 11810 11811 // The dimension name. 11812 Key *string `type:"string"` 11813 11814 // The dimension value. 11815 Value *string `type:"string"` 11816} 11817 11818// String returns the string representation 11819func (s MetricDimension) String() string { 11820 return awsutil.Prettify(s) 11821} 11822 11823// GoString returns the string representation 11824func (s MetricDimension) GoString() string { 11825 return s.String() 11826} 11827 11828// SetKey sets the Key field's value. 11829func (s *MetricDimension) SetKey(v string) *MetricDimension { 11830 s.Key = &v 11831 return s 11832} 11833 11834// SetValue sets the Value field's value. 11835func (s *MetricDimension) SetValue(v string) *MetricDimension { 11836 s.Value = &v 11837 return s 11838} 11839 11840type ModifyClusterInput struct { 11841 _ struct{} `type:"structure"` 11842 11843 // The unique identifier of the cluster. 11844 // 11845 // ClusterId is a required field 11846 ClusterId *string `type:"string" required:"true"` 11847 11848 // The number of steps that can be executed concurrently. You can specify a 11849 // minimum of 1 step and a maximum of 256 steps. 11850 StepConcurrencyLevel *int64 `type:"integer"` 11851} 11852 11853// String returns the string representation 11854func (s ModifyClusterInput) String() string { 11855 return awsutil.Prettify(s) 11856} 11857 11858// GoString returns the string representation 11859func (s ModifyClusterInput) GoString() string { 11860 return s.String() 11861} 11862 11863// Validate inspects the fields of the type to determine if they are valid. 11864func (s *ModifyClusterInput) Validate() error { 11865 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"} 11866 if s.ClusterId == nil { 11867 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11868 } 11869 11870 if invalidParams.Len() > 0 { 11871 return invalidParams 11872 } 11873 return nil 11874} 11875 11876// SetClusterId sets the ClusterId field's value. 11877func (s *ModifyClusterInput) SetClusterId(v string) *ModifyClusterInput { 11878 s.ClusterId = &v 11879 return s 11880} 11881 11882// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 11883func (s *ModifyClusterInput) SetStepConcurrencyLevel(v int64) *ModifyClusterInput { 11884 s.StepConcurrencyLevel = &v 11885 return s 11886} 11887 11888type ModifyClusterOutput struct { 11889 _ struct{} `type:"structure"` 11890 11891 // The number of steps that can be executed concurrently. 11892 StepConcurrencyLevel *int64 `type:"integer"` 11893} 11894 11895// String returns the string representation 11896func (s ModifyClusterOutput) String() string { 11897 return awsutil.Prettify(s) 11898} 11899 11900// GoString returns the string representation 11901func (s ModifyClusterOutput) GoString() string { 11902 return s.String() 11903} 11904 11905// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 11906func (s *ModifyClusterOutput) SetStepConcurrencyLevel(v int64) *ModifyClusterOutput { 11907 s.StepConcurrencyLevel = &v 11908 return s 11909} 11910 11911type ModifyInstanceFleetInput struct { 11912 _ struct{} `type:"structure"` 11913 11914 // The unique identifier of the cluster. 11915 // 11916 // ClusterId is a required field 11917 ClusterId *string `type:"string" required:"true"` 11918 11919 // The unique identifier of the instance fleet. 11920 // 11921 // InstanceFleet is a required field 11922 InstanceFleet *InstanceFleetModifyConfig `type:"structure" required:"true"` 11923} 11924 11925// String returns the string representation 11926func (s ModifyInstanceFleetInput) String() string { 11927 return awsutil.Prettify(s) 11928} 11929 11930// GoString returns the string representation 11931func (s ModifyInstanceFleetInput) GoString() string { 11932 return s.String() 11933} 11934 11935// Validate inspects the fields of the type to determine if they are valid. 11936func (s *ModifyInstanceFleetInput) Validate() error { 11937 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"} 11938 if s.ClusterId == nil { 11939 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11940 } 11941 if s.InstanceFleet == nil { 11942 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 11943 } 11944 if s.InstanceFleet != nil { 11945 if err := s.InstanceFleet.Validate(); err != nil { 11946 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 11947 } 11948 } 11949 11950 if invalidParams.Len() > 0 { 11951 return invalidParams 11952 } 11953 return nil 11954} 11955 11956// SetClusterId sets the ClusterId field's value. 11957func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput { 11958 s.ClusterId = &v 11959 return s 11960} 11961 11962// SetInstanceFleet sets the InstanceFleet field's value. 11963func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput { 11964 s.InstanceFleet = v 11965 return s 11966} 11967 11968type ModifyInstanceFleetOutput struct { 11969 _ struct{} `type:"structure"` 11970} 11971 11972// String returns the string representation 11973func (s ModifyInstanceFleetOutput) String() string { 11974 return awsutil.Prettify(s) 11975} 11976 11977// GoString returns the string representation 11978func (s ModifyInstanceFleetOutput) GoString() string { 11979 return s.String() 11980} 11981 11982// Change the size of some instance groups. 11983type ModifyInstanceGroupsInput struct { 11984 _ struct{} `type:"structure"` 11985 11986 // The ID of the cluster to which the instance group belongs. 11987 ClusterId *string `type:"string"` 11988 11989 // Instance groups to change. 11990 InstanceGroups []*InstanceGroupModifyConfig `type:"list"` 11991} 11992 11993// String returns the string representation 11994func (s ModifyInstanceGroupsInput) String() string { 11995 return awsutil.Prettify(s) 11996} 11997 11998// GoString returns the string representation 11999func (s ModifyInstanceGroupsInput) GoString() string { 12000 return s.String() 12001} 12002 12003// Validate inspects the fields of the type to determine if they are valid. 12004func (s *ModifyInstanceGroupsInput) Validate() error { 12005 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} 12006 if s.InstanceGroups != nil { 12007 for i, v := range s.InstanceGroups { 12008 if v == nil { 12009 continue 12010 } 12011 if err := v.Validate(); err != nil { 12012 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 12013 } 12014 } 12015 } 12016 12017 if invalidParams.Len() > 0 { 12018 return invalidParams 12019 } 12020 return nil 12021} 12022 12023// SetClusterId sets the ClusterId field's value. 12024func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput { 12025 s.ClusterId = &v 12026 return s 12027} 12028 12029// SetInstanceGroups sets the InstanceGroups field's value. 12030func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput { 12031 s.InstanceGroups = v 12032 return s 12033} 12034 12035type ModifyInstanceGroupsOutput struct { 12036 _ struct{} `type:"structure"` 12037} 12038 12039// String returns the string representation 12040func (s ModifyInstanceGroupsOutput) String() string { 12041 return awsutil.Prettify(s) 12042} 12043 12044// GoString returns the string representation 12045func (s ModifyInstanceGroupsOutput) GoString() string { 12046 return s.String() 12047} 12048 12049// A notebook execution. An execution is a specific instance that an EMR Notebook 12050// is run using the StartNotebookExecution action. 12051type NotebookExecution struct { 12052 _ struct{} `type:"structure"` 12053 12054 // The Amazon Resource Name (ARN) of the notebook execution. 12055 Arn *string `type:"string"` 12056 12057 // The unique identifier of the EMR Notebook that is used for the notebook execution. 12058 EditorId *string `type:"string"` 12059 12060 // The timestamp when notebook execution ended. 12061 EndTime *time.Time `type:"timestamp"` 12062 12063 // The execution engine, such as an EMR cluster, used to run the EMR notebook 12064 // and perform the notebook execution. 12065 ExecutionEngine *ExecutionEngineConfig `type:"structure"` 12066 12067 // The reason for the latest status change of the notebook execution. 12068 LastStateChangeReason *string `type:"string"` 12069 12070 // The unique identifier of a notebook execution. 12071 NotebookExecutionId *string `type:"string"` 12072 12073 // A name for the notebook execution. 12074 NotebookExecutionName *string `type:"string"` 12075 12076 // The unique identifier of the EC2 security group associated with the EMR Notebook 12077 // instance. For more information see Specifying EC2 Security Groups for EMR 12078 // Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) 12079 // in the EMR Management Guide. 12080 NotebookInstanceSecurityGroupId *string `type:"string"` 12081 12082 // Input parameters in JSON format passed to the EMR Notebook at runtime for 12083 // execution. 12084 NotebookParams *string `type:"string"` 12085 12086 // The location of the notebook execution's output file in Amazon S3. 12087 OutputNotebookURI *string `type:"string"` 12088 12089 // The timestamp when notebook execution started. 12090 StartTime *time.Time `type:"timestamp"` 12091 12092 // The status of the notebook execution. 12093 // 12094 // * START_PENDING indicates that the cluster has received the execution 12095 // request but execution has not begun. 12096 // 12097 // * STARTING indicates that the execution is starting on the cluster. 12098 // 12099 // * RUNNING indicates that the execution is being processed by the cluster. 12100 // 12101 // * FINISHING indicates that execution processing is in the final stages. 12102 // 12103 // * FINISHED indicates that the execution has completed without error. 12104 // 12105 // * FAILING indicates that the execution is failing and will not finish 12106 // successfully. 12107 // 12108 // * FAILED indicates that the execution failed. 12109 // 12110 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 12111 // request and the stop is pending. 12112 // 12113 // * STOPPING indicates that the cluster is in the process of stopping the 12114 // execution as a result of a StopNotebookExecution request. 12115 // 12116 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 12117 // request. 12118 Status *string `type:"string" enum:"NotebookExecutionStatus"` 12119 12120 // A list of tags associated with a notebook execution. Tags are user-defined 12121 // key-value pairs that consist of a required key string with a maximum of 128 12122 // characters and an optional value string with a maximum of 256 characters. 12123 Tags []*Tag `type:"list"` 12124} 12125 12126// String returns the string representation 12127func (s NotebookExecution) String() string { 12128 return awsutil.Prettify(s) 12129} 12130 12131// GoString returns the string representation 12132func (s NotebookExecution) GoString() string { 12133 return s.String() 12134} 12135 12136// SetArn sets the Arn field's value. 12137func (s *NotebookExecution) SetArn(v string) *NotebookExecution { 12138 s.Arn = &v 12139 return s 12140} 12141 12142// SetEditorId sets the EditorId field's value. 12143func (s *NotebookExecution) SetEditorId(v string) *NotebookExecution { 12144 s.EditorId = &v 12145 return s 12146} 12147 12148// SetEndTime sets the EndTime field's value. 12149func (s *NotebookExecution) SetEndTime(v time.Time) *NotebookExecution { 12150 s.EndTime = &v 12151 return s 12152} 12153 12154// SetExecutionEngine sets the ExecutionEngine field's value. 12155func (s *NotebookExecution) SetExecutionEngine(v *ExecutionEngineConfig) *NotebookExecution { 12156 s.ExecutionEngine = v 12157 return s 12158} 12159 12160// SetLastStateChangeReason sets the LastStateChangeReason field's value. 12161func (s *NotebookExecution) SetLastStateChangeReason(v string) *NotebookExecution { 12162 s.LastStateChangeReason = &v 12163 return s 12164} 12165 12166// SetNotebookExecutionId sets the NotebookExecutionId field's value. 12167func (s *NotebookExecution) SetNotebookExecutionId(v string) *NotebookExecution { 12168 s.NotebookExecutionId = &v 12169 return s 12170} 12171 12172// SetNotebookExecutionName sets the NotebookExecutionName field's value. 12173func (s *NotebookExecution) SetNotebookExecutionName(v string) *NotebookExecution { 12174 s.NotebookExecutionName = &v 12175 return s 12176} 12177 12178// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. 12179func (s *NotebookExecution) SetNotebookInstanceSecurityGroupId(v string) *NotebookExecution { 12180 s.NotebookInstanceSecurityGroupId = &v 12181 return s 12182} 12183 12184// SetNotebookParams sets the NotebookParams field's value. 12185func (s *NotebookExecution) SetNotebookParams(v string) *NotebookExecution { 12186 s.NotebookParams = &v 12187 return s 12188} 12189 12190// SetOutputNotebookURI sets the OutputNotebookURI field's value. 12191func (s *NotebookExecution) SetOutputNotebookURI(v string) *NotebookExecution { 12192 s.OutputNotebookURI = &v 12193 return s 12194} 12195 12196// SetStartTime sets the StartTime field's value. 12197func (s *NotebookExecution) SetStartTime(v time.Time) *NotebookExecution { 12198 s.StartTime = &v 12199 return s 12200} 12201 12202// SetStatus sets the Status field's value. 12203func (s *NotebookExecution) SetStatus(v string) *NotebookExecution { 12204 s.Status = &v 12205 return s 12206} 12207 12208// SetTags sets the Tags field's value. 12209func (s *NotebookExecution) SetTags(v []*Tag) *NotebookExecution { 12210 s.Tags = v 12211 return s 12212} 12213 12214type NotebookExecutionSummary struct { 12215 _ struct{} `type:"structure"` 12216 12217 // The unique identifier of the editor associated with the notebook execution. 12218 EditorId *string `type:"string"` 12219 12220 // The timestamp when notebook execution started. 12221 EndTime *time.Time `type:"timestamp"` 12222 12223 // The unique identifier of the notebook execution. 12224 NotebookExecutionId *string `type:"string"` 12225 12226 // The name of the notebook execution. 12227 NotebookExecutionName *string `type:"string"` 12228 12229 // The timestamp when notebook execution started. 12230 StartTime *time.Time `type:"timestamp"` 12231 12232 // The status of the notebook execution. 12233 // 12234 // * START_PENDING indicates that the cluster has received the execution 12235 // request but execution has not begun. 12236 // 12237 // * STARTING indicates that the execution is starting on the cluster. 12238 // 12239 // * RUNNING indicates that the execution is being processed by the cluster. 12240 // 12241 // * FINISHING indicates that execution processing is in the final stages. 12242 // 12243 // * FINISHED indicates that the execution has completed without error. 12244 // 12245 // * FAILING indicates that the execution is failing and will not finish 12246 // successfully. 12247 // 12248 // * FAILED indicates that the execution failed. 12249 // 12250 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 12251 // request and the stop is pending. 12252 // 12253 // * STOPPING indicates that the cluster is in the process of stopping the 12254 // execution as a result of a StopNotebookExecution request. 12255 // 12256 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 12257 // request. 12258 Status *string `type:"string" enum:"NotebookExecutionStatus"` 12259} 12260 12261// String returns the string representation 12262func (s NotebookExecutionSummary) String() string { 12263 return awsutil.Prettify(s) 12264} 12265 12266// GoString returns the string representation 12267func (s NotebookExecutionSummary) GoString() string { 12268 return s.String() 12269} 12270 12271// SetEditorId sets the EditorId field's value. 12272func (s *NotebookExecutionSummary) SetEditorId(v string) *NotebookExecutionSummary { 12273 s.EditorId = &v 12274 return s 12275} 12276 12277// SetEndTime sets the EndTime field's value. 12278func (s *NotebookExecutionSummary) SetEndTime(v time.Time) *NotebookExecutionSummary { 12279 s.EndTime = &v 12280 return s 12281} 12282 12283// SetNotebookExecutionId sets the NotebookExecutionId field's value. 12284func (s *NotebookExecutionSummary) SetNotebookExecutionId(v string) *NotebookExecutionSummary { 12285 s.NotebookExecutionId = &v 12286 return s 12287} 12288 12289// SetNotebookExecutionName sets the NotebookExecutionName field's value. 12290func (s *NotebookExecutionSummary) SetNotebookExecutionName(v string) *NotebookExecutionSummary { 12291 s.NotebookExecutionName = &v 12292 return s 12293} 12294 12295// SetStartTime sets the StartTime field's value. 12296func (s *NotebookExecutionSummary) SetStartTime(v time.Time) *NotebookExecutionSummary { 12297 s.StartTime = &v 12298 return s 12299} 12300 12301// SetStatus sets the Status field's value. 12302func (s *NotebookExecutionSummary) SetStatus(v string) *NotebookExecutionSummary { 12303 s.Status = &v 12304 return s 12305} 12306 12307// Describes the strategy for using unused Capacity Reservations for fulfilling 12308// On-Demand capacity. 12309type OnDemandCapacityReservationOptions struct { 12310 _ struct{} `type:"structure"` 12311 12312 // Indicates the instance's Capacity Reservation preferences. Possible preferences 12313 // include: 12314 // 12315 // * open - The instance can run in any open Capacity Reservation that has 12316 // matching attributes (instance type, platform, Availability Zone). 12317 // 12318 // * none - The instance avoids running in a Capacity Reservation even if 12319 // one is available. The instance runs as an On-Demand Instance. 12320 CapacityReservationPreference *string `type:"string" enum:"OnDemandCapacityReservationPreference"` 12321 12322 // The ARN of the Capacity Reservation resource group in which to run the instance. 12323 CapacityReservationResourceGroupArn *string `type:"string"` 12324 12325 // Indicates whether to use unused Capacity Reservations for fulfilling On-Demand 12326 // capacity. 12327 // 12328 // If you specify use-capacity-reservations-first, the fleet uses unused Capacity 12329 // Reservations to fulfill On-Demand capacity up to the target On-Demand capacity. 12330 // If multiple instance pools have unused Capacity Reservations, the On-Demand 12331 // allocation strategy (lowest-price) is applied. If the number of unused Capacity 12332 // Reservations is less than the On-Demand target capacity, the remaining On-Demand 12333 // target capacity is launched according to the On-Demand allocation strategy 12334 // (lowest-price). 12335 // 12336 // If you do not specify a value, the fleet fulfils the On-Demand capacity according 12337 // to the chosen On-Demand allocation strategy. 12338 UsageStrategy *string `type:"string" enum:"OnDemandCapacityReservationUsageStrategy"` 12339} 12340 12341// String returns the string representation 12342func (s OnDemandCapacityReservationOptions) String() string { 12343 return awsutil.Prettify(s) 12344} 12345 12346// GoString returns the string representation 12347func (s OnDemandCapacityReservationOptions) GoString() string { 12348 return s.String() 12349} 12350 12351// SetCapacityReservationPreference sets the CapacityReservationPreference field's value. 12352func (s *OnDemandCapacityReservationOptions) SetCapacityReservationPreference(v string) *OnDemandCapacityReservationOptions { 12353 s.CapacityReservationPreference = &v 12354 return s 12355} 12356 12357// SetCapacityReservationResourceGroupArn sets the CapacityReservationResourceGroupArn field's value. 12358func (s *OnDemandCapacityReservationOptions) SetCapacityReservationResourceGroupArn(v string) *OnDemandCapacityReservationOptions { 12359 s.CapacityReservationResourceGroupArn = &v 12360 return s 12361} 12362 12363// SetUsageStrategy sets the UsageStrategy field's value. 12364func (s *OnDemandCapacityReservationOptions) SetUsageStrategy(v string) *OnDemandCapacityReservationOptions { 12365 s.UsageStrategy = &v 12366 return s 12367} 12368 12369// The launch specification for On-Demand Instances in the instance fleet, which 12370// determines the allocation strategy. 12371// 12372// The instance fleet configuration is available only in Amazon EMR versions 12373// 4.8.0 and later, excluding 5.0.x versions. On-Demand Instances allocation 12374// strategy is available in Amazon EMR version 5.12.1 and later. 12375type OnDemandProvisioningSpecification struct { 12376 _ struct{} `type:"structure"` 12377 12378 // Specifies the strategy to use in launching On-Demand instance fleets. Currently, 12379 // the only option is lowest-price (the default), which launches the lowest 12380 // price first. 12381 // 12382 // AllocationStrategy is a required field 12383 AllocationStrategy *string `type:"string" required:"true" enum:"OnDemandProvisioningAllocationStrategy"` 12384 12385 // The launch specification for On-Demand instances in the instance fleet, which 12386 // determines the allocation strategy. 12387 CapacityReservationOptions *OnDemandCapacityReservationOptions `type:"structure"` 12388} 12389 12390// String returns the string representation 12391func (s OnDemandProvisioningSpecification) String() string { 12392 return awsutil.Prettify(s) 12393} 12394 12395// GoString returns the string representation 12396func (s OnDemandProvisioningSpecification) GoString() string { 12397 return s.String() 12398} 12399 12400// Validate inspects the fields of the type to determine if they are valid. 12401func (s *OnDemandProvisioningSpecification) Validate() error { 12402 invalidParams := request.ErrInvalidParams{Context: "OnDemandProvisioningSpecification"} 12403 if s.AllocationStrategy == nil { 12404 invalidParams.Add(request.NewErrParamRequired("AllocationStrategy")) 12405 } 12406 12407 if invalidParams.Len() > 0 { 12408 return invalidParams 12409 } 12410 return nil 12411} 12412 12413// SetAllocationStrategy sets the AllocationStrategy field's value. 12414func (s *OnDemandProvisioningSpecification) SetAllocationStrategy(v string) *OnDemandProvisioningSpecification { 12415 s.AllocationStrategy = &v 12416 return s 12417} 12418 12419// SetCapacityReservationOptions sets the CapacityReservationOptions field's value. 12420func (s *OnDemandProvisioningSpecification) SetCapacityReservationOptions(v *OnDemandCapacityReservationOptions) *OnDemandProvisioningSpecification { 12421 s.CapacityReservationOptions = v 12422 return s 12423} 12424 12425// Placement group configuration for an Amazon EMR cluster. The configuration 12426// specifies the placement strategy that can be applied to instance roles during 12427// cluster creation. 12428// 12429// To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy 12430// to the EMR role. 12431type PlacementGroupConfig struct { 12432 _ struct{} `type:"structure"` 12433 12434 // Role of the instance in the cluster. 12435 // 12436 // Starting with Amazon EMR version 5.23.0, the only supported instance role 12437 // is MASTER. 12438 // 12439 // InstanceRole is a required field 12440 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 12441 12442 // EC2 Placement Group strategy associated with instance role. 12443 // 12444 // Starting with Amazon EMR version 5.23.0, the only supported placement strategy 12445 // is SPREAD for the MASTER instance role. 12446 PlacementStrategy *string `type:"string" enum:"PlacementGroupStrategy"` 12447} 12448 12449// String returns the string representation 12450func (s PlacementGroupConfig) String() string { 12451 return awsutil.Prettify(s) 12452} 12453 12454// GoString returns the string representation 12455func (s PlacementGroupConfig) GoString() string { 12456 return s.String() 12457} 12458 12459// Validate inspects the fields of the type to determine if they are valid. 12460func (s *PlacementGroupConfig) Validate() error { 12461 invalidParams := request.ErrInvalidParams{Context: "PlacementGroupConfig"} 12462 if s.InstanceRole == nil { 12463 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 12464 } 12465 12466 if invalidParams.Len() > 0 { 12467 return invalidParams 12468 } 12469 return nil 12470} 12471 12472// SetInstanceRole sets the InstanceRole field's value. 12473func (s *PlacementGroupConfig) SetInstanceRole(v string) *PlacementGroupConfig { 12474 s.InstanceRole = &v 12475 return s 12476} 12477 12478// SetPlacementStrategy sets the PlacementStrategy field's value. 12479func (s *PlacementGroupConfig) SetPlacementStrategy(v string) *PlacementGroupConfig { 12480 s.PlacementStrategy = &v 12481 return s 12482} 12483 12484// The Amazon EC2 Availability Zone configuration of the cluster (job flow). 12485type PlacementType struct { 12486 _ struct{} `type:"structure"` 12487 12488 // The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used 12489 // for uniform instance groups, while AvailabilityZones (plural) is used for 12490 // instance fleets. 12491 AvailabilityZone *string `type:"string"` 12492 12493 // When multiple Availability Zones are specified, Amazon EMR evaluates them 12494 // and launches instances in the optimal Availability Zone. AvailabilityZones 12495 // is used for instance fleets, while AvailabilityZone (singular) is used for 12496 // uniform instance groups. 12497 // 12498 // The instance fleet configuration is available only in Amazon EMR versions 12499 // 4.8.0 and later, excluding 5.0.x versions. 12500 AvailabilityZones []*string `type:"list"` 12501} 12502 12503// String returns the string representation 12504func (s PlacementType) String() string { 12505 return awsutil.Prettify(s) 12506} 12507 12508// GoString returns the string representation 12509func (s PlacementType) GoString() string { 12510 return s.String() 12511} 12512 12513// SetAvailabilityZone sets the AvailabilityZone field's value. 12514func (s *PlacementType) SetAvailabilityZone(v string) *PlacementType { 12515 s.AvailabilityZone = &v 12516 return s 12517} 12518 12519// SetAvailabilityZones sets the AvailabilityZones field's value. 12520func (s *PlacementType) SetAvailabilityZones(v []*string) *PlacementType { 12521 s.AvailabilityZones = v 12522 return s 12523} 12524 12525// A list of port ranges that are permitted to allow inbound traffic from all 12526// public IP addresses. To specify a single port, use the same value for MinRange 12527// and MaxRange. 12528type PortRange struct { 12529 _ struct{} `type:"structure"` 12530 12531 // The smallest port number in a specified range of port numbers. 12532 MaxRange *int64 `type:"integer"` 12533 12534 // The smallest port number in a specified range of port numbers. 12535 // 12536 // MinRange is a required field 12537 MinRange *int64 `type:"integer" required:"true"` 12538} 12539 12540// String returns the string representation 12541func (s PortRange) String() string { 12542 return awsutil.Prettify(s) 12543} 12544 12545// GoString returns the string representation 12546func (s PortRange) GoString() string { 12547 return s.String() 12548} 12549 12550// Validate inspects the fields of the type to determine if they are valid. 12551func (s *PortRange) Validate() error { 12552 invalidParams := request.ErrInvalidParams{Context: "PortRange"} 12553 if s.MaxRange != nil && *s.MaxRange < -1 { 12554 invalidParams.Add(request.NewErrParamMinValue("MaxRange", -1)) 12555 } 12556 if s.MinRange == nil { 12557 invalidParams.Add(request.NewErrParamRequired("MinRange")) 12558 } 12559 if s.MinRange != nil && *s.MinRange < -1 { 12560 invalidParams.Add(request.NewErrParamMinValue("MinRange", -1)) 12561 } 12562 12563 if invalidParams.Len() > 0 { 12564 return invalidParams 12565 } 12566 return nil 12567} 12568 12569// SetMaxRange sets the MaxRange field's value. 12570func (s *PortRange) SetMaxRange(v int64) *PortRange { 12571 s.MaxRange = &v 12572 return s 12573} 12574 12575// SetMinRange sets the MinRange field's value. 12576func (s *PortRange) SetMinRange(v int64) *PortRange { 12577 s.MinRange = &v 12578 return s 12579} 12580 12581type PutAutoScalingPolicyInput struct { 12582 _ struct{} `type:"structure"` 12583 12584 // Specifies the definition of the automatic scaling policy. 12585 // 12586 // AutoScalingPolicy is a required field 12587 AutoScalingPolicy *AutoScalingPolicy `type:"structure" required:"true"` 12588 12589 // Specifies the ID of a cluster. The instance group to which the automatic 12590 // scaling policy is applied is within this cluster. 12591 // 12592 // ClusterId is a required field 12593 ClusterId *string `type:"string" required:"true"` 12594 12595 // Specifies the ID of the instance group to which the automatic scaling policy 12596 // is applied. 12597 // 12598 // InstanceGroupId is a required field 12599 InstanceGroupId *string `type:"string" required:"true"` 12600} 12601 12602// String returns the string representation 12603func (s PutAutoScalingPolicyInput) String() string { 12604 return awsutil.Prettify(s) 12605} 12606 12607// GoString returns the string representation 12608func (s PutAutoScalingPolicyInput) GoString() string { 12609 return s.String() 12610} 12611 12612// Validate inspects the fields of the type to determine if they are valid. 12613func (s *PutAutoScalingPolicyInput) Validate() error { 12614 invalidParams := request.ErrInvalidParams{Context: "PutAutoScalingPolicyInput"} 12615 if s.AutoScalingPolicy == nil { 12616 invalidParams.Add(request.NewErrParamRequired("AutoScalingPolicy")) 12617 } 12618 if s.ClusterId == nil { 12619 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 12620 } 12621 if s.InstanceGroupId == nil { 12622 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 12623 } 12624 if s.AutoScalingPolicy != nil { 12625 if err := s.AutoScalingPolicy.Validate(); err != nil { 12626 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 12627 } 12628 } 12629 12630 if invalidParams.Len() > 0 { 12631 return invalidParams 12632 } 12633 return nil 12634} 12635 12636// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 12637func (s *PutAutoScalingPolicyInput) SetAutoScalingPolicy(v *AutoScalingPolicy) *PutAutoScalingPolicyInput { 12638 s.AutoScalingPolicy = v 12639 return s 12640} 12641 12642// SetClusterId sets the ClusterId field's value. 12643func (s *PutAutoScalingPolicyInput) SetClusterId(v string) *PutAutoScalingPolicyInput { 12644 s.ClusterId = &v 12645 return s 12646} 12647 12648// SetInstanceGroupId sets the InstanceGroupId field's value. 12649func (s *PutAutoScalingPolicyInput) SetInstanceGroupId(v string) *PutAutoScalingPolicyInput { 12650 s.InstanceGroupId = &v 12651 return s 12652} 12653 12654type PutAutoScalingPolicyOutput struct { 12655 _ struct{} `type:"structure"` 12656 12657 // The automatic scaling policy definition. 12658 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 12659 12660 // The Amazon Resource Name (ARN) of the cluster. 12661 ClusterArn *string `min:"20" type:"string"` 12662 12663 // Specifies the ID of a cluster. The instance group to which the automatic 12664 // scaling policy is applied is within this cluster. 12665 ClusterId *string `type:"string"` 12666 12667 // Specifies the ID of the instance group to which the scaling policy is applied. 12668 InstanceGroupId *string `type:"string"` 12669} 12670 12671// String returns the string representation 12672func (s PutAutoScalingPolicyOutput) String() string { 12673 return awsutil.Prettify(s) 12674} 12675 12676// GoString returns the string representation 12677func (s PutAutoScalingPolicyOutput) GoString() string { 12678 return s.String() 12679} 12680 12681// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 12682func (s *PutAutoScalingPolicyOutput) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *PutAutoScalingPolicyOutput { 12683 s.AutoScalingPolicy = v 12684 return s 12685} 12686 12687// SetClusterArn sets the ClusterArn field's value. 12688func (s *PutAutoScalingPolicyOutput) SetClusterArn(v string) *PutAutoScalingPolicyOutput { 12689 s.ClusterArn = &v 12690 return s 12691} 12692 12693// SetClusterId sets the ClusterId field's value. 12694func (s *PutAutoScalingPolicyOutput) SetClusterId(v string) *PutAutoScalingPolicyOutput { 12695 s.ClusterId = &v 12696 return s 12697} 12698 12699// SetInstanceGroupId sets the InstanceGroupId field's value. 12700func (s *PutAutoScalingPolicyOutput) SetInstanceGroupId(v string) *PutAutoScalingPolicyOutput { 12701 s.InstanceGroupId = &v 12702 return s 12703} 12704 12705type PutBlockPublicAccessConfigurationInput struct { 12706 _ struct{} `type:"structure"` 12707 12708 // A configuration for Amazon EMR block public access. The configuration applies 12709 // to all clusters created in your account for the current Region. The configuration 12710 // specifies whether block public access is enabled. If block public access 12711 // is enabled, security groups associated with the cluster cannot have rules 12712 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 12713 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 12714 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 12715 // and public access is allowed on this port. You can change this by updating 12716 // BlockPublicSecurityGroupRules to remove the exception. 12717 // 12718 // For accounts that created clusters in a Region before November 25, 2019, 12719 // block public access is disabled by default in that Region. To use this feature, 12720 // you must manually enable and configure it. For accounts that did not create 12721 // an EMR cluster in a Region before this date, block public access is enabled 12722 // by default in that Region. 12723 // 12724 // BlockPublicAccessConfiguration is a required field 12725 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 12726} 12727 12728// String returns the string representation 12729func (s PutBlockPublicAccessConfigurationInput) String() string { 12730 return awsutil.Prettify(s) 12731} 12732 12733// GoString returns the string representation 12734func (s PutBlockPublicAccessConfigurationInput) GoString() string { 12735 return s.String() 12736} 12737 12738// Validate inspects the fields of the type to determine if they are valid. 12739func (s *PutBlockPublicAccessConfigurationInput) Validate() error { 12740 invalidParams := request.ErrInvalidParams{Context: "PutBlockPublicAccessConfigurationInput"} 12741 if s.BlockPublicAccessConfiguration == nil { 12742 invalidParams.Add(request.NewErrParamRequired("BlockPublicAccessConfiguration")) 12743 } 12744 if s.BlockPublicAccessConfiguration != nil { 12745 if err := s.BlockPublicAccessConfiguration.Validate(); err != nil { 12746 invalidParams.AddNested("BlockPublicAccessConfiguration", err.(request.ErrInvalidParams)) 12747 } 12748 } 12749 12750 if invalidParams.Len() > 0 { 12751 return invalidParams 12752 } 12753 return nil 12754} 12755 12756// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 12757func (s *PutBlockPublicAccessConfigurationInput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *PutBlockPublicAccessConfigurationInput { 12758 s.BlockPublicAccessConfiguration = v 12759 return s 12760} 12761 12762type PutBlockPublicAccessConfigurationOutput struct { 12763 _ struct{} `type:"structure"` 12764} 12765 12766// String returns the string representation 12767func (s PutBlockPublicAccessConfigurationOutput) String() string { 12768 return awsutil.Prettify(s) 12769} 12770 12771// GoString returns the string representation 12772func (s PutBlockPublicAccessConfigurationOutput) GoString() string { 12773 return s.String() 12774} 12775 12776type PutManagedScalingPolicyInput struct { 12777 _ struct{} `type:"structure"` 12778 12779 // Specifies the ID of an EMR cluster where the managed scaling policy is attached. 12780 // 12781 // ClusterId is a required field 12782 ClusterId *string `type:"string" required:"true"` 12783 12784 // Specifies the constraints for the managed scaling policy. 12785 // 12786 // ManagedScalingPolicy is a required field 12787 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure" required:"true"` 12788} 12789 12790// String returns the string representation 12791func (s PutManagedScalingPolicyInput) String() string { 12792 return awsutil.Prettify(s) 12793} 12794 12795// GoString returns the string representation 12796func (s PutManagedScalingPolicyInput) GoString() string { 12797 return s.String() 12798} 12799 12800// Validate inspects the fields of the type to determine if they are valid. 12801func (s *PutManagedScalingPolicyInput) Validate() error { 12802 invalidParams := request.ErrInvalidParams{Context: "PutManagedScalingPolicyInput"} 12803 if s.ClusterId == nil { 12804 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 12805 } 12806 if s.ManagedScalingPolicy == nil { 12807 invalidParams.Add(request.NewErrParamRequired("ManagedScalingPolicy")) 12808 } 12809 if s.ManagedScalingPolicy != nil { 12810 if err := s.ManagedScalingPolicy.Validate(); err != nil { 12811 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 12812 } 12813 } 12814 12815 if invalidParams.Len() > 0 { 12816 return invalidParams 12817 } 12818 return nil 12819} 12820 12821// SetClusterId sets the ClusterId field's value. 12822func (s *PutManagedScalingPolicyInput) SetClusterId(v string) *PutManagedScalingPolicyInput { 12823 s.ClusterId = &v 12824 return s 12825} 12826 12827// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 12828func (s *PutManagedScalingPolicyInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *PutManagedScalingPolicyInput { 12829 s.ManagedScalingPolicy = v 12830 return s 12831} 12832 12833type PutManagedScalingPolicyOutput struct { 12834 _ struct{} `type:"structure"` 12835} 12836 12837// String returns the string representation 12838func (s PutManagedScalingPolicyOutput) String() string { 12839 return awsutil.Prettify(s) 12840} 12841 12842// GoString returns the string representation 12843func (s PutManagedScalingPolicyOutput) GoString() string { 12844 return s.String() 12845} 12846 12847type RemoveAutoScalingPolicyInput struct { 12848 _ struct{} `type:"structure"` 12849 12850 // Specifies the ID of a cluster. The instance group to which the automatic 12851 // scaling policy is applied is within this cluster. 12852 // 12853 // ClusterId is a required field 12854 ClusterId *string `type:"string" required:"true"` 12855 12856 // Specifies the ID of the instance group to which the scaling policy is applied. 12857 // 12858 // InstanceGroupId is a required field 12859 InstanceGroupId *string `type:"string" required:"true"` 12860} 12861 12862// String returns the string representation 12863func (s RemoveAutoScalingPolicyInput) String() string { 12864 return awsutil.Prettify(s) 12865} 12866 12867// GoString returns the string representation 12868func (s RemoveAutoScalingPolicyInput) GoString() string { 12869 return s.String() 12870} 12871 12872// Validate inspects the fields of the type to determine if they are valid. 12873func (s *RemoveAutoScalingPolicyInput) Validate() error { 12874 invalidParams := request.ErrInvalidParams{Context: "RemoveAutoScalingPolicyInput"} 12875 if s.ClusterId == nil { 12876 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 12877 } 12878 if s.InstanceGroupId == nil { 12879 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 12880 } 12881 12882 if invalidParams.Len() > 0 { 12883 return invalidParams 12884 } 12885 return nil 12886} 12887 12888// SetClusterId sets the ClusterId field's value. 12889func (s *RemoveAutoScalingPolicyInput) SetClusterId(v string) *RemoveAutoScalingPolicyInput { 12890 s.ClusterId = &v 12891 return s 12892} 12893 12894// SetInstanceGroupId sets the InstanceGroupId field's value. 12895func (s *RemoveAutoScalingPolicyInput) SetInstanceGroupId(v string) *RemoveAutoScalingPolicyInput { 12896 s.InstanceGroupId = &v 12897 return s 12898} 12899 12900type RemoveAutoScalingPolicyOutput struct { 12901 _ struct{} `type:"structure"` 12902} 12903 12904// String returns the string representation 12905func (s RemoveAutoScalingPolicyOutput) String() string { 12906 return awsutil.Prettify(s) 12907} 12908 12909// GoString returns the string representation 12910func (s RemoveAutoScalingPolicyOutput) GoString() string { 12911 return s.String() 12912} 12913 12914type RemoveManagedScalingPolicyInput struct { 12915 _ struct{} `type:"structure"` 12916 12917 // Specifies the ID of the cluster from which the managed scaling policy will 12918 // be removed. 12919 // 12920 // ClusterId is a required field 12921 ClusterId *string `type:"string" required:"true"` 12922} 12923 12924// String returns the string representation 12925func (s RemoveManagedScalingPolicyInput) String() string { 12926 return awsutil.Prettify(s) 12927} 12928 12929// GoString returns the string representation 12930func (s RemoveManagedScalingPolicyInput) GoString() string { 12931 return s.String() 12932} 12933 12934// Validate inspects the fields of the type to determine if they are valid. 12935func (s *RemoveManagedScalingPolicyInput) Validate() error { 12936 invalidParams := request.ErrInvalidParams{Context: "RemoveManagedScalingPolicyInput"} 12937 if s.ClusterId == nil { 12938 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 12939 } 12940 12941 if invalidParams.Len() > 0 { 12942 return invalidParams 12943 } 12944 return nil 12945} 12946 12947// SetClusterId sets the ClusterId field's value. 12948func (s *RemoveManagedScalingPolicyInput) SetClusterId(v string) *RemoveManagedScalingPolicyInput { 12949 s.ClusterId = &v 12950 return s 12951} 12952 12953type RemoveManagedScalingPolicyOutput struct { 12954 _ struct{} `type:"structure"` 12955} 12956 12957// String returns the string representation 12958func (s RemoveManagedScalingPolicyOutput) String() string { 12959 return awsutil.Prettify(s) 12960} 12961 12962// GoString returns the string representation 12963func (s RemoveManagedScalingPolicyOutput) GoString() string { 12964 return s.String() 12965} 12966 12967// This input identifies a cluster and a list of tags to remove. 12968type RemoveTagsInput struct { 12969 _ struct{} `type:"structure"` 12970 12971 // The Amazon EMR resource identifier from which tags will be removed. This 12972 // value must be a cluster identifier. 12973 // 12974 // ResourceId is a required field 12975 ResourceId *string `type:"string" required:"true"` 12976 12977 // A list of tag keys to remove from a resource. 12978 // 12979 // TagKeys is a required field 12980 TagKeys []*string `type:"list" required:"true"` 12981} 12982 12983// String returns the string representation 12984func (s RemoveTagsInput) String() string { 12985 return awsutil.Prettify(s) 12986} 12987 12988// GoString returns the string representation 12989func (s RemoveTagsInput) GoString() string { 12990 return s.String() 12991} 12992 12993// Validate inspects the fields of the type to determine if they are valid. 12994func (s *RemoveTagsInput) Validate() error { 12995 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} 12996 if s.ResourceId == nil { 12997 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 12998 } 12999 if s.TagKeys == nil { 13000 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 13001 } 13002 13003 if invalidParams.Len() > 0 { 13004 return invalidParams 13005 } 13006 return nil 13007} 13008 13009// SetResourceId sets the ResourceId field's value. 13010func (s *RemoveTagsInput) SetResourceId(v string) *RemoveTagsInput { 13011 s.ResourceId = &v 13012 return s 13013} 13014 13015// SetTagKeys sets the TagKeys field's value. 13016func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { 13017 s.TagKeys = v 13018 return s 13019} 13020 13021// This output indicates the result of removing tags from a resource. 13022type RemoveTagsOutput struct { 13023 _ struct{} `type:"structure"` 13024} 13025 13026// String returns the string representation 13027func (s RemoveTagsOutput) String() string { 13028 return awsutil.Prettify(s) 13029} 13030 13031// GoString returns the string representation 13032func (s RemoveTagsOutput) GoString() string { 13033 return s.String() 13034} 13035 13036// Input to the RunJobFlow operation. 13037type RunJobFlowInput struct { 13038 _ struct{} `type:"structure"` 13039 13040 // A JSON string for selecting additional features. 13041 AdditionalInfo *string `type:"string"` 13042 13043 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 13044 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 13045 AmiVersion *string `type:"string"` 13046 13047 // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of 13048 // applications for Amazon EMR to install and configure when launching the cluster. 13049 // For a list of applications available for each Amazon EMR release version, 13050 // see the Amazon EMR Release Guide (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 13051 Applications []*Application `type:"list"` 13052 13053 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 13054 // The IAM role provides permissions that the automatic scaling feature requires 13055 // to launch and terminate EC2 instances in an instance group. 13056 AutoScalingRole *string `type:"string"` 13057 13058 // A list of bootstrap actions to run before Hadoop starts on the cluster nodes. 13059 BootstrapActions []*BootstrapActionConfig `type:"list"` 13060 13061 // For Amazon EMR releases 4.0 and later. The list of configurations supplied 13062 // for the EMR cluster you are creating. 13063 Configurations []*Configuration `type:"list"` 13064 13065 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 13066 // Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when 13067 // it launches cluster EC2 instances. For more information about custom AMIs 13068 // in Amazon EMR, see Using a Custom AMI (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) 13069 // in the Amazon EMR Management Guide. If omitted, the cluster uses the base 13070 // Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 13071 // 3.x, use AmiVersion instead. 13072 // 13073 // For information about creating a custom AMI, see Creating an Amazon EBS-Backed 13074 // Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) 13075 // in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information 13076 // about finding an AMI ID, see Finding a Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html). 13077 CustomAmiId *string `type:"string"` 13078 13079 // The size, in GiB, of the Amazon EBS root device volume of the Linux AMI that 13080 // is used for each EC2 instance. Available in Amazon EMR version 4.x and later. 13081 EbsRootVolumeSize *int64 `type:"integer"` 13082 13083 // A specification of the number and type of Amazon EC2 instances. 13084 // 13085 // Instances is a required field 13086 Instances *JobFlowInstancesConfig `type:"structure" required:"true"` 13087 13088 // Also called instance profile and EC2 role. An IAM role for an EMR cluster. 13089 // The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. 13090 // In order to use the default role, you must have already created it using 13091 // the CLI or console. 13092 JobFlowRole *string `type:"string"` 13093 13094 // Attributes for Kerberos configuration when Kerberos authentication is enabled 13095 // using a security configuration. For more information see Use Kerberos Authentication 13096 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 13097 // in the Amazon EMR Management Guide. 13098 KerberosAttributes *KerberosAttributes `type:"structure"` 13099 13100 // The AWS KMS customer master key (CMK) used for encrypting log files. If a 13101 // value is not provided, the logs remain encrypted by AES-256. This attribute 13102 // is only available with Amazon EMR version 5.30.0 and later, excluding Amazon 13103 // EMR 6.0.0. 13104 LogEncryptionKmsKeyId *string `type:"string"` 13105 13106 // The location in Amazon S3 to write the log files of the job flow. If a value 13107 // is not provided, logs are not created. 13108 LogUri *string `type:"string"` 13109 13110 // The specified managed scaling policy for an Amazon EMR cluster. 13111 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 13112 13113 // The name of the job flow. 13114 // 13115 // Name is a required field 13116 Name *string `type:"string" required:"true"` 13117 13118 // 13119 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 13120 // use Applications. 13121 // 13122 // A list of strings that indicates third-party software to use with the job 13123 // flow that accepts a user argument list. EMR accepts and forwards the argument 13124 // list to the corresponding installation script as bootstrap action arguments. 13125 // For more information, see "Launch a Job Flow on the MapR Distribution for 13126 // Hadoop" in the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 13127 // Supported values are: 13128 // 13129 // * "mapr-m3" - launch the cluster using MapR M3 Edition. 13130 // 13131 // * "mapr-m5" - launch the cluster using MapR M5 Edition. 13132 // 13133 // * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" 13134 // - launch the job flow using MapR M3 or M5 Edition respectively. 13135 // 13136 // * "mapr-m7" - launch the cluster using MapR M7 Edition. 13137 // 13138 // * "hunk" - launch the cluster with the Hunk Big Data Analytics Platform. 13139 // 13140 // * "hue"- launch the cluster with Hue installed. 13141 // 13142 // * "spark" - launch the cluster with Apache Spark installed. 13143 // 13144 // * "ganglia" - launch the cluster with the Ganglia Monitoring System installed. 13145 NewSupportedProducts []*SupportedProductConfig `type:"list"` 13146 13147 // The specified placement group configuration for an Amazon EMR cluster. 13148 PlacementGroupConfigs []*PlacementGroupConfig `type:"list"` 13149 13150 // The Amazon EMR release label, which determines the version of open-source 13151 // application packages installed on the cluster. Release labels are in the 13152 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 13153 // For more information about Amazon EMR release versions and included application 13154 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 13155 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 13156 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 13157 // use AmiVersion. 13158 ReleaseLabel *string `type:"string"` 13159 13160 // Applies only when CustomAmiID is used. Specifies which updates from the Amazon 13161 // Linux AMI package repositories to apply automatically when the instance boots 13162 // using the AMI. If omitted, the default is SECURITY, which indicates that 13163 // only security updates are applied. If NONE is specified, no updates are applied, 13164 // and all updates must be applied manually. 13165 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 13166 13167 // Specifies the way that individual Amazon EC2 instances terminate when an 13168 // automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 13169 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 13170 // regardless of when the request to terminate the instance was submitted. This 13171 // option is only available with Amazon EMR 5.1.0 and later and is the default 13172 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 13173 // that Amazon EMR adds nodes to a deny list and drains tasks from nodes before 13174 // terminating the Amazon EC2 instances, regardless of the instance-hour boundary. 13175 // With either behavior, Amazon EMR removes the least active nodes first and 13176 // blocks instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 13177 // available only in Amazon EMR version 4.1.0 and later, and is the default 13178 // for versions of Amazon EMR earlier than 5.1.0. 13179 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 13180 13181 // The name of a security configuration to apply to the cluster. 13182 SecurityConfiguration *string `type:"string"` 13183 13184 // The IAM role that will be assumed by the Amazon EMR service to access AWS 13185 // resources on your behalf. 13186 ServiceRole *string `type:"string"` 13187 13188 // Specifies the number of steps that can be executed concurrently. The default 13189 // value is 1. The maximum value is 256. 13190 StepConcurrencyLevel *int64 `type:"integer"` 13191 13192 // A list of steps to run. 13193 Steps []*StepConfig `type:"list"` 13194 13195 // 13196 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 13197 // use Applications. 13198 // 13199 // A list of strings that indicates third-party software to use. For more information, 13200 // see the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 13201 // Currently supported values are: 13202 // 13203 // * "mapr-m3" - launch the job flow using MapR M3 Edition. 13204 // 13205 // * "mapr-m5" - launch the job flow using MapR M5 Edition. 13206 SupportedProducts []*string `type:"list"` 13207 13208 // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. 13209 Tags []*Tag `type:"list"` 13210 13211 // A value of true indicates that all IAM users in the AWS account can perform 13212 // cluster actions if they have the proper IAM policy permissions. This is the 13213 // default. A value of false indicates that only the IAM user who created the 13214 // cluster can perform actions. 13215 VisibleToAllUsers *bool `type:"boolean"` 13216} 13217 13218// String returns the string representation 13219func (s RunJobFlowInput) String() string { 13220 return awsutil.Prettify(s) 13221} 13222 13223// GoString returns the string representation 13224func (s RunJobFlowInput) GoString() string { 13225 return s.String() 13226} 13227 13228// Validate inspects the fields of the type to determine if they are valid. 13229func (s *RunJobFlowInput) Validate() error { 13230 invalidParams := request.ErrInvalidParams{Context: "RunJobFlowInput"} 13231 if s.Instances == nil { 13232 invalidParams.Add(request.NewErrParamRequired("Instances")) 13233 } 13234 if s.Name == nil { 13235 invalidParams.Add(request.NewErrParamRequired("Name")) 13236 } 13237 if s.BootstrapActions != nil { 13238 for i, v := range s.BootstrapActions { 13239 if v == nil { 13240 continue 13241 } 13242 if err := v.Validate(); err != nil { 13243 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BootstrapActions", i), err.(request.ErrInvalidParams)) 13244 } 13245 } 13246 } 13247 if s.Instances != nil { 13248 if err := s.Instances.Validate(); err != nil { 13249 invalidParams.AddNested("Instances", err.(request.ErrInvalidParams)) 13250 } 13251 } 13252 if s.KerberosAttributes != nil { 13253 if err := s.KerberosAttributes.Validate(); err != nil { 13254 invalidParams.AddNested("KerberosAttributes", err.(request.ErrInvalidParams)) 13255 } 13256 } 13257 if s.ManagedScalingPolicy != nil { 13258 if err := s.ManagedScalingPolicy.Validate(); err != nil { 13259 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 13260 } 13261 } 13262 if s.PlacementGroupConfigs != nil { 13263 for i, v := range s.PlacementGroupConfigs { 13264 if v == nil { 13265 continue 13266 } 13267 if err := v.Validate(); err != nil { 13268 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlacementGroupConfigs", i), err.(request.ErrInvalidParams)) 13269 } 13270 } 13271 } 13272 if s.Steps != nil { 13273 for i, v := range s.Steps { 13274 if v == nil { 13275 continue 13276 } 13277 if err := v.Validate(); err != nil { 13278 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 13279 } 13280 } 13281 } 13282 13283 if invalidParams.Len() > 0 { 13284 return invalidParams 13285 } 13286 return nil 13287} 13288 13289// SetAdditionalInfo sets the AdditionalInfo field's value. 13290func (s *RunJobFlowInput) SetAdditionalInfo(v string) *RunJobFlowInput { 13291 s.AdditionalInfo = &v 13292 return s 13293} 13294 13295// SetAmiVersion sets the AmiVersion field's value. 13296func (s *RunJobFlowInput) SetAmiVersion(v string) *RunJobFlowInput { 13297 s.AmiVersion = &v 13298 return s 13299} 13300 13301// SetApplications sets the Applications field's value. 13302func (s *RunJobFlowInput) SetApplications(v []*Application) *RunJobFlowInput { 13303 s.Applications = v 13304 return s 13305} 13306 13307// SetAutoScalingRole sets the AutoScalingRole field's value. 13308func (s *RunJobFlowInput) SetAutoScalingRole(v string) *RunJobFlowInput { 13309 s.AutoScalingRole = &v 13310 return s 13311} 13312 13313// SetBootstrapActions sets the BootstrapActions field's value. 13314func (s *RunJobFlowInput) SetBootstrapActions(v []*BootstrapActionConfig) *RunJobFlowInput { 13315 s.BootstrapActions = v 13316 return s 13317} 13318 13319// SetConfigurations sets the Configurations field's value. 13320func (s *RunJobFlowInput) SetConfigurations(v []*Configuration) *RunJobFlowInput { 13321 s.Configurations = v 13322 return s 13323} 13324 13325// SetCustomAmiId sets the CustomAmiId field's value. 13326func (s *RunJobFlowInput) SetCustomAmiId(v string) *RunJobFlowInput { 13327 s.CustomAmiId = &v 13328 return s 13329} 13330 13331// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 13332func (s *RunJobFlowInput) SetEbsRootVolumeSize(v int64) *RunJobFlowInput { 13333 s.EbsRootVolumeSize = &v 13334 return s 13335} 13336 13337// SetInstances sets the Instances field's value. 13338func (s *RunJobFlowInput) SetInstances(v *JobFlowInstancesConfig) *RunJobFlowInput { 13339 s.Instances = v 13340 return s 13341} 13342 13343// SetJobFlowRole sets the JobFlowRole field's value. 13344func (s *RunJobFlowInput) SetJobFlowRole(v string) *RunJobFlowInput { 13345 s.JobFlowRole = &v 13346 return s 13347} 13348 13349// SetKerberosAttributes sets the KerberosAttributes field's value. 13350func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFlowInput { 13351 s.KerberosAttributes = v 13352 return s 13353} 13354 13355// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 13356func (s *RunJobFlowInput) SetLogEncryptionKmsKeyId(v string) *RunJobFlowInput { 13357 s.LogEncryptionKmsKeyId = &v 13358 return s 13359} 13360 13361// SetLogUri sets the LogUri field's value. 13362func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput { 13363 s.LogUri = &v 13364 return s 13365} 13366 13367// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 13368func (s *RunJobFlowInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *RunJobFlowInput { 13369 s.ManagedScalingPolicy = v 13370 return s 13371} 13372 13373// SetName sets the Name field's value. 13374func (s *RunJobFlowInput) SetName(v string) *RunJobFlowInput { 13375 s.Name = &v 13376 return s 13377} 13378 13379// SetNewSupportedProducts sets the NewSupportedProducts field's value. 13380func (s *RunJobFlowInput) SetNewSupportedProducts(v []*SupportedProductConfig) *RunJobFlowInput { 13381 s.NewSupportedProducts = v 13382 return s 13383} 13384 13385// SetPlacementGroupConfigs sets the PlacementGroupConfigs field's value. 13386func (s *RunJobFlowInput) SetPlacementGroupConfigs(v []*PlacementGroupConfig) *RunJobFlowInput { 13387 s.PlacementGroupConfigs = v 13388 return s 13389} 13390 13391// SetReleaseLabel sets the ReleaseLabel field's value. 13392func (s *RunJobFlowInput) SetReleaseLabel(v string) *RunJobFlowInput { 13393 s.ReleaseLabel = &v 13394 return s 13395} 13396 13397// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 13398func (s *RunJobFlowInput) SetRepoUpgradeOnBoot(v string) *RunJobFlowInput { 13399 s.RepoUpgradeOnBoot = &v 13400 return s 13401} 13402 13403// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 13404func (s *RunJobFlowInput) SetScaleDownBehavior(v string) *RunJobFlowInput { 13405 s.ScaleDownBehavior = &v 13406 return s 13407} 13408 13409// SetSecurityConfiguration sets the SecurityConfiguration field's value. 13410func (s *RunJobFlowInput) SetSecurityConfiguration(v string) *RunJobFlowInput { 13411 s.SecurityConfiguration = &v 13412 return s 13413} 13414 13415// SetServiceRole sets the ServiceRole field's value. 13416func (s *RunJobFlowInput) SetServiceRole(v string) *RunJobFlowInput { 13417 s.ServiceRole = &v 13418 return s 13419} 13420 13421// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 13422func (s *RunJobFlowInput) SetStepConcurrencyLevel(v int64) *RunJobFlowInput { 13423 s.StepConcurrencyLevel = &v 13424 return s 13425} 13426 13427// SetSteps sets the Steps field's value. 13428func (s *RunJobFlowInput) SetSteps(v []*StepConfig) *RunJobFlowInput { 13429 s.Steps = v 13430 return s 13431} 13432 13433// SetSupportedProducts sets the SupportedProducts field's value. 13434func (s *RunJobFlowInput) SetSupportedProducts(v []*string) *RunJobFlowInput { 13435 s.SupportedProducts = v 13436 return s 13437} 13438 13439// SetTags sets the Tags field's value. 13440func (s *RunJobFlowInput) SetTags(v []*Tag) *RunJobFlowInput { 13441 s.Tags = v 13442 return s 13443} 13444 13445// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 13446func (s *RunJobFlowInput) SetVisibleToAllUsers(v bool) *RunJobFlowInput { 13447 s.VisibleToAllUsers = &v 13448 return s 13449} 13450 13451// The result of the RunJobFlow operation. 13452type RunJobFlowOutput struct { 13453 _ struct{} `type:"structure"` 13454 13455 // The Amazon Resource Name (ARN) of the cluster. 13456 ClusterArn *string `min:"20" type:"string"` 13457 13458 // A unique identifier for the job flow. 13459 JobFlowId *string `type:"string"` 13460} 13461 13462// String returns the string representation 13463func (s RunJobFlowOutput) String() string { 13464 return awsutil.Prettify(s) 13465} 13466 13467// GoString returns the string representation 13468func (s RunJobFlowOutput) GoString() string { 13469 return s.String() 13470} 13471 13472// SetClusterArn sets the ClusterArn field's value. 13473func (s *RunJobFlowOutput) SetClusterArn(v string) *RunJobFlowOutput { 13474 s.ClusterArn = &v 13475 return s 13476} 13477 13478// SetJobFlowId sets the JobFlowId field's value. 13479func (s *RunJobFlowOutput) SetJobFlowId(v string) *RunJobFlowOutput { 13480 s.JobFlowId = &v 13481 return s 13482} 13483 13484// The type of adjustment the automatic scaling activity makes when triggered, 13485// and the periodicity of the adjustment. 13486type ScalingAction struct { 13487 _ struct{} `type:"structure"` 13488 13489 // Not available for instance groups. Instance groups use the market type specified 13490 // for the group. 13491 Market *string `type:"string" enum:"MarketType"` 13492 13493 // The type of adjustment the automatic scaling activity makes when triggered, 13494 // and the periodicity of the adjustment. 13495 // 13496 // SimpleScalingPolicyConfiguration is a required field 13497 SimpleScalingPolicyConfiguration *SimpleScalingPolicyConfiguration `type:"structure" required:"true"` 13498} 13499 13500// String returns the string representation 13501func (s ScalingAction) String() string { 13502 return awsutil.Prettify(s) 13503} 13504 13505// GoString returns the string representation 13506func (s ScalingAction) GoString() string { 13507 return s.String() 13508} 13509 13510// Validate inspects the fields of the type to determine if they are valid. 13511func (s *ScalingAction) Validate() error { 13512 invalidParams := request.ErrInvalidParams{Context: "ScalingAction"} 13513 if s.SimpleScalingPolicyConfiguration == nil { 13514 invalidParams.Add(request.NewErrParamRequired("SimpleScalingPolicyConfiguration")) 13515 } 13516 if s.SimpleScalingPolicyConfiguration != nil { 13517 if err := s.SimpleScalingPolicyConfiguration.Validate(); err != nil { 13518 invalidParams.AddNested("SimpleScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 13519 } 13520 } 13521 13522 if invalidParams.Len() > 0 { 13523 return invalidParams 13524 } 13525 return nil 13526} 13527 13528// SetMarket sets the Market field's value. 13529func (s *ScalingAction) SetMarket(v string) *ScalingAction { 13530 s.Market = &v 13531 return s 13532} 13533 13534// SetSimpleScalingPolicyConfiguration sets the SimpleScalingPolicyConfiguration field's value. 13535func (s *ScalingAction) SetSimpleScalingPolicyConfiguration(v *SimpleScalingPolicyConfiguration) *ScalingAction { 13536 s.SimpleScalingPolicyConfiguration = v 13537 return s 13538} 13539 13540// The upper and lower EC2 instance limits for an automatic scaling policy. 13541// Automatic scaling activities triggered by automatic scaling rules will not 13542// cause an instance group to grow above or below these limits. 13543type ScalingConstraints struct { 13544 _ struct{} `type:"structure"` 13545 13546 // The upper boundary of EC2 instances in an instance group beyond which scaling 13547 // activities are not allowed to grow. Scale-out activities will not add instances 13548 // beyond this boundary. 13549 // 13550 // MaxCapacity is a required field 13551 MaxCapacity *int64 `type:"integer" required:"true"` 13552 13553 // The lower boundary of EC2 instances in an instance group below which scaling 13554 // activities are not allowed to shrink. Scale-in activities will not terminate 13555 // instances below this boundary. 13556 // 13557 // MinCapacity is a required field 13558 MinCapacity *int64 `type:"integer" required:"true"` 13559} 13560 13561// String returns the string representation 13562func (s ScalingConstraints) String() string { 13563 return awsutil.Prettify(s) 13564} 13565 13566// GoString returns the string representation 13567func (s ScalingConstraints) GoString() string { 13568 return s.String() 13569} 13570 13571// Validate inspects the fields of the type to determine if they are valid. 13572func (s *ScalingConstraints) Validate() error { 13573 invalidParams := request.ErrInvalidParams{Context: "ScalingConstraints"} 13574 if s.MaxCapacity == nil { 13575 invalidParams.Add(request.NewErrParamRequired("MaxCapacity")) 13576 } 13577 if s.MinCapacity == nil { 13578 invalidParams.Add(request.NewErrParamRequired("MinCapacity")) 13579 } 13580 13581 if invalidParams.Len() > 0 { 13582 return invalidParams 13583 } 13584 return nil 13585} 13586 13587// SetMaxCapacity sets the MaxCapacity field's value. 13588func (s *ScalingConstraints) SetMaxCapacity(v int64) *ScalingConstraints { 13589 s.MaxCapacity = &v 13590 return s 13591} 13592 13593// SetMinCapacity sets the MinCapacity field's value. 13594func (s *ScalingConstraints) SetMinCapacity(v int64) *ScalingConstraints { 13595 s.MinCapacity = &v 13596 return s 13597} 13598 13599// A scale-in or scale-out rule that defines scaling activity, including the 13600// CloudWatch metric alarm that triggers activity, how EC2 instances are added 13601// or removed, and the periodicity of adjustments. The automatic scaling policy 13602// for an instance group can comprise one or more automatic scaling rules. 13603type ScalingRule struct { 13604 _ struct{} `type:"structure"` 13605 13606 // The conditions that trigger an automatic scaling activity. 13607 // 13608 // Action is a required field 13609 Action *ScalingAction `type:"structure" required:"true"` 13610 13611 // A friendly, more verbose description of the automatic scaling rule. 13612 Description *string `type:"string"` 13613 13614 // The name used to identify an automatic scaling rule. Rule names must be unique 13615 // within a scaling policy. 13616 // 13617 // Name is a required field 13618 Name *string `type:"string" required:"true"` 13619 13620 // The CloudWatch alarm definition that determines when automatic scaling activity 13621 // is triggered. 13622 // 13623 // Trigger is a required field 13624 Trigger *ScalingTrigger `type:"structure" required:"true"` 13625} 13626 13627// String returns the string representation 13628func (s ScalingRule) String() string { 13629 return awsutil.Prettify(s) 13630} 13631 13632// GoString returns the string representation 13633func (s ScalingRule) GoString() string { 13634 return s.String() 13635} 13636 13637// Validate inspects the fields of the type to determine if they are valid. 13638func (s *ScalingRule) Validate() error { 13639 invalidParams := request.ErrInvalidParams{Context: "ScalingRule"} 13640 if s.Action == nil { 13641 invalidParams.Add(request.NewErrParamRequired("Action")) 13642 } 13643 if s.Name == nil { 13644 invalidParams.Add(request.NewErrParamRequired("Name")) 13645 } 13646 if s.Trigger == nil { 13647 invalidParams.Add(request.NewErrParamRequired("Trigger")) 13648 } 13649 if s.Action != nil { 13650 if err := s.Action.Validate(); err != nil { 13651 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 13652 } 13653 } 13654 if s.Trigger != nil { 13655 if err := s.Trigger.Validate(); err != nil { 13656 invalidParams.AddNested("Trigger", err.(request.ErrInvalidParams)) 13657 } 13658 } 13659 13660 if invalidParams.Len() > 0 { 13661 return invalidParams 13662 } 13663 return nil 13664} 13665 13666// SetAction sets the Action field's value. 13667func (s *ScalingRule) SetAction(v *ScalingAction) *ScalingRule { 13668 s.Action = v 13669 return s 13670} 13671 13672// SetDescription sets the Description field's value. 13673func (s *ScalingRule) SetDescription(v string) *ScalingRule { 13674 s.Description = &v 13675 return s 13676} 13677 13678// SetName sets the Name field's value. 13679func (s *ScalingRule) SetName(v string) *ScalingRule { 13680 s.Name = &v 13681 return s 13682} 13683 13684// SetTrigger sets the Trigger field's value. 13685func (s *ScalingRule) SetTrigger(v *ScalingTrigger) *ScalingRule { 13686 s.Trigger = v 13687 return s 13688} 13689 13690// The conditions that trigger an automatic scaling activity. 13691type ScalingTrigger struct { 13692 _ struct{} `type:"structure"` 13693 13694 // The definition of a CloudWatch metric alarm. When the defined alarm conditions 13695 // are met along with other trigger parameters, scaling activity begins. 13696 // 13697 // CloudWatchAlarmDefinition is a required field 13698 CloudWatchAlarmDefinition *CloudWatchAlarmDefinition `type:"structure" required:"true"` 13699} 13700 13701// String returns the string representation 13702func (s ScalingTrigger) String() string { 13703 return awsutil.Prettify(s) 13704} 13705 13706// GoString returns the string representation 13707func (s ScalingTrigger) GoString() string { 13708 return s.String() 13709} 13710 13711// Validate inspects the fields of the type to determine if they are valid. 13712func (s *ScalingTrigger) Validate() error { 13713 invalidParams := request.ErrInvalidParams{Context: "ScalingTrigger"} 13714 if s.CloudWatchAlarmDefinition == nil { 13715 invalidParams.Add(request.NewErrParamRequired("CloudWatchAlarmDefinition")) 13716 } 13717 if s.CloudWatchAlarmDefinition != nil { 13718 if err := s.CloudWatchAlarmDefinition.Validate(); err != nil { 13719 invalidParams.AddNested("CloudWatchAlarmDefinition", err.(request.ErrInvalidParams)) 13720 } 13721 } 13722 13723 if invalidParams.Len() > 0 { 13724 return invalidParams 13725 } 13726 return nil 13727} 13728 13729// SetCloudWatchAlarmDefinition sets the CloudWatchAlarmDefinition field's value. 13730func (s *ScalingTrigger) SetCloudWatchAlarmDefinition(v *CloudWatchAlarmDefinition) *ScalingTrigger { 13731 s.CloudWatchAlarmDefinition = v 13732 return s 13733} 13734 13735// Configuration of the script to run during a bootstrap action. 13736type ScriptBootstrapActionConfig struct { 13737 _ struct{} `type:"structure"` 13738 13739 // A list of command line arguments to pass to the bootstrap action script. 13740 Args []*string `type:"list"` 13741 13742 // Location of the script to run during a bootstrap action. Can be either a 13743 // location in Amazon S3 or on a local file system. 13744 // 13745 // Path is a required field 13746 Path *string `type:"string" required:"true"` 13747} 13748 13749// String returns the string representation 13750func (s ScriptBootstrapActionConfig) String() string { 13751 return awsutil.Prettify(s) 13752} 13753 13754// GoString returns the string representation 13755func (s ScriptBootstrapActionConfig) GoString() string { 13756 return s.String() 13757} 13758 13759// Validate inspects the fields of the type to determine if they are valid. 13760func (s *ScriptBootstrapActionConfig) Validate() error { 13761 invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} 13762 if s.Path == nil { 13763 invalidParams.Add(request.NewErrParamRequired("Path")) 13764 } 13765 13766 if invalidParams.Len() > 0 { 13767 return invalidParams 13768 } 13769 return nil 13770} 13771 13772// SetArgs sets the Args field's value. 13773func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig { 13774 s.Args = v 13775 return s 13776} 13777 13778// SetPath sets the Path field's value. 13779func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig { 13780 s.Path = &v 13781 return s 13782} 13783 13784// The creation date and time, and name, of a security configuration. 13785type SecurityConfigurationSummary struct { 13786 _ struct{} `type:"structure"` 13787 13788 // The date and time the security configuration was created. 13789 CreationDateTime *time.Time `type:"timestamp"` 13790 13791 // The name of the security configuration. 13792 Name *string `type:"string"` 13793} 13794 13795// String returns the string representation 13796func (s SecurityConfigurationSummary) String() string { 13797 return awsutil.Prettify(s) 13798} 13799 13800// GoString returns the string representation 13801func (s SecurityConfigurationSummary) GoString() string { 13802 return s.String() 13803} 13804 13805// SetCreationDateTime sets the CreationDateTime field's value. 13806func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary { 13807 s.CreationDateTime = &v 13808 return s 13809} 13810 13811// SetName sets the Name field's value. 13812func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary { 13813 s.Name = &v 13814 return s 13815} 13816 13817// Details for an Amazon EMR Studio session mapping including creation time, 13818// user or group ID, Studio ID, and so on. 13819type SessionMappingDetail struct { 13820 _ struct{} `type:"structure"` 13821 13822 // The time the session mapping was created. 13823 CreationTime *time.Time `type:"timestamp"` 13824 13825 // The globally unique identifier (GUID) of the user or group. 13826 IdentityId *string `type:"string"` 13827 13828 // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 13829 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 13830 // in the AWS SSO Identity Store API Reference. 13831 IdentityName *string `type:"string"` 13832 13833 // Specifies whether the identity mapped to the Amazon EMR Studio is a user 13834 // or a group. 13835 IdentityType *string `type:"string" enum:"IdentityType"` 13836 13837 // The time the session mapping was last modified. 13838 LastModifiedTime *time.Time `type:"timestamp"` 13839 13840 // The Amazon Resource Name (ARN) of the session policy associated with the 13841 // user or group. 13842 SessionPolicyArn *string `type:"string"` 13843 13844 // The ID of the Amazon EMR Studio. 13845 StudioId *string `type:"string"` 13846} 13847 13848// String returns the string representation 13849func (s SessionMappingDetail) String() string { 13850 return awsutil.Prettify(s) 13851} 13852 13853// GoString returns the string representation 13854func (s SessionMappingDetail) GoString() string { 13855 return s.String() 13856} 13857 13858// SetCreationTime sets the CreationTime field's value. 13859func (s *SessionMappingDetail) SetCreationTime(v time.Time) *SessionMappingDetail { 13860 s.CreationTime = &v 13861 return s 13862} 13863 13864// SetIdentityId sets the IdentityId field's value. 13865func (s *SessionMappingDetail) SetIdentityId(v string) *SessionMappingDetail { 13866 s.IdentityId = &v 13867 return s 13868} 13869 13870// SetIdentityName sets the IdentityName field's value. 13871func (s *SessionMappingDetail) SetIdentityName(v string) *SessionMappingDetail { 13872 s.IdentityName = &v 13873 return s 13874} 13875 13876// SetIdentityType sets the IdentityType field's value. 13877func (s *SessionMappingDetail) SetIdentityType(v string) *SessionMappingDetail { 13878 s.IdentityType = &v 13879 return s 13880} 13881 13882// SetLastModifiedTime sets the LastModifiedTime field's value. 13883func (s *SessionMappingDetail) SetLastModifiedTime(v time.Time) *SessionMappingDetail { 13884 s.LastModifiedTime = &v 13885 return s 13886} 13887 13888// SetSessionPolicyArn sets the SessionPolicyArn field's value. 13889func (s *SessionMappingDetail) SetSessionPolicyArn(v string) *SessionMappingDetail { 13890 s.SessionPolicyArn = &v 13891 return s 13892} 13893 13894// SetStudioId sets the StudioId field's value. 13895func (s *SessionMappingDetail) SetStudioId(v string) *SessionMappingDetail { 13896 s.StudioId = &v 13897 return s 13898} 13899 13900// Details for an Amazon EMR Studio session mapping. The details do not include 13901// the time the session mapping was last modified. 13902type SessionMappingSummary struct { 13903 _ struct{} `type:"structure"` 13904 13905 // The time the session mapping was created. 13906 CreationTime *time.Time `type:"timestamp"` 13907 13908 // The globally unique identifier (GUID) of the user or group from the AWS SSO 13909 // Identity Store. 13910 IdentityId *string `type:"string"` 13911 13912 // The name of the user or group. For more information, see UserName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 13913 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 13914 // in the AWS SSO Identity Store API Reference. 13915 IdentityName *string `type:"string"` 13916 13917 // Specifies whether the identity mapped to the Amazon EMR Studio is a user 13918 // or a group. 13919 IdentityType *string `type:"string" enum:"IdentityType"` 13920 13921 // The Amazon Resource Name (ARN) of the session policy associated with the 13922 // user or group. 13923 SessionPolicyArn *string `type:"string"` 13924 13925 // The ID of the Amazon EMR Studio. 13926 StudioId *string `type:"string"` 13927} 13928 13929// String returns the string representation 13930func (s SessionMappingSummary) String() string { 13931 return awsutil.Prettify(s) 13932} 13933 13934// GoString returns the string representation 13935func (s SessionMappingSummary) GoString() string { 13936 return s.String() 13937} 13938 13939// SetCreationTime sets the CreationTime field's value. 13940func (s *SessionMappingSummary) SetCreationTime(v time.Time) *SessionMappingSummary { 13941 s.CreationTime = &v 13942 return s 13943} 13944 13945// SetIdentityId sets the IdentityId field's value. 13946func (s *SessionMappingSummary) SetIdentityId(v string) *SessionMappingSummary { 13947 s.IdentityId = &v 13948 return s 13949} 13950 13951// SetIdentityName sets the IdentityName field's value. 13952func (s *SessionMappingSummary) SetIdentityName(v string) *SessionMappingSummary { 13953 s.IdentityName = &v 13954 return s 13955} 13956 13957// SetIdentityType sets the IdentityType field's value. 13958func (s *SessionMappingSummary) SetIdentityType(v string) *SessionMappingSummary { 13959 s.IdentityType = &v 13960 return s 13961} 13962 13963// SetSessionPolicyArn sets the SessionPolicyArn field's value. 13964func (s *SessionMappingSummary) SetSessionPolicyArn(v string) *SessionMappingSummary { 13965 s.SessionPolicyArn = &v 13966 return s 13967} 13968 13969// SetStudioId sets the StudioId field's value. 13970func (s *SessionMappingSummary) SetStudioId(v string) *SessionMappingSummary { 13971 s.StudioId = &v 13972 return s 13973} 13974 13975// The input argument to the TerminationProtection operation. 13976type SetTerminationProtectionInput struct { 13977 _ struct{} `type:"structure"` 13978 13979 // A list of strings that uniquely identify the clusters to protect. This identifier 13980 // is returned by RunJobFlow and can also be obtained from DescribeJobFlows . 13981 // 13982 // JobFlowIds is a required field 13983 JobFlowIds []*string `type:"list" required:"true"` 13984 13985 // A Boolean that indicates whether to protect the cluster and prevent the Amazon 13986 // EC2 instances in the cluster from shutting down due to API calls, user intervention, 13987 // or job-flow error. 13988 // 13989 // TerminationProtected is a required field 13990 TerminationProtected *bool `type:"boolean" required:"true"` 13991} 13992 13993// String returns the string representation 13994func (s SetTerminationProtectionInput) String() string { 13995 return awsutil.Prettify(s) 13996} 13997 13998// GoString returns the string representation 13999func (s SetTerminationProtectionInput) GoString() string { 14000 return s.String() 14001} 14002 14003// Validate inspects the fields of the type to determine if they are valid. 14004func (s *SetTerminationProtectionInput) Validate() error { 14005 invalidParams := request.ErrInvalidParams{Context: "SetTerminationProtectionInput"} 14006 if s.JobFlowIds == nil { 14007 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 14008 } 14009 if s.TerminationProtected == nil { 14010 invalidParams.Add(request.NewErrParamRequired("TerminationProtected")) 14011 } 14012 14013 if invalidParams.Len() > 0 { 14014 return invalidParams 14015 } 14016 return nil 14017} 14018 14019// SetJobFlowIds sets the JobFlowIds field's value. 14020func (s *SetTerminationProtectionInput) SetJobFlowIds(v []*string) *SetTerminationProtectionInput { 14021 s.JobFlowIds = v 14022 return s 14023} 14024 14025// SetTerminationProtected sets the TerminationProtected field's value. 14026func (s *SetTerminationProtectionInput) SetTerminationProtected(v bool) *SetTerminationProtectionInput { 14027 s.TerminationProtected = &v 14028 return s 14029} 14030 14031type SetTerminationProtectionOutput struct { 14032 _ struct{} `type:"structure"` 14033} 14034 14035// String returns the string representation 14036func (s SetTerminationProtectionOutput) String() string { 14037 return awsutil.Prettify(s) 14038} 14039 14040// GoString returns the string representation 14041func (s SetTerminationProtectionOutput) GoString() string { 14042 return s.String() 14043} 14044 14045// The input to the SetVisibleToAllUsers action. 14046type SetVisibleToAllUsersInput struct { 14047 _ struct{} `type:"structure"` 14048 14049 // The unique identifier of the job flow (cluster). 14050 // 14051 // JobFlowIds is a required field 14052 JobFlowIds []*string `type:"list" required:"true"` 14053 14054 // A value of true indicates that all IAM users in the AWS account can perform 14055 // cluster actions if they have the proper IAM policy permissions. This is the 14056 // default. A value of false indicates that only the IAM user who created the 14057 // cluster can perform actions. 14058 // 14059 // VisibleToAllUsers is a required field 14060 VisibleToAllUsers *bool `type:"boolean" required:"true"` 14061} 14062 14063// String returns the string representation 14064func (s SetVisibleToAllUsersInput) String() string { 14065 return awsutil.Prettify(s) 14066} 14067 14068// GoString returns the string representation 14069func (s SetVisibleToAllUsersInput) GoString() string { 14070 return s.String() 14071} 14072 14073// Validate inspects the fields of the type to determine if they are valid. 14074func (s *SetVisibleToAllUsersInput) Validate() error { 14075 invalidParams := request.ErrInvalidParams{Context: "SetVisibleToAllUsersInput"} 14076 if s.JobFlowIds == nil { 14077 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 14078 } 14079 if s.VisibleToAllUsers == nil { 14080 invalidParams.Add(request.NewErrParamRequired("VisibleToAllUsers")) 14081 } 14082 14083 if invalidParams.Len() > 0 { 14084 return invalidParams 14085 } 14086 return nil 14087} 14088 14089// SetJobFlowIds sets the JobFlowIds field's value. 14090func (s *SetVisibleToAllUsersInput) SetJobFlowIds(v []*string) *SetVisibleToAllUsersInput { 14091 s.JobFlowIds = v 14092 return s 14093} 14094 14095// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 14096func (s *SetVisibleToAllUsersInput) SetVisibleToAllUsers(v bool) *SetVisibleToAllUsersInput { 14097 s.VisibleToAllUsers = &v 14098 return s 14099} 14100 14101type SetVisibleToAllUsersOutput struct { 14102 _ struct{} `type:"structure"` 14103} 14104 14105// String returns the string representation 14106func (s SetVisibleToAllUsersOutput) String() string { 14107 return awsutil.Prettify(s) 14108} 14109 14110// GoString returns the string representation 14111func (s SetVisibleToAllUsersOutput) GoString() string { 14112 return s.String() 14113} 14114 14115// Policy for customizing shrink operations. Allows configuration of decommissioning 14116// timeout and targeted instance shrinking. 14117type ShrinkPolicy struct { 14118 _ struct{} `type:"structure"` 14119 14120 // The desired timeout for decommissioning an instance. Overrides the default 14121 // YARN decommissioning timeout. 14122 DecommissionTimeout *int64 `type:"integer"` 14123 14124 // Custom policy for requesting termination protection or termination of specific 14125 // instances when shrinking an instance group. 14126 InstanceResizePolicy *InstanceResizePolicy `type:"structure"` 14127} 14128 14129// String returns the string representation 14130func (s ShrinkPolicy) String() string { 14131 return awsutil.Prettify(s) 14132} 14133 14134// GoString returns the string representation 14135func (s ShrinkPolicy) GoString() string { 14136 return s.String() 14137} 14138 14139// SetDecommissionTimeout sets the DecommissionTimeout field's value. 14140func (s *ShrinkPolicy) SetDecommissionTimeout(v int64) *ShrinkPolicy { 14141 s.DecommissionTimeout = &v 14142 return s 14143} 14144 14145// SetInstanceResizePolicy sets the InstanceResizePolicy field's value. 14146func (s *ShrinkPolicy) SetInstanceResizePolicy(v *InstanceResizePolicy) *ShrinkPolicy { 14147 s.InstanceResizePolicy = v 14148 return s 14149} 14150 14151// An automatic scaling configuration, which describes how the policy adds or 14152// removes instances, the cooldown period, and the number of EC2 instances that 14153// will be added each time the CloudWatch metric alarm condition is satisfied. 14154type SimpleScalingPolicyConfiguration struct { 14155 _ struct{} `type:"structure"` 14156 14157 // The way in which EC2 instances are added (if ScalingAdjustment is a positive 14158 // number) or terminated (if ScalingAdjustment is a negative number) each time 14159 // the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY 14160 // indicates that the EC2 instance count increments or decrements by ScalingAdjustment, 14161 // which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates 14162 // the instance count increments or decrements by the percentage specified by 14163 // ScalingAdjustment, which should be expressed as an integer. For example, 14164 // 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY 14165 // indicates the scaling activity results in an instance group with the number 14166 // of EC2 instances specified by ScalingAdjustment, which should be expressed 14167 // as a positive integer. 14168 AdjustmentType *string `type:"string" enum:"AdjustmentType"` 14169 14170 // The amount of time, in seconds, after a scaling activity completes before 14171 // any further trigger-related scaling activities can start. The default value 14172 // is 0. 14173 CoolDown *int64 `type:"integer"` 14174 14175 // The amount by which to scale in or scale out, based on the specified AdjustmentType. 14176 // A positive value adds to the instance group's EC2 instance count while a 14177 // negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, 14178 // the number should only be a positive integer. If AdjustmentType is set to 14179 // PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an 14180 // integer. For example, -20 indicates a decrease in 20% increments of cluster 14181 // capacity. 14182 // 14183 // ScalingAdjustment is a required field 14184 ScalingAdjustment *int64 `type:"integer" required:"true"` 14185} 14186 14187// String returns the string representation 14188func (s SimpleScalingPolicyConfiguration) String() string { 14189 return awsutil.Prettify(s) 14190} 14191 14192// GoString returns the string representation 14193func (s SimpleScalingPolicyConfiguration) GoString() string { 14194 return s.String() 14195} 14196 14197// Validate inspects the fields of the type to determine if they are valid. 14198func (s *SimpleScalingPolicyConfiguration) Validate() error { 14199 invalidParams := request.ErrInvalidParams{Context: "SimpleScalingPolicyConfiguration"} 14200 if s.ScalingAdjustment == nil { 14201 invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) 14202 } 14203 14204 if invalidParams.Len() > 0 { 14205 return invalidParams 14206 } 14207 return nil 14208} 14209 14210// SetAdjustmentType sets the AdjustmentType field's value. 14211func (s *SimpleScalingPolicyConfiguration) SetAdjustmentType(v string) *SimpleScalingPolicyConfiguration { 14212 s.AdjustmentType = &v 14213 return s 14214} 14215 14216// SetCoolDown sets the CoolDown field's value. 14217func (s *SimpleScalingPolicyConfiguration) SetCoolDown(v int64) *SimpleScalingPolicyConfiguration { 14218 s.CoolDown = &v 14219 return s 14220} 14221 14222// SetScalingAdjustment sets the ScalingAdjustment field's value. 14223func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *SimpleScalingPolicyConfiguration { 14224 s.ScalingAdjustment = &v 14225 return s 14226} 14227 14228// The launch specification for Spot Instances in the instance fleet, which 14229// determines the defined duration, provisioning timeout behavior, and allocation 14230// strategy. 14231// 14232// The instance fleet configuration is available only in Amazon EMR versions 14233// 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation strategy 14234// is available in Amazon EMR version 5.12.1 and later. 14235type SpotProvisioningSpecification struct { 14236 _ struct{} `type:"structure"` 14237 14238 // Specifies the strategy to use in launching Spot Instance fleets. Currently, 14239 // the only option is capacity-optimized (the default), which launches instances 14240 // from Spot Instance pools with optimal capacity for the number of instances 14241 // that are launching. 14242 AllocationStrategy *string `type:"string" enum:"SpotProvisioningAllocationStrategy"` 14243 14244 // The defined duration for Spot Instances (also known as Spot blocks) in minutes. 14245 // When specified, the Spot Instance does not terminate before the defined duration 14246 // expires, and defined duration pricing for Spot Instances applies. Valid values 14247 // are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as 14248 // a Spot Instance receives its instance ID. At the end of the duration, Amazon 14249 // EC2 marks the Spot Instance for termination and provides a Spot Instance 14250 // termination notice, which gives the instance a two-minute warning before 14251 // it terminates. 14252 BlockDurationMinutes *int64 `type:"integer"` 14253 14254 // The action to take when TargetSpotCapacity has not been fulfilled when the 14255 // TimeoutDurationMinutes has expired; that is, when all Spot Instances could 14256 // not be provisioned within the Spot provisioning timeout. Valid values are 14257 // TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies 14258 // that if no Spot Instances are available, On-Demand Instances should be provisioned 14259 // to fulfill any remaining Spot capacity. 14260 // 14261 // TimeoutAction is a required field 14262 TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"` 14263 14264 // The spot provisioning timeout period in minutes. If Spot Instances are not 14265 // provisioned within this time period, the TimeOutAction is taken. Minimum 14266 // value is 5 and maximum value is 1440. The timeout applies only during initial 14267 // provisioning, when the cluster is first created. 14268 // 14269 // TimeoutDurationMinutes is a required field 14270 TimeoutDurationMinutes *int64 `type:"integer" required:"true"` 14271} 14272 14273// String returns the string representation 14274func (s SpotProvisioningSpecification) String() string { 14275 return awsutil.Prettify(s) 14276} 14277 14278// GoString returns the string representation 14279func (s SpotProvisioningSpecification) GoString() string { 14280 return s.String() 14281} 14282 14283// Validate inspects the fields of the type to determine if they are valid. 14284func (s *SpotProvisioningSpecification) Validate() error { 14285 invalidParams := request.ErrInvalidParams{Context: "SpotProvisioningSpecification"} 14286 if s.TimeoutAction == nil { 14287 invalidParams.Add(request.NewErrParamRequired("TimeoutAction")) 14288 } 14289 if s.TimeoutDurationMinutes == nil { 14290 invalidParams.Add(request.NewErrParamRequired("TimeoutDurationMinutes")) 14291 } 14292 14293 if invalidParams.Len() > 0 { 14294 return invalidParams 14295 } 14296 return nil 14297} 14298 14299// SetAllocationStrategy sets the AllocationStrategy field's value. 14300func (s *SpotProvisioningSpecification) SetAllocationStrategy(v string) *SpotProvisioningSpecification { 14301 s.AllocationStrategy = &v 14302 return s 14303} 14304 14305// SetBlockDurationMinutes sets the BlockDurationMinutes field's value. 14306func (s *SpotProvisioningSpecification) SetBlockDurationMinutes(v int64) *SpotProvisioningSpecification { 14307 s.BlockDurationMinutes = &v 14308 return s 14309} 14310 14311// SetTimeoutAction sets the TimeoutAction field's value. 14312func (s *SpotProvisioningSpecification) SetTimeoutAction(v string) *SpotProvisioningSpecification { 14313 s.TimeoutAction = &v 14314 return s 14315} 14316 14317// SetTimeoutDurationMinutes sets the TimeoutDurationMinutes field's value. 14318func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *SpotProvisioningSpecification { 14319 s.TimeoutDurationMinutes = &v 14320 return s 14321} 14322 14323type StartNotebookExecutionInput struct { 14324 _ struct{} `type:"structure"` 14325 14326 // The unique identifier of the EMR Notebook to use for notebook execution. 14327 // 14328 // EditorId is a required field 14329 EditorId *string `type:"string" required:"true"` 14330 14331 // Specifies the execution engine (cluster) that runs the notebook execution. 14332 // 14333 // ExecutionEngine is a required field 14334 ExecutionEngine *ExecutionEngineConfig `type:"structure" required:"true"` 14335 14336 // An optional name for the notebook execution. 14337 NotebookExecutionName *string `type:"string"` 14338 14339 // The unique identifier of the Amazon EC2 security group to associate with 14340 // the EMR Notebook for this notebook execution. 14341 NotebookInstanceSecurityGroupId *string `type:"string"` 14342 14343 // Input parameters in JSON format passed to the EMR Notebook at runtime for 14344 // execution. 14345 NotebookParams *string `type:"string"` 14346 14347 // The path and file name of the notebook file for this execution, relative 14348 // to the path specified for the EMR Notebook. For example, if you specify a 14349 // path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook 14350 // with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), 14351 // and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, 14352 // the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb. 14353 // 14354 // RelativePath is a required field 14355 RelativePath *string `type:"string" required:"true"` 14356 14357 // The name or ARN of the IAM role that is used as the service role for Amazon 14358 // EMR (the EMR role) for the notebook execution. 14359 // 14360 // ServiceRole is a required field 14361 ServiceRole *string `type:"string" required:"true"` 14362 14363 // A list of tags associated with a notebook execution. Tags are user-defined 14364 // key-value pairs that consist of a required key string with a maximum of 128 14365 // characters and an optional value string with a maximum of 256 characters. 14366 Tags []*Tag `type:"list"` 14367} 14368 14369// String returns the string representation 14370func (s StartNotebookExecutionInput) String() string { 14371 return awsutil.Prettify(s) 14372} 14373 14374// GoString returns the string representation 14375func (s StartNotebookExecutionInput) GoString() string { 14376 return s.String() 14377} 14378 14379// Validate inspects the fields of the type to determine if they are valid. 14380func (s *StartNotebookExecutionInput) Validate() error { 14381 invalidParams := request.ErrInvalidParams{Context: "StartNotebookExecutionInput"} 14382 if s.EditorId == nil { 14383 invalidParams.Add(request.NewErrParamRequired("EditorId")) 14384 } 14385 if s.ExecutionEngine == nil { 14386 invalidParams.Add(request.NewErrParamRequired("ExecutionEngine")) 14387 } 14388 if s.RelativePath == nil { 14389 invalidParams.Add(request.NewErrParamRequired("RelativePath")) 14390 } 14391 if s.ServiceRole == nil { 14392 invalidParams.Add(request.NewErrParamRequired("ServiceRole")) 14393 } 14394 if s.ExecutionEngine != nil { 14395 if err := s.ExecutionEngine.Validate(); err != nil { 14396 invalidParams.AddNested("ExecutionEngine", err.(request.ErrInvalidParams)) 14397 } 14398 } 14399 14400 if invalidParams.Len() > 0 { 14401 return invalidParams 14402 } 14403 return nil 14404} 14405 14406// SetEditorId sets the EditorId field's value. 14407func (s *StartNotebookExecutionInput) SetEditorId(v string) *StartNotebookExecutionInput { 14408 s.EditorId = &v 14409 return s 14410} 14411 14412// SetExecutionEngine sets the ExecutionEngine field's value. 14413func (s *StartNotebookExecutionInput) SetExecutionEngine(v *ExecutionEngineConfig) *StartNotebookExecutionInput { 14414 s.ExecutionEngine = v 14415 return s 14416} 14417 14418// SetNotebookExecutionName sets the NotebookExecutionName field's value. 14419func (s *StartNotebookExecutionInput) SetNotebookExecutionName(v string) *StartNotebookExecutionInput { 14420 s.NotebookExecutionName = &v 14421 return s 14422} 14423 14424// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. 14425func (s *StartNotebookExecutionInput) SetNotebookInstanceSecurityGroupId(v string) *StartNotebookExecutionInput { 14426 s.NotebookInstanceSecurityGroupId = &v 14427 return s 14428} 14429 14430// SetNotebookParams sets the NotebookParams field's value. 14431func (s *StartNotebookExecutionInput) SetNotebookParams(v string) *StartNotebookExecutionInput { 14432 s.NotebookParams = &v 14433 return s 14434} 14435 14436// SetRelativePath sets the RelativePath field's value. 14437func (s *StartNotebookExecutionInput) SetRelativePath(v string) *StartNotebookExecutionInput { 14438 s.RelativePath = &v 14439 return s 14440} 14441 14442// SetServiceRole sets the ServiceRole field's value. 14443func (s *StartNotebookExecutionInput) SetServiceRole(v string) *StartNotebookExecutionInput { 14444 s.ServiceRole = &v 14445 return s 14446} 14447 14448// SetTags sets the Tags field's value. 14449func (s *StartNotebookExecutionInput) SetTags(v []*Tag) *StartNotebookExecutionInput { 14450 s.Tags = v 14451 return s 14452} 14453 14454type StartNotebookExecutionOutput struct { 14455 _ struct{} `type:"structure"` 14456 14457 // The unique identifier of the notebook execution. 14458 NotebookExecutionId *string `type:"string"` 14459} 14460 14461// String returns the string representation 14462func (s StartNotebookExecutionOutput) String() string { 14463 return awsutil.Prettify(s) 14464} 14465 14466// GoString returns the string representation 14467func (s StartNotebookExecutionOutput) GoString() string { 14468 return s.String() 14469} 14470 14471// SetNotebookExecutionId sets the NotebookExecutionId field's value. 14472func (s *StartNotebookExecutionOutput) SetNotebookExecutionId(v string) *StartNotebookExecutionOutput { 14473 s.NotebookExecutionId = &v 14474 return s 14475} 14476 14477// This represents a step in a cluster. 14478type Step struct { 14479 _ struct{} `type:"structure"` 14480 14481 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 14482 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 14483 // compatibility. We recommend using TERMINATE_CLUSTER instead. 14484 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 14485 14486 // The Hadoop job configuration of the cluster step. 14487 Config *HadoopStepConfig `type:"structure"` 14488 14489 // The identifier of the cluster step. 14490 Id *string `type:"string"` 14491 14492 // The name of the cluster step. 14493 Name *string `type:"string"` 14494 14495 // The current execution status details of the cluster step. 14496 Status *StepStatus `type:"structure"` 14497} 14498 14499// String returns the string representation 14500func (s Step) String() string { 14501 return awsutil.Prettify(s) 14502} 14503 14504// GoString returns the string representation 14505func (s Step) GoString() string { 14506 return s.String() 14507} 14508 14509// SetActionOnFailure sets the ActionOnFailure field's value. 14510func (s *Step) SetActionOnFailure(v string) *Step { 14511 s.ActionOnFailure = &v 14512 return s 14513} 14514 14515// SetConfig sets the Config field's value. 14516func (s *Step) SetConfig(v *HadoopStepConfig) *Step { 14517 s.Config = v 14518 return s 14519} 14520 14521// SetId sets the Id field's value. 14522func (s *Step) SetId(v string) *Step { 14523 s.Id = &v 14524 return s 14525} 14526 14527// SetName sets the Name field's value. 14528func (s *Step) SetName(v string) *Step { 14529 s.Name = &v 14530 return s 14531} 14532 14533// SetStatus sets the Status field's value. 14534func (s *Step) SetStatus(v *StepStatus) *Step { 14535 s.Status = v 14536 return s 14537} 14538 14539// Specification of a cluster (job flow) step. 14540type StepConfig struct { 14541 _ struct{} `type:"structure"` 14542 14543 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 14544 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 14545 // compatibility. We recommend using TERMINATE_CLUSTER instead. 14546 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 14547 14548 // The JAR file used for the step. 14549 // 14550 // HadoopJarStep is a required field 14551 HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"` 14552 14553 // The name of the step. 14554 // 14555 // Name is a required field 14556 Name *string `type:"string" required:"true"` 14557} 14558 14559// String returns the string representation 14560func (s StepConfig) String() string { 14561 return awsutil.Prettify(s) 14562} 14563 14564// GoString returns the string representation 14565func (s StepConfig) GoString() string { 14566 return s.String() 14567} 14568 14569// Validate inspects the fields of the type to determine if they are valid. 14570func (s *StepConfig) Validate() error { 14571 invalidParams := request.ErrInvalidParams{Context: "StepConfig"} 14572 if s.HadoopJarStep == nil { 14573 invalidParams.Add(request.NewErrParamRequired("HadoopJarStep")) 14574 } 14575 if s.Name == nil { 14576 invalidParams.Add(request.NewErrParamRequired("Name")) 14577 } 14578 if s.HadoopJarStep != nil { 14579 if err := s.HadoopJarStep.Validate(); err != nil { 14580 invalidParams.AddNested("HadoopJarStep", err.(request.ErrInvalidParams)) 14581 } 14582 } 14583 14584 if invalidParams.Len() > 0 { 14585 return invalidParams 14586 } 14587 return nil 14588} 14589 14590// SetActionOnFailure sets the ActionOnFailure field's value. 14591func (s *StepConfig) SetActionOnFailure(v string) *StepConfig { 14592 s.ActionOnFailure = &v 14593 return s 14594} 14595 14596// SetHadoopJarStep sets the HadoopJarStep field's value. 14597func (s *StepConfig) SetHadoopJarStep(v *HadoopJarStepConfig) *StepConfig { 14598 s.HadoopJarStep = v 14599 return s 14600} 14601 14602// SetName sets the Name field's value. 14603func (s *StepConfig) SetName(v string) *StepConfig { 14604 s.Name = &v 14605 return s 14606} 14607 14608// Combines the execution state and configuration of a step. 14609type StepDetail struct { 14610 _ struct{} `type:"structure"` 14611 14612 // The description of the step status. 14613 // 14614 // ExecutionStatusDetail is a required field 14615 ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"` 14616 14617 // The step configuration. 14618 // 14619 // StepConfig is a required field 14620 StepConfig *StepConfig `type:"structure" required:"true"` 14621} 14622 14623// String returns the string representation 14624func (s StepDetail) String() string { 14625 return awsutil.Prettify(s) 14626} 14627 14628// GoString returns the string representation 14629func (s StepDetail) GoString() string { 14630 return s.String() 14631} 14632 14633// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 14634func (s *StepDetail) SetExecutionStatusDetail(v *StepExecutionStatusDetail) *StepDetail { 14635 s.ExecutionStatusDetail = v 14636 return s 14637} 14638 14639// SetStepConfig sets the StepConfig field's value. 14640func (s *StepDetail) SetStepConfig(v *StepConfig) *StepDetail { 14641 s.StepConfig = v 14642 return s 14643} 14644 14645// The execution state of a step. 14646type StepExecutionStatusDetail struct { 14647 _ struct{} `type:"structure"` 14648 14649 // The creation date and time of the step. 14650 // 14651 // CreationDateTime is a required field 14652 CreationDateTime *time.Time `type:"timestamp" required:"true"` 14653 14654 // The completion date and time of the step. 14655 EndDateTime *time.Time `type:"timestamp"` 14656 14657 // A description of the step's current state. 14658 LastStateChangeReason *string `type:"string"` 14659 14660 // The start date and time of the step. 14661 StartDateTime *time.Time `type:"timestamp"` 14662 14663 // The state of the step. 14664 // 14665 // State is a required field 14666 State *string `type:"string" required:"true" enum:"StepExecutionState"` 14667} 14668 14669// String returns the string representation 14670func (s StepExecutionStatusDetail) String() string { 14671 return awsutil.Prettify(s) 14672} 14673 14674// GoString returns the string representation 14675func (s StepExecutionStatusDetail) GoString() string { 14676 return s.String() 14677} 14678 14679// SetCreationDateTime sets the CreationDateTime field's value. 14680func (s *StepExecutionStatusDetail) SetCreationDateTime(v time.Time) *StepExecutionStatusDetail { 14681 s.CreationDateTime = &v 14682 return s 14683} 14684 14685// SetEndDateTime sets the EndDateTime field's value. 14686func (s *StepExecutionStatusDetail) SetEndDateTime(v time.Time) *StepExecutionStatusDetail { 14687 s.EndDateTime = &v 14688 return s 14689} 14690 14691// SetLastStateChangeReason sets the LastStateChangeReason field's value. 14692func (s *StepExecutionStatusDetail) SetLastStateChangeReason(v string) *StepExecutionStatusDetail { 14693 s.LastStateChangeReason = &v 14694 return s 14695} 14696 14697// SetStartDateTime sets the StartDateTime field's value. 14698func (s *StepExecutionStatusDetail) SetStartDateTime(v time.Time) *StepExecutionStatusDetail { 14699 s.StartDateTime = &v 14700 return s 14701} 14702 14703// SetState sets the State field's value. 14704func (s *StepExecutionStatusDetail) SetState(v string) *StepExecutionStatusDetail { 14705 s.State = &v 14706 return s 14707} 14708 14709// The details of the step state change reason. 14710type StepStateChangeReason struct { 14711 _ struct{} `type:"structure"` 14712 14713 // The programmable code for the state change reason. Note: Currently, the service 14714 // provides no code for the state change. 14715 Code *string `type:"string" enum:"StepStateChangeReasonCode"` 14716 14717 // The descriptive message for the state change reason. 14718 Message *string `type:"string"` 14719} 14720 14721// String returns the string representation 14722func (s StepStateChangeReason) String() string { 14723 return awsutil.Prettify(s) 14724} 14725 14726// GoString returns the string representation 14727func (s StepStateChangeReason) GoString() string { 14728 return s.String() 14729} 14730 14731// SetCode sets the Code field's value. 14732func (s *StepStateChangeReason) SetCode(v string) *StepStateChangeReason { 14733 s.Code = &v 14734 return s 14735} 14736 14737// SetMessage sets the Message field's value. 14738func (s *StepStateChangeReason) SetMessage(v string) *StepStateChangeReason { 14739 s.Message = &v 14740 return s 14741} 14742 14743// The execution status details of the cluster step. 14744type StepStatus struct { 14745 _ struct{} `type:"structure"` 14746 14747 // The details for the step failure including reason, message, and log file 14748 // path where the root cause was identified. 14749 FailureDetails *FailureDetails `type:"structure"` 14750 14751 // The execution state of the cluster step. 14752 State *string `type:"string" enum:"StepState"` 14753 14754 // The reason for the step execution status change. 14755 StateChangeReason *StepStateChangeReason `type:"structure"` 14756 14757 // The timeline of the cluster step status over time. 14758 Timeline *StepTimeline `type:"structure"` 14759} 14760 14761// String returns the string representation 14762func (s StepStatus) String() string { 14763 return awsutil.Prettify(s) 14764} 14765 14766// GoString returns the string representation 14767func (s StepStatus) GoString() string { 14768 return s.String() 14769} 14770 14771// SetFailureDetails sets the FailureDetails field's value. 14772func (s *StepStatus) SetFailureDetails(v *FailureDetails) *StepStatus { 14773 s.FailureDetails = v 14774 return s 14775} 14776 14777// SetState sets the State field's value. 14778func (s *StepStatus) SetState(v string) *StepStatus { 14779 s.State = &v 14780 return s 14781} 14782 14783// SetStateChangeReason sets the StateChangeReason field's value. 14784func (s *StepStatus) SetStateChangeReason(v *StepStateChangeReason) *StepStatus { 14785 s.StateChangeReason = v 14786 return s 14787} 14788 14789// SetTimeline sets the Timeline field's value. 14790func (s *StepStatus) SetTimeline(v *StepTimeline) *StepStatus { 14791 s.Timeline = v 14792 return s 14793} 14794 14795// The summary of the cluster step. 14796type StepSummary struct { 14797 _ struct{} `type:"structure"` 14798 14799 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 14800 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward 14801 // compatibility. We recommend using TERMINATE_CLUSTER instead. 14802 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 14803 14804 // The Hadoop job configuration of the cluster step. 14805 Config *HadoopStepConfig `type:"structure"` 14806 14807 // The identifier of the cluster step. 14808 Id *string `type:"string"` 14809 14810 // The name of the cluster step. 14811 Name *string `type:"string"` 14812 14813 // The current execution status details of the cluster step. 14814 Status *StepStatus `type:"structure"` 14815} 14816 14817// String returns the string representation 14818func (s StepSummary) String() string { 14819 return awsutil.Prettify(s) 14820} 14821 14822// GoString returns the string representation 14823func (s StepSummary) GoString() string { 14824 return s.String() 14825} 14826 14827// SetActionOnFailure sets the ActionOnFailure field's value. 14828func (s *StepSummary) SetActionOnFailure(v string) *StepSummary { 14829 s.ActionOnFailure = &v 14830 return s 14831} 14832 14833// SetConfig sets the Config field's value. 14834func (s *StepSummary) SetConfig(v *HadoopStepConfig) *StepSummary { 14835 s.Config = v 14836 return s 14837} 14838 14839// SetId sets the Id field's value. 14840func (s *StepSummary) SetId(v string) *StepSummary { 14841 s.Id = &v 14842 return s 14843} 14844 14845// SetName sets the Name field's value. 14846func (s *StepSummary) SetName(v string) *StepSummary { 14847 s.Name = &v 14848 return s 14849} 14850 14851// SetStatus sets the Status field's value. 14852func (s *StepSummary) SetStatus(v *StepStatus) *StepSummary { 14853 s.Status = v 14854 return s 14855} 14856 14857// The timeline of the cluster step lifecycle. 14858type StepTimeline struct { 14859 _ struct{} `type:"structure"` 14860 14861 // The date and time when the cluster step was created. 14862 CreationDateTime *time.Time `type:"timestamp"` 14863 14864 // The date and time when the cluster step execution completed or failed. 14865 EndDateTime *time.Time `type:"timestamp"` 14866 14867 // The date and time when the cluster step execution started. 14868 StartDateTime *time.Time `type:"timestamp"` 14869} 14870 14871// String returns the string representation 14872func (s StepTimeline) String() string { 14873 return awsutil.Prettify(s) 14874} 14875 14876// GoString returns the string representation 14877func (s StepTimeline) GoString() string { 14878 return s.String() 14879} 14880 14881// SetCreationDateTime sets the CreationDateTime field's value. 14882func (s *StepTimeline) SetCreationDateTime(v time.Time) *StepTimeline { 14883 s.CreationDateTime = &v 14884 return s 14885} 14886 14887// SetEndDateTime sets the EndDateTime field's value. 14888func (s *StepTimeline) SetEndDateTime(v time.Time) *StepTimeline { 14889 s.EndDateTime = &v 14890 return s 14891} 14892 14893// SetStartDateTime sets the StartDateTime field's value. 14894func (s *StepTimeline) SetStartDateTime(v time.Time) *StepTimeline { 14895 s.StartDateTime = &v 14896 return s 14897} 14898 14899type StopNotebookExecutionInput struct { 14900 _ struct{} `type:"structure"` 14901 14902 // The unique identifier of the notebook execution. 14903 // 14904 // NotebookExecutionId is a required field 14905 NotebookExecutionId *string `type:"string" required:"true"` 14906} 14907 14908// String returns the string representation 14909func (s StopNotebookExecutionInput) String() string { 14910 return awsutil.Prettify(s) 14911} 14912 14913// GoString returns the string representation 14914func (s StopNotebookExecutionInput) GoString() string { 14915 return s.String() 14916} 14917 14918// Validate inspects the fields of the type to determine if they are valid. 14919func (s *StopNotebookExecutionInput) Validate() error { 14920 invalidParams := request.ErrInvalidParams{Context: "StopNotebookExecutionInput"} 14921 if s.NotebookExecutionId == nil { 14922 invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) 14923 } 14924 14925 if invalidParams.Len() > 0 { 14926 return invalidParams 14927 } 14928 return nil 14929} 14930 14931// SetNotebookExecutionId sets the NotebookExecutionId field's value. 14932func (s *StopNotebookExecutionInput) SetNotebookExecutionId(v string) *StopNotebookExecutionInput { 14933 s.NotebookExecutionId = &v 14934 return s 14935} 14936 14937type StopNotebookExecutionOutput struct { 14938 _ struct{} `type:"structure"` 14939} 14940 14941// String returns the string representation 14942func (s StopNotebookExecutionOutput) String() string { 14943 return awsutil.Prettify(s) 14944} 14945 14946// GoString returns the string representation 14947func (s StopNotebookExecutionOutput) GoString() string { 14948 return s.String() 14949} 14950 14951// Details for an Amazon EMR Studio including ID, creation time, name, and so 14952// on. 14953type Studio struct { 14954 _ struct{} `type:"structure"` 14955 14956 // Specifies whether the Amazon EMR Studio authenticates users using single 14957 // sign-on (SSO) or IAM. 14958 AuthMode *string `type:"string" enum:"AuthMode"` 14959 14960 // The time the Amazon EMR Studio was created. 14961 CreationTime *time.Time `type:"timestamp"` 14962 14963 // The Amazon S3 location to back up Amazon EMR Studio Workspaces and notebook 14964 // files. 14965 DefaultS3Location *string `type:"string"` 14966 14967 // The detailed description of the Amazon EMR Studio. 14968 Description *string `type:"string"` 14969 14970 // The ID of the Engine security group associated with the Amazon EMR Studio. 14971 // The Engine security group allows inbound network traffic from resources in 14972 // the Workspace security group. 14973 EngineSecurityGroupId *string `type:"string"` 14974 14975 // The name of the Amazon EMR Studio. 14976 Name *string `type:"string"` 14977 14978 // The name of the IAM role assumed by the Amazon EMR Studio. 14979 ServiceRole *string `type:"string"` 14980 14981 // The Amazon Resource Name (ARN) of the Amazon EMR Studio. 14982 StudioArn *string `type:"string"` 14983 14984 // The ID of the Amazon EMR Studio. 14985 StudioId *string `type:"string"` 14986 14987 // The list of IDs of the subnets associated with the Amazon EMR Studio. 14988 SubnetIds []*string `type:"list"` 14989 14990 // A list of tags associated with the Amazon EMR Studio. 14991 Tags []*Tag `type:"list"` 14992 14993 // The unique access URL of the Amazon EMR Studio. 14994 Url *string `type:"string"` 14995 14996 // The name of the IAM role assumed by users logged in to the Amazon EMR Studio. 14997 UserRole *string `type:"string"` 14998 14999 // The ID of the VPC associated with the Amazon EMR Studio. 15000 VpcId *string `type:"string"` 15001 15002 // The ID of the Workspace security group associated with the Amazon EMR Studio. 15003 // The Workspace security group allows outbound network traffic to resources 15004 // in the Engine security group and to the internet. 15005 WorkspaceSecurityGroupId *string `type:"string"` 15006} 15007 15008// String returns the string representation 15009func (s Studio) String() string { 15010 return awsutil.Prettify(s) 15011} 15012 15013// GoString returns the string representation 15014func (s Studio) GoString() string { 15015 return s.String() 15016} 15017 15018// SetAuthMode sets the AuthMode field's value. 15019func (s *Studio) SetAuthMode(v string) *Studio { 15020 s.AuthMode = &v 15021 return s 15022} 15023 15024// SetCreationTime sets the CreationTime field's value. 15025func (s *Studio) SetCreationTime(v time.Time) *Studio { 15026 s.CreationTime = &v 15027 return s 15028} 15029 15030// SetDefaultS3Location sets the DefaultS3Location field's value. 15031func (s *Studio) SetDefaultS3Location(v string) *Studio { 15032 s.DefaultS3Location = &v 15033 return s 15034} 15035 15036// SetDescription sets the Description field's value. 15037func (s *Studio) SetDescription(v string) *Studio { 15038 s.Description = &v 15039 return s 15040} 15041 15042// SetEngineSecurityGroupId sets the EngineSecurityGroupId field's value. 15043func (s *Studio) SetEngineSecurityGroupId(v string) *Studio { 15044 s.EngineSecurityGroupId = &v 15045 return s 15046} 15047 15048// SetName sets the Name field's value. 15049func (s *Studio) SetName(v string) *Studio { 15050 s.Name = &v 15051 return s 15052} 15053 15054// SetServiceRole sets the ServiceRole field's value. 15055func (s *Studio) SetServiceRole(v string) *Studio { 15056 s.ServiceRole = &v 15057 return s 15058} 15059 15060// SetStudioArn sets the StudioArn field's value. 15061func (s *Studio) SetStudioArn(v string) *Studio { 15062 s.StudioArn = &v 15063 return s 15064} 15065 15066// SetStudioId sets the StudioId field's value. 15067func (s *Studio) SetStudioId(v string) *Studio { 15068 s.StudioId = &v 15069 return s 15070} 15071 15072// SetSubnetIds sets the SubnetIds field's value. 15073func (s *Studio) SetSubnetIds(v []*string) *Studio { 15074 s.SubnetIds = v 15075 return s 15076} 15077 15078// SetTags sets the Tags field's value. 15079func (s *Studio) SetTags(v []*Tag) *Studio { 15080 s.Tags = v 15081 return s 15082} 15083 15084// SetUrl sets the Url field's value. 15085func (s *Studio) SetUrl(v string) *Studio { 15086 s.Url = &v 15087 return s 15088} 15089 15090// SetUserRole sets the UserRole field's value. 15091func (s *Studio) SetUserRole(v string) *Studio { 15092 s.UserRole = &v 15093 return s 15094} 15095 15096// SetVpcId sets the VpcId field's value. 15097func (s *Studio) SetVpcId(v string) *Studio { 15098 s.VpcId = &v 15099 return s 15100} 15101 15102// SetWorkspaceSecurityGroupId sets the WorkspaceSecurityGroupId field's value. 15103func (s *Studio) SetWorkspaceSecurityGroupId(v string) *Studio { 15104 s.WorkspaceSecurityGroupId = &v 15105 return s 15106} 15107 15108// Details for an Amazon EMR Studio, including ID, Name, VPC, and Description. 15109// The details do not include subnets, IAM roles, security groups, or tags associated 15110// with the Studio. 15111type StudioSummary struct { 15112 _ struct{} `type:"structure"` 15113 15114 // The time when the Amazon EMR Studio was created. 15115 CreationTime *time.Time `type:"timestamp"` 15116 15117 // The detailed description of the Amazon EMR Studio. 15118 Description *string `type:"string"` 15119 15120 // The name of the Amazon EMR Studio. 15121 Name *string `type:"string"` 15122 15123 // The ID of the Amazon EMR Studio. 15124 StudioId *string `type:"string"` 15125 15126 // The unique access URL of the Amazon EMR Studio. 15127 Url *string `type:"string"` 15128 15129 // The ID of the Virtual Private Cloud (Amazon VPC) associated with the Amazon 15130 // EMR Studio. 15131 VpcId *string `type:"string"` 15132} 15133 15134// String returns the string representation 15135func (s StudioSummary) String() string { 15136 return awsutil.Prettify(s) 15137} 15138 15139// GoString returns the string representation 15140func (s StudioSummary) GoString() string { 15141 return s.String() 15142} 15143 15144// SetCreationTime sets the CreationTime field's value. 15145func (s *StudioSummary) SetCreationTime(v time.Time) *StudioSummary { 15146 s.CreationTime = &v 15147 return s 15148} 15149 15150// SetDescription sets the Description field's value. 15151func (s *StudioSummary) SetDescription(v string) *StudioSummary { 15152 s.Description = &v 15153 return s 15154} 15155 15156// SetName sets the Name field's value. 15157func (s *StudioSummary) SetName(v string) *StudioSummary { 15158 s.Name = &v 15159 return s 15160} 15161 15162// SetStudioId sets the StudioId field's value. 15163func (s *StudioSummary) SetStudioId(v string) *StudioSummary { 15164 s.StudioId = &v 15165 return s 15166} 15167 15168// SetUrl sets the Url field's value. 15169func (s *StudioSummary) SetUrl(v string) *StudioSummary { 15170 s.Url = &v 15171 return s 15172} 15173 15174// SetVpcId sets the VpcId field's value. 15175func (s *StudioSummary) SetVpcId(v string) *StudioSummary { 15176 s.VpcId = &v 15177 return s 15178} 15179 15180// The list of supported product configurations that allow user-supplied arguments. 15181// EMR accepts these arguments and forwards them to the corresponding installation 15182// script as bootstrap action arguments. 15183type SupportedProductConfig struct { 15184 _ struct{} `type:"structure"` 15185 15186 // The list of user-supplied arguments. 15187 Args []*string `type:"list"` 15188 15189 // The name of the product configuration. 15190 Name *string `type:"string"` 15191} 15192 15193// String returns the string representation 15194func (s SupportedProductConfig) String() string { 15195 return awsutil.Prettify(s) 15196} 15197 15198// GoString returns the string representation 15199func (s SupportedProductConfig) GoString() string { 15200 return s.String() 15201} 15202 15203// SetArgs sets the Args field's value. 15204func (s *SupportedProductConfig) SetArgs(v []*string) *SupportedProductConfig { 15205 s.Args = v 15206 return s 15207} 15208 15209// SetName sets the Name field's value. 15210func (s *SupportedProductConfig) SetName(v string) *SupportedProductConfig { 15211 s.Name = &v 15212 return s 15213} 15214 15215// A key-value pair containing user-defined metadata that you can associate 15216// with an Amazon EMR resource. Tags make it easier to associate clusters in 15217// various ways, such as grouping clusters to track your Amazon EMR resource 15218// allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 15219type Tag struct { 15220 _ struct{} `type:"structure"` 15221 15222 // A user-defined key, which is the minimum required information for a valid 15223 // tag. For more information, see Tag (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 15224 Key *string `type:"string"` 15225 15226 // A user-defined value, which is optional in a tag. For more information, see 15227 // Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 15228 Value *string `type:"string"` 15229} 15230 15231// String returns the string representation 15232func (s Tag) String() string { 15233 return awsutil.Prettify(s) 15234} 15235 15236// GoString returns the string representation 15237func (s Tag) GoString() string { 15238 return s.String() 15239} 15240 15241// SetKey sets the Key field's value. 15242func (s *Tag) SetKey(v string) *Tag { 15243 s.Key = &v 15244 return s 15245} 15246 15247// SetValue sets the Value field's value. 15248func (s *Tag) SetValue(v string) *Tag { 15249 s.Value = &v 15250 return s 15251} 15252 15253// Input to the TerminateJobFlows operation. 15254type TerminateJobFlowsInput struct { 15255 _ struct{} `type:"structure"` 15256 15257 // A list of job flows to be shut down. 15258 // 15259 // JobFlowIds is a required field 15260 JobFlowIds []*string `type:"list" required:"true"` 15261} 15262 15263// String returns the string representation 15264func (s TerminateJobFlowsInput) String() string { 15265 return awsutil.Prettify(s) 15266} 15267 15268// GoString returns the string representation 15269func (s TerminateJobFlowsInput) GoString() string { 15270 return s.String() 15271} 15272 15273// Validate inspects the fields of the type to determine if they are valid. 15274func (s *TerminateJobFlowsInput) Validate() error { 15275 invalidParams := request.ErrInvalidParams{Context: "TerminateJobFlowsInput"} 15276 if s.JobFlowIds == nil { 15277 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 15278 } 15279 15280 if invalidParams.Len() > 0 { 15281 return invalidParams 15282 } 15283 return nil 15284} 15285 15286// SetJobFlowIds sets the JobFlowIds field's value. 15287func (s *TerminateJobFlowsInput) SetJobFlowIds(v []*string) *TerminateJobFlowsInput { 15288 s.JobFlowIds = v 15289 return s 15290} 15291 15292type TerminateJobFlowsOutput struct { 15293 _ struct{} `type:"structure"` 15294} 15295 15296// String returns the string representation 15297func (s TerminateJobFlowsOutput) String() string { 15298 return awsutil.Prettify(s) 15299} 15300 15301// GoString returns the string representation 15302func (s TerminateJobFlowsOutput) GoString() string { 15303 return s.String() 15304} 15305 15306type UpdateStudioInput struct { 15307 _ struct{} `type:"structure"` 15308 15309 // The Amazon S3 location to back up Workspaces and notebook files for the Amazon 15310 // EMR Studio. 15311 DefaultS3Location *string `type:"string"` 15312 15313 // A detailed description to assign to the Amazon EMR Studio. 15314 Description *string `type:"string"` 15315 15316 // A descriptive name for the Amazon EMR Studio. 15317 Name *string `type:"string"` 15318 15319 // The ID of the Amazon EMR Studio to update. 15320 // 15321 // StudioId is a required field 15322 StudioId *string `type:"string" required:"true"` 15323 15324 // A list of subnet IDs to associate with the Amazon EMR Studio. The list can 15325 // include new subnet IDs, but must also include all of the subnet IDs previously 15326 // associated with the Studio. The list order does not matter. A Studio can 15327 // have a maximum of 5 subnets. The subnets must belong to the same VPC as the 15328 // Studio. 15329 SubnetIds []*string `type:"list"` 15330} 15331 15332// String returns the string representation 15333func (s UpdateStudioInput) String() string { 15334 return awsutil.Prettify(s) 15335} 15336 15337// GoString returns the string representation 15338func (s UpdateStudioInput) GoString() string { 15339 return s.String() 15340} 15341 15342// Validate inspects the fields of the type to determine if they are valid. 15343func (s *UpdateStudioInput) Validate() error { 15344 invalidParams := request.ErrInvalidParams{Context: "UpdateStudioInput"} 15345 if s.StudioId == nil { 15346 invalidParams.Add(request.NewErrParamRequired("StudioId")) 15347 } 15348 15349 if invalidParams.Len() > 0 { 15350 return invalidParams 15351 } 15352 return nil 15353} 15354 15355// SetDefaultS3Location sets the DefaultS3Location field's value. 15356func (s *UpdateStudioInput) SetDefaultS3Location(v string) *UpdateStudioInput { 15357 s.DefaultS3Location = &v 15358 return s 15359} 15360 15361// SetDescription sets the Description field's value. 15362func (s *UpdateStudioInput) SetDescription(v string) *UpdateStudioInput { 15363 s.Description = &v 15364 return s 15365} 15366 15367// SetName sets the Name field's value. 15368func (s *UpdateStudioInput) SetName(v string) *UpdateStudioInput { 15369 s.Name = &v 15370 return s 15371} 15372 15373// SetStudioId sets the StudioId field's value. 15374func (s *UpdateStudioInput) SetStudioId(v string) *UpdateStudioInput { 15375 s.StudioId = &v 15376 return s 15377} 15378 15379// SetSubnetIds sets the SubnetIds field's value. 15380func (s *UpdateStudioInput) SetSubnetIds(v []*string) *UpdateStudioInput { 15381 s.SubnetIds = v 15382 return s 15383} 15384 15385type UpdateStudioOutput struct { 15386 _ struct{} `type:"structure"` 15387} 15388 15389// String returns the string representation 15390func (s UpdateStudioOutput) String() string { 15391 return awsutil.Prettify(s) 15392} 15393 15394// GoString returns the string representation 15395func (s UpdateStudioOutput) GoString() string { 15396 return s.String() 15397} 15398 15399type UpdateStudioSessionMappingInput struct { 15400 _ struct{} `type:"structure"` 15401 15402 // The globally unique identifier (GUID) of the user or group. For more information, 15403 // see UserId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserId) 15404 // and GroupId (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-GroupId) 15405 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 15406 // must be specified. 15407 IdentityId *string `type:"string"` 15408 15409 // The name of the user or group to update. For more information, see UserName 15410 // (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_User.html#singlesignon-Type-User-UserName) 15411 // and DisplayName (https://docs.aws.amazon.com/singlesignon/latest/IdentityStoreAPIReference/API_Group.html#singlesignon-Type-Group-DisplayName) 15412 // in the AWS SSO Identity Store API Reference. Either IdentityName or IdentityId 15413 // must be specified. 15414 IdentityName *string `type:"string"` 15415 15416 // Specifies whether the identity to update is a user or a group. 15417 // 15418 // IdentityType is a required field 15419 IdentityType *string `type:"string" required:"true" enum:"IdentityType"` 15420 15421 // The Amazon Resource Name (ARN) of the session policy to associate with the 15422 // specified user or group. 15423 // 15424 // SessionPolicyArn is a required field 15425 SessionPolicyArn *string `type:"string" required:"true"` 15426 15427 // The ID of the Amazon EMR Studio. 15428 // 15429 // StudioId is a required field 15430 StudioId *string `type:"string" required:"true"` 15431} 15432 15433// String returns the string representation 15434func (s UpdateStudioSessionMappingInput) String() string { 15435 return awsutil.Prettify(s) 15436} 15437 15438// GoString returns the string representation 15439func (s UpdateStudioSessionMappingInput) GoString() string { 15440 return s.String() 15441} 15442 15443// Validate inspects the fields of the type to determine if they are valid. 15444func (s *UpdateStudioSessionMappingInput) Validate() error { 15445 invalidParams := request.ErrInvalidParams{Context: "UpdateStudioSessionMappingInput"} 15446 if s.IdentityType == nil { 15447 invalidParams.Add(request.NewErrParamRequired("IdentityType")) 15448 } 15449 if s.SessionPolicyArn == nil { 15450 invalidParams.Add(request.NewErrParamRequired("SessionPolicyArn")) 15451 } 15452 if s.StudioId == nil { 15453 invalidParams.Add(request.NewErrParamRequired("StudioId")) 15454 } 15455 15456 if invalidParams.Len() > 0 { 15457 return invalidParams 15458 } 15459 return nil 15460} 15461 15462// SetIdentityId sets the IdentityId field's value. 15463func (s *UpdateStudioSessionMappingInput) SetIdentityId(v string) *UpdateStudioSessionMappingInput { 15464 s.IdentityId = &v 15465 return s 15466} 15467 15468// SetIdentityName sets the IdentityName field's value. 15469func (s *UpdateStudioSessionMappingInput) SetIdentityName(v string) *UpdateStudioSessionMappingInput { 15470 s.IdentityName = &v 15471 return s 15472} 15473 15474// SetIdentityType sets the IdentityType field's value. 15475func (s *UpdateStudioSessionMappingInput) SetIdentityType(v string) *UpdateStudioSessionMappingInput { 15476 s.IdentityType = &v 15477 return s 15478} 15479 15480// SetSessionPolicyArn sets the SessionPolicyArn field's value. 15481func (s *UpdateStudioSessionMappingInput) SetSessionPolicyArn(v string) *UpdateStudioSessionMappingInput { 15482 s.SessionPolicyArn = &v 15483 return s 15484} 15485 15486// SetStudioId sets the StudioId field's value. 15487func (s *UpdateStudioSessionMappingInput) SetStudioId(v string) *UpdateStudioSessionMappingInput { 15488 s.StudioId = &v 15489 return s 15490} 15491 15492type UpdateStudioSessionMappingOutput struct { 15493 _ struct{} `type:"structure"` 15494} 15495 15496// String returns the string representation 15497func (s UpdateStudioSessionMappingOutput) String() string { 15498 return awsutil.Prettify(s) 15499} 15500 15501// GoString returns the string representation 15502func (s UpdateStudioSessionMappingOutput) GoString() string { 15503 return s.String() 15504} 15505 15506// EBS volume specifications such as volume type, IOPS, and size (GiB) that 15507// will be requested for the EBS volume attached to an EC2 instance in the cluster. 15508type VolumeSpecification struct { 15509 _ struct{} `type:"structure"` 15510 15511 // The number of I/O operations per second (IOPS) that the volume supports. 15512 Iops *int64 `type:"integer"` 15513 15514 // The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. 15515 // If the volume type is EBS-optimized, the minimum value is 10. 15516 // 15517 // SizeInGB is a required field 15518 SizeInGB *int64 `type:"integer" required:"true"` 15519 15520 // The volume type. Volume types supported are gp2, io1, standard. 15521 // 15522 // VolumeType is a required field 15523 VolumeType *string `type:"string" required:"true"` 15524} 15525 15526// String returns the string representation 15527func (s VolumeSpecification) String() string { 15528 return awsutil.Prettify(s) 15529} 15530 15531// GoString returns the string representation 15532func (s VolumeSpecification) GoString() string { 15533 return s.String() 15534} 15535 15536// Validate inspects the fields of the type to determine if they are valid. 15537func (s *VolumeSpecification) Validate() error { 15538 invalidParams := request.ErrInvalidParams{Context: "VolumeSpecification"} 15539 if s.SizeInGB == nil { 15540 invalidParams.Add(request.NewErrParamRequired("SizeInGB")) 15541 } 15542 if s.VolumeType == nil { 15543 invalidParams.Add(request.NewErrParamRequired("VolumeType")) 15544 } 15545 15546 if invalidParams.Len() > 0 { 15547 return invalidParams 15548 } 15549 return nil 15550} 15551 15552// SetIops sets the Iops field's value. 15553func (s *VolumeSpecification) SetIops(v int64) *VolumeSpecification { 15554 s.Iops = &v 15555 return s 15556} 15557 15558// SetSizeInGB sets the SizeInGB field's value. 15559func (s *VolumeSpecification) SetSizeInGB(v int64) *VolumeSpecification { 15560 s.SizeInGB = &v 15561 return s 15562} 15563 15564// SetVolumeType sets the VolumeType field's value. 15565func (s *VolumeSpecification) SetVolumeType(v string) *VolumeSpecification { 15566 s.VolumeType = &v 15567 return s 15568} 15569 15570const ( 15571 // ActionOnFailureTerminateJobFlow is a ActionOnFailure enum value 15572 ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW" 15573 15574 // ActionOnFailureTerminateCluster is a ActionOnFailure enum value 15575 ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER" 15576 15577 // ActionOnFailureCancelAndWait is a ActionOnFailure enum value 15578 ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT" 15579 15580 // ActionOnFailureContinue is a ActionOnFailure enum value 15581 ActionOnFailureContinue = "CONTINUE" 15582) 15583 15584// ActionOnFailure_Values returns all elements of the ActionOnFailure enum 15585func ActionOnFailure_Values() []string { 15586 return []string{ 15587 ActionOnFailureTerminateJobFlow, 15588 ActionOnFailureTerminateCluster, 15589 ActionOnFailureCancelAndWait, 15590 ActionOnFailureContinue, 15591 } 15592} 15593 15594const ( 15595 // AdjustmentTypeChangeInCapacity is a AdjustmentType enum value 15596 AdjustmentTypeChangeInCapacity = "CHANGE_IN_CAPACITY" 15597 15598 // AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value 15599 AdjustmentTypePercentChangeInCapacity = "PERCENT_CHANGE_IN_CAPACITY" 15600 15601 // AdjustmentTypeExactCapacity is a AdjustmentType enum value 15602 AdjustmentTypeExactCapacity = "EXACT_CAPACITY" 15603) 15604 15605// AdjustmentType_Values returns all elements of the AdjustmentType enum 15606func AdjustmentType_Values() []string { 15607 return []string{ 15608 AdjustmentTypeChangeInCapacity, 15609 AdjustmentTypePercentChangeInCapacity, 15610 AdjustmentTypeExactCapacity, 15611 } 15612} 15613 15614const ( 15615 // AuthModeSso is a AuthMode enum value 15616 AuthModeSso = "SSO" 15617 15618 // AuthModeIam is a AuthMode enum value 15619 AuthModeIam = "IAM" 15620) 15621 15622// AuthMode_Values returns all elements of the AuthMode enum 15623func AuthMode_Values() []string { 15624 return []string{ 15625 AuthModeSso, 15626 AuthModeIam, 15627 } 15628} 15629 15630const ( 15631 // AutoScalingPolicyStatePending is a AutoScalingPolicyState enum value 15632 AutoScalingPolicyStatePending = "PENDING" 15633 15634 // AutoScalingPolicyStateAttaching is a AutoScalingPolicyState enum value 15635 AutoScalingPolicyStateAttaching = "ATTACHING" 15636 15637 // AutoScalingPolicyStateAttached is a AutoScalingPolicyState enum value 15638 AutoScalingPolicyStateAttached = "ATTACHED" 15639 15640 // AutoScalingPolicyStateDetaching is a AutoScalingPolicyState enum value 15641 AutoScalingPolicyStateDetaching = "DETACHING" 15642 15643 // AutoScalingPolicyStateDetached is a AutoScalingPolicyState enum value 15644 AutoScalingPolicyStateDetached = "DETACHED" 15645 15646 // AutoScalingPolicyStateFailed is a AutoScalingPolicyState enum value 15647 AutoScalingPolicyStateFailed = "FAILED" 15648) 15649 15650// AutoScalingPolicyState_Values returns all elements of the AutoScalingPolicyState enum 15651func AutoScalingPolicyState_Values() []string { 15652 return []string{ 15653 AutoScalingPolicyStatePending, 15654 AutoScalingPolicyStateAttaching, 15655 AutoScalingPolicyStateAttached, 15656 AutoScalingPolicyStateDetaching, 15657 AutoScalingPolicyStateDetached, 15658 AutoScalingPolicyStateFailed, 15659 } 15660} 15661 15662const ( 15663 // AutoScalingPolicyStateChangeReasonCodeUserRequest is a AutoScalingPolicyStateChangeReasonCode enum value 15664 AutoScalingPolicyStateChangeReasonCodeUserRequest = "USER_REQUEST" 15665 15666 // AutoScalingPolicyStateChangeReasonCodeProvisionFailure is a AutoScalingPolicyStateChangeReasonCode enum value 15667 AutoScalingPolicyStateChangeReasonCodeProvisionFailure = "PROVISION_FAILURE" 15668 15669 // AutoScalingPolicyStateChangeReasonCodeCleanupFailure is a AutoScalingPolicyStateChangeReasonCode enum value 15670 AutoScalingPolicyStateChangeReasonCodeCleanupFailure = "CLEANUP_FAILURE" 15671) 15672 15673// AutoScalingPolicyStateChangeReasonCode_Values returns all elements of the AutoScalingPolicyStateChangeReasonCode enum 15674func AutoScalingPolicyStateChangeReasonCode_Values() []string { 15675 return []string{ 15676 AutoScalingPolicyStateChangeReasonCodeUserRequest, 15677 AutoScalingPolicyStateChangeReasonCodeProvisionFailure, 15678 AutoScalingPolicyStateChangeReasonCodeCleanupFailure, 15679 } 15680} 15681 15682const ( 15683 // CancelStepsRequestStatusSubmitted is a CancelStepsRequestStatus enum value 15684 CancelStepsRequestStatusSubmitted = "SUBMITTED" 15685 15686 // CancelStepsRequestStatusFailed is a CancelStepsRequestStatus enum value 15687 CancelStepsRequestStatusFailed = "FAILED" 15688) 15689 15690// CancelStepsRequestStatus_Values returns all elements of the CancelStepsRequestStatus enum 15691func CancelStepsRequestStatus_Values() []string { 15692 return []string{ 15693 CancelStepsRequestStatusSubmitted, 15694 CancelStepsRequestStatusFailed, 15695 } 15696} 15697 15698const ( 15699 // ClusterStateStarting is a ClusterState enum value 15700 ClusterStateStarting = "STARTING" 15701 15702 // ClusterStateBootstrapping is a ClusterState enum value 15703 ClusterStateBootstrapping = "BOOTSTRAPPING" 15704 15705 // ClusterStateRunning is a ClusterState enum value 15706 ClusterStateRunning = "RUNNING" 15707 15708 // ClusterStateWaiting is a ClusterState enum value 15709 ClusterStateWaiting = "WAITING" 15710 15711 // ClusterStateTerminating is a ClusterState enum value 15712 ClusterStateTerminating = "TERMINATING" 15713 15714 // ClusterStateTerminated is a ClusterState enum value 15715 ClusterStateTerminated = "TERMINATED" 15716 15717 // ClusterStateTerminatedWithErrors is a ClusterState enum value 15718 ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS" 15719) 15720 15721// ClusterState_Values returns all elements of the ClusterState enum 15722func ClusterState_Values() []string { 15723 return []string{ 15724 ClusterStateStarting, 15725 ClusterStateBootstrapping, 15726 ClusterStateRunning, 15727 ClusterStateWaiting, 15728 ClusterStateTerminating, 15729 ClusterStateTerminated, 15730 ClusterStateTerminatedWithErrors, 15731 } 15732} 15733 15734const ( 15735 // ClusterStateChangeReasonCodeInternalError is a ClusterStateChangeReasonCode enum value 15736 ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 15737 15738 // ClusterStateChangeReasonCodeValidationError is a ClusterStateChangeReasonCode enum value 15739 ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 15740 15741 // ClusterStateChangeReasonCodeInstanceFailure is a ClusterStateChangeReasonCode enum value 15742 ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 15743 15744 // ClusterStateChangeReasonCodeInstanceFleetTimeout is a ClusterStateChangeReasonCode enum value 15745 ClusterStateChangeReasonCodeInstanceFleetTimeout = "INSTANCE_FLEET_TIMEOUT" 15746 15747 // ClusterStateChangeReasonCodeBootstrapFailure is a ClusterStateChangeReasonCode enum value 15748 ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 15749 15750 // ClusterStateChangeReasonCodeUserRequest is a ClusterStateChangeReasonCode enum value 15751 ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST" 15752 15753 // ClusterStateChangeReasonCodeStepFailure is a ClusterStateChangeReasonCode enum value 15754 ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE" 15755 15756 // ClusterStateChangeReasonCodeAllStepsCompleted is a ClusterStateChangeReasonCode enum value 15757 ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED" 15758) 15759 15760// ClusterStateChangeReasonCode_Values returns all elements of the ClusterStateChangeReasonCode enum 15761func ClusterStateChangeReasonCode_Values() []string { 15762 return []string{ 15763 ClusterStateChangeReasonCodeInternalError, 15764 ClusterStateChangeReasonCodeValidationError, 15765 ClusterStateChangeReasonCodeInstanceFailure, 15766 ClusterStateChangeReasonCodeInstanceFleetTimeout, 15767 ClusterStateChangeReasonCodeBootstrapFailure, 15768 ClusterStateChangeReasonCodeUserRequest, 15769 ClusterStateChangeReasonCodeStepFailure, 15770 ClusterStateChangeReasonCodeAllStepsCompleted, 15771 } 15772} 15773 15774const ( 15775 // ComparisonOperatorGreaterThanOrEqual is a ComparisonOperator enum value 15776 ComparisonOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" 15777 15778 // ComparisonOperatorGreaterThan is a ComparisonOperator enum value 15779 ComparisonOperatorGreaterThan = "GREATER_THAN" 15780 15781 // ComparisonOperatorLessThan is a ComparisonOperator enum value 15782 ComparisonOperatorLessThan = "LESS_THAN" 15783 15784 // ComparisonOperatorLessThanOrEqual is a ComparisonOperator enum value 15785 ComparisonOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" 15786) 15787 15788// ComparisonOperator_Values returns all elements of the ComparisonOperator enum 15789func ComparisonOperator_Values() []string { 15790 return []string{ 15791 ComparisonOperatorGreaterThanOrEqual, 15792 ComparisonOperatorGreaterThan, 15793 ComparisonOperatorLessThan, 15794 ComparisonOperatorLessThanOrEqual, 15795 } 15796} 15797 15798const ( 15799 // ComputeLimitsUnitTypeInstanceFleetUnits is a ComputeLimitsUnitType enum value 15800 ComputeLimitsUnitTypeInstanceFleetUnits = "InstanceFleetUnits" 15801 15802 // ComputeLimitsUnitTypeInstances is a ComputeLimitsUnitType enum value 15803 ComputeLimitsUnitTypeInstances = "Instances" 15804 15805 // ComputeLimitsUnitTypeVcpu is a ComputeLimitsUnitType enum value 15806 ComputeLimitsUnitTypeVcpu = "VCPU" 15807) 15808 15809// ComputeLimitsUnitType_Values returns all elements of the ComputeLimitsUnitType enum 15810func ComputeLimitsUnitType_Values() []string { 15811 return []string{ 15812 ComputeLimitsUnitTypeInstanceFleetUnits, 15813 ComputeLimitsUnitTypeInstances, 15814 ComputeLimitsUnitTypeVcpu, 15815 } 15816} 15817 15818const ( 15819 // ExecutionEngineTypeEmr is a ExecutionEngineType enum value 15820 ExecutionEngineTypeEmr = "EMR" 15821) 15822 15823// ExecutionEngineType_Values returns all elements of the ExecutionEngineType enum 15824func ExecutionEngineType_Values() []string { 15825 return []string{ 15826 ExecutionEngineTypeEmr, 15827 } 15828} 15829 15830const ( 15831 // IdentityTypeUser is a IdentityType enum value 15832 IdentityTypeUser = "USER" 15833 15834 // IdentityTypeGroup is a IdentityType enum value 15835 IdentityTypeGroup = "GROUP" 15836) 15837 15838// IdentityType_Values returns all elements of the IdentityType enum 15839func IdentityType_Values() []string { 15840 return []string{ 15841 IdentityTypeUser, 15842 IdentityTypeGroup, 15843 } 15844} 15845 15846const ( 15847 // InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value 15848 InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET" 15849 15850 // InstanceCollectionTypeInstanceGroup is a InstanceCollectionType enum value 15851 InstanceCollectionTypeInstanceGroup = "INSTANCE_GROUP" 15852) 15853 15854// InstanceCollectionType_Values returns all elements of the InstanceCollectionType enum 15855func InstanceCollectionType_Values() []string { 15856 return []string{ 15857 InstanceCollectionTypeInstanceFleet, 15858 InstanceCollectionTypeInstanceGroup, 15859 } 15860} 15861 15862const ( 15863 // InstanceFleetStateProvisioning is a InstanceFleetState enum value 15864 InstanceFleetStateProvisioning = "PROVISIONING" 15865 15866 // InstanceFleetStateBootstrapping is a InstanceFleetState enum value 15867 InstanceFleetStateBootstrapping = "BOOTSTRAPPING" 15868 15869 // InstanceFleetStateRunning is a InstanceFleetState enum value 15870 InstanceFleetStateRunning = "RUNNING" 15871 15872 // InstanceFleetStateResizing is a InstanceFleetState enum value 15873 InstanceFleetStateResizing = "RESIZING" 15874 15875 // InstanceFleetStateSuspended is a InstanceFleetState enum value 15876 InstanceFleetStateSuspended = "SUSPENDED" 15877 15878 // InstanceFleetStateTerminating is a InstanceFleetState enum value 15879 InstanceFleetStateTerminating = "TERMINATING" 15880 15881 // InstanceFleetStateTerminated is a InstanceFleetState enum value 15882 InstanceFleetStateTerminated = "TERMINATED" 15883) 15884 15885// InstanceFleetState_Values returns all elements of the InstanceFleetState enum 15886func InstanceFleetState_Values() []string { 15887 return []string{ 15888 InstanceFleetStateProvisioning, 15889 InstanceFleetStateBootstrapping, 15890 InstanceFleetStateRunning, 15891 InstanceFleetStateResizing, 15892 InstanceFleetStateSuspended, 15893 InstanceFleetStateTerminating, 15894 InstanceFleetStateTerminated, 15895 } 15896} 15897 15898const ( 15899 // InstanceFleetStateChangeReasonCodeInternalError is a InstanceFleetStateChangeReasonCode enum value 15900 InstanceFleetStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 15901 15902 // InstanceFleetStateChangeReasonCodeValidationError is a InstanceFleetStateChangeReasonCode enum value 15903 InstanceFleetStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 15904 15905 // InstanceFleetStateChangeReasonCodeInstanceFailure is a InstanceFleetStateChangeReasonCode enum value 15906 InstanceFleetStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 15907 15908 // InstanceFleetStateChangeReasonCodeClusterTerminated is a InstanceFleetStateChangeReasonCode enum value 15909 InstanceFleetStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 15910) 15911 15912// InstanceFleetStateChangeReasonCode_Values returns all elements of the InstanceFleetStateChangeReasonCode enum 15913func InstanceFleetStateChangeReasonCode_Values() []string { 15914 return []string{ 15915 InstanceFleetStateChangeReasonCodeInternalError, 15916 InstanceFleetStateChangeReasonCodeValidationError, 15917 InstanceFleetStateChangeReasonCodeInstanceFailure, 15918 InstanceFleetStateChangeReasonCodeClusterTerminated, 15919 } 15920} 15921 15922const ( 15923 // InstanceFleetTypeMaster is a InstanceFleetType enum value 15924 InstanceFleetTypeMaster = "MASTER" 15925 15926 // InstanceFleetTypeCore is a InstanceFleetType enum value 15927 InstanceFleetTypeCore = "CORE" 15928 15929 // InstanceFleetTypeTask is a InstanceFleetType enum value 15930 InstanceFleetTypeTask = "TASK" 15931) 15932 15933// InstanceFleetType_Values returns all elements of the InstanceFleetType enum 15934func InstanceFleetType_Values() []string { 15935 return []string{ 15936 InstanceFleetTypeMaster, 15937 InstanceFleetTypeCore, 15938 InstanceFleetTypeTask, 15939 } 15940} 15941 15942const ( 15943 // InstanceGroupStateProvisioning is a InstanceGroupState enum value 15944 InstanceGroupStateProvisioning = "PROVISIONING" 15945 15946 // InstanceGroupStateBootstrapping is a InstanceGroupState enum value 15947 InstanceGroupStateBootstrapping = "BOOTSTRAPPING" 15948 15949 // InstanceGroupStateRunning is a InstanceGroupState enum value 15950 InstanceGroupStateRunning = "RUNNING" 15951 15952 // InstanceGroupStateReconfiguring is a InstanceGroupState enum value 15953 InstanceGroupStateReconfiguring = "RECONFIGURING" 15954 15955 // InstanceGroupStateResizing is a InstanceGroupState enum value 15956 InstanceGroupStateResizing = "RESIZING" 15957 15958 // InstanceGroupStateSuspended is a InstanceGroupState enum value 15959 InstanceGroupStateSuspended = "SUSPENDED" 15960 15961 // InstanceGroupStateTerminating is a InstanceGroupState enum value 15962 InstanceGroupStateTerminating = "TERMINATING" 15963 15964 // InstanceGroupStateTerminated is a InstanceGroupState enum value 15965 InstanceGroupStateTerminated = "TERMINATED" 15966 15967 // InstanceGroupStateArrested is a InstanceGroupState enum value 15968 InstanceGroupStateArrested = "ARRESTED" 15969 15970 // InstanceGroupStateShuttingDown is a InstanceGroupState enum value 15971 InstanceGroupStateShuttingDown = "SHUTTING_DOWN" 15972 15973 // InstanceGroupStateEnded is a InstanceGroupState enum value 15974 InstanceGroupStateEnded = "ENDED" 15975) 15976 15977// InstanceGroupState_Values returns all elements of the InstanceGroupState enum 15978func InstanceGroupState_Values() []string { 15979 return []string{ 15980 InstanceGroupStateProvisioning, 15981 InstanceGroupStateBootstrapping, 15982 InstanceGroupStateRunning, 15983 InstanceGroupStateReconfiguring, 15984 InstanceGroupStateResizing, 15985 InstanceGroupStateSuspended, 15986 InstanceGroupStateTerminating, 15987 InstanceGroupStateTerminated, 15988 InstanceGroupStateArrested, 15989 InstanceGroupStateShuttingDown, 15990 InstanceGroupStateEnded, 15991 } 15992} 15993 15994const ( 15995 // InstanceGroupStateChangeReasonCodeInternalError is a InstanceGroupStateChangeReasonCode enum value 15996 InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 15997 15998 // InstanceGroupStateChangeReasonCodeValidationError is a InstanceGroupStateChangeReasonCode enum value 15999 InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 16000 16001 // InstanceGroupStateChangeReasonCodeInstanceFailure is a InstanceGroupStateChangeReasonCode enum value 16002 InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 16003 16004 // InstanceGroupStateChangeReasonCodeClusterTerminated is a InstanceGroupStateChangeReasonCode enum value 16005 InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 16006) 16007 16008// InstanceGroupStateChangeReasonCode_Values returns all elements of the InstanceGroupStateChangeReasonCode enum 16009func InstanceGroupStateChangeReasonCode_Values() []string { 16010 return []string{ 16011 InstanceGroupStateChangeReasonCodeInternalError, 16012 InstanceGroupStateChangeReasonCodeValidationError, 16013 InstanceGroupStateChangeReasonCodeInstanceFailure, 16014 InstanceGroupStateChangeReasonCodeClusterTerminated, 16015 } 16016} 16017 16018const ( 16019 // InstanceGroupTypeMaster is a InstanceGroupType enum value 16020 InstanceGroupTypeMaster = "MASTER" 16021 16022 // InstanceGroupTypeCore is a InstanceGroupType enum value 16023 InstanceGroupTypeCore = "CORE" 16024 16025 // InstanceGroupTypeTask is a InstanceGroupType enum value 16026 InstanceGroupTypeTask = "TASK" 16027) 16028 16029// InstanceGroupType_Values returns all elements of the InstanceGroupType enum 16030func InstanceGroupType_Values() []string { 16031 return []string{ 16032 InstanceGroupTypeMaster, 16033 InstanceGroupTypeCore, 16034 InstanceGroupTypeTask, 16035 } 16036} 16037 16038const ( 16039 // InstanceRoleTypeMaster is a InstanceRoleType enum value 16040 InstanceRoleTypeMaster = "MASTER" 16041 16042 // InstanceRoleTypeCore is a InstanceRoleType enum value 16043 InstanceRoleTypeCore = "CORE" 16044 16045 // InstanceRoleTypeTask is a InstanceRoleType enum value 16046 InstanceRoleTypeTask = "TASK" 16047) 16048 16049// InstanceRoleType_Values returns all elements of the InstanceRoleType enum 16050func InstanceRoleType_Values() []string { 16051 return []string{ 16052 InstanceRoleTypeMaster, 16053 InstanceRoleTypeCore, 16054 InstanceRoleTypeTask, 16055 } 16056} 16057 16058const ( 16059 // InstanceStateAwaitingFulfillment is a InstanceState enum value 16060 InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT" 16061 16062 // InstanceStateProvisioning is a InstanceState enum value 16063 InstanceStateProvisioning = "PROVISIONING" 16064 16065 // InstanceStateBootstrapping is a InstanceState enum value 16066 InstanceStateBootstrapping = "BOOTSTRAPPING" 16067 16068 // InstanceStateRunning is a InstanceState enum value 16069 InstanceStateRunning = "RUNNING" 16070 16071 // InstanceStateTerminated is a InstanceState enum value 16072 InstanceStateTerminated = "TERMINATED" 16073) 16074 16075// InstanceState_Values returns all elements of the InstanceState enum 16076func InstanceState_Values() []string { 16077 return []string{ 16078 InstanceStateAwaitingFulfillment, 16079 InstanceStateProvisioning, 16080 InstanceStateBootstrapping, 16081 InstanceStateRunning, 16082 InstanceStateTerminated, 16083 } 16084} 16085 16086const ( 16087 // InstanceStateChangeReasonCodeInternalError is a InstanceStateChangeReasonCode enum value 16088 InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 16089 16090 // InstanceStateChangeReasonCodeValidationError is a InstanceStateChangeReasonCode enum value 16091 InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 16092 16093 // InstanceStateChangeReasonCodeInstanceFailure is a InstanceStateChangeReasonCode enum value 16094 InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 16095 16096 // InstanceStateChangeReasonCodeBootstrapFailure is a InstanceStateChangeReasonCode enum value 16097 InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 16098 16099 // InstanceStateChangeReasonCodeClusterTerminated is a InstanceStateChangeReasonCode enum value 16100 InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 16101) 16102 16103// InstanceStateChangeReasonCode_Values returns all elements of the InstanceStateChangeReasonCode enum 16104func InstanceStateChangeReasonCode_Values() []string { 16105 return []string{ 16106 InstanceStateChangeReasonCodeInternalError, 16107 InstanceStateChangeReasonCodeValidationError, 16108 InstanceStateChangeReasonCodeInstanceFailure, 16109 InstanceStateChangeReasonCodeBootstrapFailure, 16110 InstanceStateChangeReasonCodeClusterTerminated, 16111 } 16112} 16113 16114// The type of instance. 16115const ( 16116 // JobFlowExecutionStateStarting is a JobFlowExecutionState enum value 16117 JobFlowExecutionStateStarting = "STARTING" 16118 16119 // JobFlowExecutionStateBootstrapping is a JobFlowExecutionState enum value 16120 JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING" 16121 16122 // JobFlowExecutionStateRunning is a JobFlowExecutionState enum value 16123 JobFlowExecutionStateRunning = "RUNNING" 16124 16125 // JobFlowExecutionStateWaiting is a JobFlowExecutionState enum value 16126 JobFlowExecutionStateWaiting = "WAITING" 16127 16128 // JobFlowExecutionStateShuttingDown is a JobFlowExecutionState enum value 16129 JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN" 16130 16131 // JobFlowExecutionStateTerminated is a JobFlowExecutionState enum value 16132 JobFlowExecutionStateTerminated = "TERMINATED" 16133 16134 // JobFlowExecutionStateCompleted is a JobFlowExecutionState enum value 16135 JobFlowExecutionStateCompleted = "COMPLETED" 16136 16137 // JobFlowExecutionStateFailed is a JobFlowExecutionState enum value 16138 JobFlowExecutionStateFailed = "FAILED" 16139) 16140 16141// JobFlowExecutionState_Values returns all elements of the JobFlowExecutionState enum 16142func JobFlowExecutionState_Values() []string { 16143 return []string{ 16144 JobFlowExecutionStateStarting, 16145 JobFlowExecutionStateBootstrapping, 16146 JobFlowExecutionStateRunning, 16147 JobFlowExecutionStateWaiting, 16148 JobFlowExecutionStateShuttingDown, 16149 JobFlowExecutionStateTerminated, 16150 JobFlowExecutionStateCompleted, 16151 JobFlowExecutionStateFailed, 16152 } 16153} 16154 16155const ( 16156 // MarketTypeOnDemand is a MarketType enum value 16157 MarketTypeOnDemand = "ON_DEMAND" 16158 16159 // MarketTypeSpot is a MarketType enum value 16160 MarketTypeSpot = "SPOT" 16161) 16162 16163// MarketType_Values returns all elements of the MarketType enum 16164func MarketType_Values() []string { 16165 return []string{ 16166 MarketTypeOnDemand, 16167 MarketTypeSpot, 16168 } 16169} 16170 16171const ( 16172 // NotebookExecutionStatusStartPending is a NotebookExecutionStatus enum value 16173 NotebookExecutionStatusStartPending = "START_PENDING" 16174 16175 // NotebookExecutionStatusStarting is a NotebookExecutionStatus enum value 16176 NotebookExecutionStatusStarting = "STARTING" 16177 16178 // NotebookExecutionStatusRunning is a NotebookExecutionStatus enum value 16179 NotebookExecutionStatusRunning = "RUNNING" 16180 16181 // NotebookExecutionStatusFinishing is a NotebookExecutionStatus enum value 16182 NotebookExecutionStatusFinishing = "FINISHING" 16183 16184 // NotebookExecutionStatusFinished is a NotebookExecutionStatus enum value 16185 NotebookExecutionStatusFinished = "FINISHED" 16186 16187 // NotebookExecutionStatusFailing is a NotebookExecutionStatus enum value 16188 NotebookExecutionStatusFailing = "FAILING" 16189 16190 // NotebookExecutionStatusFailed is a NotebookExecutionStatus enum value 16191 NotebookExecutionStatusFailed = "FAILED" 16192 16193 // NotebookExecutionStatusStopPending is a NotebookExecutionStatus enum value 16194 NotebookExecutionStatusStopPending = "STOP_PENDING" 16195 16196 // NotebookExecutionStatusStopping is a NotebookExecutionStatus enum value 16197 NotebookExecutionStatusStopping = "STOPPING" 16198 16199 // NotebookExecutionStatusStopped is a NotebookExecutionStatus enum value 16200 NotebookExecutionStatusStopped = "STOPPED" 16201) 16202 16203// NotebookExecutionStatus_Values returns all elements of the NotebookExecutionStatus enum 16204func NotebookExecutionStatus_Values() []string { 16205 return []string{ 16206 NotebookExecutionStatusStartPending, 16207 NotebookExecutionStatusStarting, 16208 NotebookExecutionStatusRunning, 16209 NotebookExecutionStatusFinishing, 16210 NotebookExecutionStatusFinished, 16211 NotebookExecutionStatusFailing, 16212 NotebookExecutionStatusFailed, 16213 NotebookExecutionStatusStopPending, 16214 NotebookExecutionStatusStopping, 16215 NotebookExecutionStatusStopped, 16216 } 16217} 16218 16219const ( 16220 // OnDemandCapacityReservationPreferenceOpen is a OnDemandCapacityReservationPreference enum value 16221 OnDemandCapacityReservationPreferenceOpen = "open" 16222 16223 // OnDemandCapacityReservationPreferenceNone is a OnDemandCapacityReservationPreference enum value 16224 OnDemandCapacityReservationPreferenceNone = "none" 16225) 16226 16227// OnDemandCapacityReservationPreference_Values returns all elements of the OnDemandCapacityReservationPreference enum 16228func OnDemandCapacityReservationPreference_Values() []string { 16229 return []string{ 16230 OnDemandCapacityReservationPreferenceOpen, 16231 OnDemandCapacityReservationPreferenceNone, 16232 } 16233} 16234 16235const ( 16236 // OnDemandCapacityReservationUsageStrategyUseCapacityReservationsFirst is a OnDemandCapacityReservationUsageStrategy enum value 16237 OnDemandCapacityReservationUsageStrategyUseCapacityReservationsFirst = "use-capacity-reservations-first" 16238) 16239 16240// OnDemandCapacityReservationUsageStrategy_Values returns all elements of the OnDemandCapacityReservationUsageStrategy enum 16241func OnDemandCapacityReservationUsageStrategy_Values() []string { 16242 return []string{ 16243 OnDemandCapacityReservationUsageStrategyUseCapacityReservationsFirst, 16244 } 16245} 16246 16247const ( 16248 // OnDemandProvisioningAllocationStrategyLowestPrice is a OnDemandProvisioningAllocationStrategy enum value 16249 OnDemandProvisioningAllocationStrategyLowestPrice = "lowest-price" 16250) 16251 16252// OnDemandProvisioningAllocationStrategy_Values returns all elements of the OnDemandProvisioningAllocationStrategy enum 16253func OnDemandProvisioningAllocationStrategy_Values() []string { 16254 return []string{ 16255 OnDemandProvisioningAllocationStrategyLowestPrice, 16256 } 16257} 16258 16259const ( 16260 // PlacementGroupStrategySpread is a PlacementGroupStrategy enum value 16261 PlacementGroupStrategySpread = "SPREAD" 16262 16263 // PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value 16264 PlacementGroupStrategyPartition = "PARTITION" 16265 16266 // PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value 16267 PlacementGroupStrategyCluster = "CLUSTER" 16268 16269 // PlacementGroupStrategyNone is a PlacementGroupStrategy enum value 16270 PlacementGroupStrategyNone = "NONE" 16271) 16272 16273// PlacementGroupStrategy_Values returns all elements of the PlacementGroupStrategy enum 16274func PlacementGroupStrategy_Values() []string { 16275 return []string{ 16276 PlacementGroupStrategySpread, 16277 PlacementGroupStrategyPartition, 16278 PlacementGroupStrategyCluster, 16279 PlacementGroupStrategyNone, 16280 } 16281} 16282 16283const ( 16284 // RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value 16285 RepoUpgradeOnBootSecurity = "SECURITY" 16286 16287 // RepoUpgradeOnBootNone is a RepoUpgradeOnBoot enum value 16288 RepoUpgradeOnBootNone = "NONE" 16289) 16290 16291// RepoUpgradeOnBoot_Values returns all elements of the RepoUpgradeOnBoot enum 16292func RepoUpgradeOnBoot_Values() []string { 16293 return []string{ 16294 RepoUpgradeOnBootSecurity, 16295 RepoUpgradeOnBootNone, 16296 } 16297} 16298 16299const ( 16300 // ScaleDownBehaviorTerminateAtInstanceHour is a ScaleDownBehavior enum value 16301 ScaleDownBehaviorTerminateAtInstanceHour = "TERMINATE_AT_INSTANCE_HOUR" 16302 16303 // ScaleDownBehaviorTerminateAtTaskCompletion is a ScaleDownBehavior enum value 16304 ScaleDownBehaviorTerminateAtTaskCompletion = "TERMINATE_AT_TASK_COMPLETION" 16305) 16306 16307// ScaleDownBehavior_Values returns all elements of the ScaleDownBehavior enum 16308func ScaleDownBehavior_Values() []string { 16309 return []string{ 16310 ScaleDownBehaviorTerminateAtInstanceHour, 16311 ScaleDownBehaviorTerminateAtTaskCompletion, 16312 } 16313} 16314 16315const ( 16316 // SpotProvisioningAllocationStrategyCapacityOptimized is a SpotProvisioningAllocationStrategy enum value 16317 SpotProvisioningAllocationStrategyCapacityOptimized = "capacity-optimized" 16318) 16319 16320// SpotProvisioningAllocationStrategy_Values returns all elements of the SpotProvisioningAllocationStrategy enum 16321func SpotProvisioningAllocationStrategy_Values() []string { 16322 return []string{ 16323 SpotProvisioningAllocationStrategyCapacityOptimized, 16324 } 16325} 16326 16327const ( 16328 // SpotProvisioningTimeoutActionSwitchToOnDemand is a SpotProvisioningTimeoutAction enum value 16329 SpotProvisioningTimeoutActionSwitchToOnDemand = "SWITCH_TO_ON_DEMAND" 16330 16331 // SpotProvisioningTimeoutActionTerminateCluster is a SpotProvisioningTimeoutAction enum value 16332 SpotProvisioningTimeoutActionTerminateCluster = "TERMINATE_CLUSTER" 16333) 16334 16335// SpotProvisioningTimeoutAction_Values returns all elements of the SpotProvisioningTimeoutAction enum 16336func SpotProvisioningTimeoutAction_Values() []string { 16337 return []string{ 16338 SpotProvisioningTimeoutActionSwitchToOnDemand, 16339 SpotProvisioningTimeoutActionTerminateCluster, 16340 } 16341} 16342 16343const ( 16344 // StatisticSampleCount is a Statistic enum value 16345 StatisticSampleCount = "SAMPLE_COUNT" 16346 16347 // StatisticAverage is a Statistic enum value 16348 StatisticAverage = "AVERAGE" 16349 16350 // StatisticSum is a Statistic enum value 16351 StatisticSum = "SUM" 16352 16353 // StatisticMinimum is a Statistic enum value 16354 StatisticMinimum = "MINIMUM" 16355 16356 // StatisticMaximum is a Statistic enum value 16357 StatisticMaximum = "MAXIMUM" 16358) 16359 16360// Statistic_Values returns all elements of the Statistic enum 16361func Statistic_Values() []string { 16362 return []string{ 16363 StatisticSampleCount, 16364 StatisticAverage, 16365 StatisticSum, 16366 StatisticMinimum, 16367 StatisticMaximum, 16368 } 16369} 16370 16371const ( 16372 // StepCancellationOptionSendInterrupt is a StepCancellationOption enum value 16373 StepCancellationOptionSendInterrupt = "SEND_INTERRUPT" 16374 16375 // StepCancellationOptionTerminateProcess is a StepCancellationOption enum value 16376 StepCancellationOptionTerminateProcess = "TERMINATE_PROCESS" 16377) 16378 16379// StepCancellationOption_Values returns all elements of the StepCancellationOption enum 16380func StepCancellationOption_Values() []string { 16381 return []string{ 16382 StepCancellationOptionSendInterrupt, 16383 StepCancellationOptionTerminateProcess, 16384 } 16385} 16386 16387const ( 16388 // StepExecutionStatePending is a StepExecutionState enum value 16389 StepExecutionStatePending = "PENDING" 16390 16391 // StepExecutionStateRunning is a StepExecutionState enum value 16392 StepExecutionStateRunning = "RUNNING" 16393 16394 // StepExecutionStateContinue is a StepExecutionState enum value 16395 StepExecutionStateContinue = "CONTINUE" 16396 16397 // StepExecutionStateCompleted is a StepExecutionState enum value 16398 StepExecutionStateCompleted = "COMPLETED" 16399 16400 // StepExecutionStateCancelled is a StepExecutionState enum value 16401 StepExecutionStateCancelled = "CANCELLED" 16402 16403 // StepExecutionStateFailed is a StepExecutionState enum value 16404 StepExecutionStateFailed = "FAILED" 16405 16406 // StepExecutionStateInterrupted is a StepExecutionState enum value 16407 StepExecutionStateInterrupted = "INTERRUPTED" 16408) 16409 16410// StepExecutionState_Values returns all elements of the StepExecutionState enum 16411func StepExecutionState_Values() []string { 16412 return []string{ 16413 StepExecutionStatePending, 16414 StepExecutionStateRunning, 16415 StepExecutionStateContinue, 16416 StepExecutionStateCompleted, 16417 StepExecutionStateCancelled, 16418 StepExecutionStateFailed, 16419 StepExecutionStateInterrupted, 16420 } 16421} 16422 16423const ( 16424 // StepStatePending is a StepState enum value 16425 StepStatePending = "PENDING" 16426 16427 // StepStateCancelPending is a StepState enum value 16428 StepStateCancelPending = "CANCEL_PENDING" 16429 16430 // StepStateRunning is a StepState enum value 16431 StepStateRunning = "RUNNING" 16432 16433 // StepStateCompleted is a StepState enum value 16434 StepStateCompleted = "COMPLETED" 16435 16436 // StepStateCancelled is a StepState enum value 16437 StepStateCancelled = "CANCELLED" 16438 16439 // StepStateFailed is a StepState enum value 16440 StepStateFailed = "FAILED" 16441 16442 // StepStateInterrupted is a StepState enum value 16443 StepStateInterrupted = "INTERRUPTED" 16444) 16445 16446// StepState_Values returns all elements of the StepState enum 16447func StepState_Values() []string { 16448 return []string{ 16449 StepStatePending, 16450 StepStateCancelPending, 16451 StepStateRunning, 16452 StepStateCompleted, 16453 StepStateCancelled, 16454 StepStateFailed, 16455 StepStateInterrupted, 16456 } 16457} 16458 16459const ( 16460 // StepStateChangeReasonCodeNone is a StepStateChangeReasonCode enum value 16461 StepStateChangeReasonCodeNone = "NONE" 16462) 16463 16464// StepStateChangeReasonCode_Values returns all elements of the StepStateChangeReasonCode enum 16465func StepStateChangeReasonCode_Values() []string { 16466 return []string{ 16467 StepStateChangeReasonCodeNone, 16468 } 16469} 16470 16471const ( 16472 // UnitNone is a Unit enum value 16473 UnitNone = "NONE" 16474 16475 // UnitSeconds is a Unit enum value 16476 UnitSeconds = "SECONDS" 16477 16478 // UnitMicroSeconds is a Unit enum value 16479 UnitMicroSeconds = "MICRO_SECONDS" 16480 16481 // UnitMilliSeconds is a Unit enum value 16482 UnitMilliSeconds = "MILLI_SECONDS" 16483 16484 // UnitBytes is a Unit enum value 16485 UnitBytes = "BYTES" 16486 16487 // UnitKiloBytes is a Unit enum value 16488 UnitKiloBytes = "KILO_BYTES" 16489 16490 // UnitMegaBytes is a Unit enum value 16491 UnitMegaBytes = "MEGA_BYTES" 16492 16493 // UnitGigaBytes is a Unit enum value 16494 UnitGigaBytes = "GIGA_BYTES" 16495 16496 // UnitTeraBytes is a Unit enum value 16497 UnitTeraBytes = "TERA_BYTES" 16498 16499 // UnitBits is a Unit enum value 16500 UnitBits = "BITS" 16501 16502 // UnitKiloBits is a Unit enum value 16503 UnitKiloBits = "KILO_BITS" 16504 16505 // UnitMegaBits is a Unit enum value 16506 UnitMegaBits = "MEGA_BITS" 16507 16508 // UnitGigaBits is a Unit enum value 16509 UnitGigaBits = "GIGA_BITS" 16510 16511 // UnitTeraBits is a Unit enum value 16512 UnitTeraBits = "TERA_BITS" 16513 16514 // UnitPercent is a Unit enum value 16515 UnitPercent = "PERCENT" 16516 16517 // UnitCount is a Unit enum value 16518 UnitCount = "COUNT" 16519 16520 // UnitBytesPerSecond is a Unit enum value 16521 UnitBytesPerSecond = "BYTES_PER_SECOND" 16522 16523 // UnitKiloBytesPerSecond is a Unit enum value 16524 UnitKiloBytesPerSecond = "KILO_BYTES_PER_SECOND" 16525 16526 // UnitMegaBytesPerSecond is a Unit enum value 16527 UnitMegaBytesPerSecond = "MEGA_BYTES_PER_SECOND" 16528 16529 // UnitGigaBytesPerSecond is a Unit enum value 16530 UnitGigaBytesPerSecond = "GIGA_BYTES_PER_SECOND" 16531 16532 // UnitTeraBytesPerSecond is a Unit enum value 16533 UnitTeraBytesPerSecond = "TERA_BYTES_PER_SECOND" 16534 16535 // UnitBitsPerSecond is a Unit enum value 16536 UnitBitsPerSecond = "BITS_PER_SECOND" 16537 16538 // UnitKiloBitsPerSecond is a Unit enum value 16539 UnitKiloBitsPerSecond = "KILO_BITS_PER_SECOND" 16540 16541 // UnitMegaBitsPerSecond is a Unit enum value 16542 UnitMegaBitsPerSecond = "MEGA_BITS_PER_SECOND" 16543 16544 // UnitGigaBitsPerSecond is a Unit enum value 16545 UnitGigaBitsPerSecond = "GIGA_BITS_PER_SECOND" 16546 16547 // UnitTeraBitsPerSecond is a Unit enum value 16548 UnitTeraBitsPerSecond = "TERA_BITS_PER_SECOND" 16549 16550 // UnitCountPerSecond is a Unit enum value 16551 UnitCountPerSecond = "COUNT_PER_SECOND" 16552) 16553 16554// Unit_Values returns all elements of the Unit enum 16555func Unit_Values() []string { 16556 return []string{ 16557 UnitNone, 16558 UnitSeconds, 16559 UnitMicroSeconds, 16560 UnitMilliSeconds, 16561 UnitBytes, 16562 UnitKiloBytes, 16563 UnitMegaBytes, 16564 UnitGigaBytes, 16565 UnitTeraBytes, 16566 UnitBits, 16567 UnitKiloBits, 16568 UnitMegaBits, 16569 UnitGigaBits, 16570 UnitTeraBits, 16571 UnitPercent, 16572 UnitCount, 16573 UnitBytesPerSecond, 16574 UnitKiloBytesPerSecond, 16575 UnitMegaBytesPerSecond, 16576 UnitGigaBytesPerSecond, 16577 UnitTeraBytesPerSecond, 16578 UnitBitsPerSecond, 16579 UnitKiloBitsPerSecond, 16580 UnitMegaBitsPerSecond, 16581 UnitGigaBitsPerSecond, 16582 UnitTeraBitsPerSecond, 16583 UnitCountPerSecond, 16584 } 16585} 16586