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 EMR service. 75// 76// * InvalidRequestException 77// This exception occurs when there is something wrong with user input. 78// 79// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet 80func (c *EMR) AddInstanceFleet(input *AddInstanceFleetInput) (*AddInstanceFleetOutput, error) { 81 req, out := c.AddInstanceFleetRequest(input) 82 return out, req.Send() 83} 84 85// AddInstanceFleetWithContext is the same as AddInstanceFleet with the addition of 86// the ability to pass a context and additional request options. 87// 88// See AddInstanceFleet for details on how to use this API operation. 89// 90// The context must be non-nil and will be used for request cancellation. If 91// the context is nil a panic will occur. In the future the SDK may create 92// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 93// for more information on using Contexts. 94func (c *EMR) AddInstanceFleetWithContext(ctx aws.Context, input *AddInstanceFleetInput, opts ...request.Option) (*AddInstanceFleetOutput, error) { 95 req, out := c.AddInstanceFleetRequest(input) 96 req.SetContext(ctx) 97 req.ApplyOptions(opts...) 98 return out, req.Send() 99} 100 101const opAddInstanceGroups = "AddInstanceGroups" 102 103// AddInstanceGroupsRequest generates a "aws/request.Request" representing the 104// client's request for the AddInstanceGroups operation. The "output" return 105// value will be populated with the request's response once the request completes 106// successfully. 107// 108// Use "Send" method on the returned Request to send the API call to the service. 109// the "output" return value is not valid until after Send returns without error. 110// 111// See AddInstanceGroups for more information on using the AddInstanceGroups 112// API call, and error handling. 113// 114// This method is useful when you want to inject custom logic or configuration 115// into the SDK's request lifecycle. Such as custom headers, or retry logic. 116// 117// 118// // Example sending a request using the AddInstanceGroupsRequest method. 119// req, resp := client.AddInstanceGroupsRequest(params) 120// 121// err := req.Send() 122// if err == nil { // resp is now filled 123// fmt.Println(resp) 124// } 125// 126// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups 127func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *request.Request, output *AddInstanceGroupsOutput) { 128 op := &request.Operation{ 129 Name: opAddInstanceGroups, 130 HTTPMethod: "POST", 131 HTTPPath: "/", 132 } 133 134 if input == nil { 135 input = &AddInstanceGroupsInput{} 136 } 137 138 output = &AddInstanceGroupsOutput{} 139 req = c.newRequest(op, input, output) 140 return 141} 142 143// AddInstanceGroups API operation for Amazon Elastic MapReduce. 144// 145// Adds one or more instance groups to a running cluster. 146// 147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 148// with awserr.Error's Code and Message methods to get detailed information about 149// the error. 150// 151// See the AWS API reference guide for Amazon Elastic MapReduce's 152// API operation AddInstanceGroups for usage and error information. 153// 154// Returned Error Types: 155// * InternalServerError 156// Indicates that an error occurred while processing the request and that the 157// request was not completed. 158// 159// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups 160func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGroupsOutput, error) { 161 req, out := c.AddInstanceGroupsRequest(input) 162 return out, req.Send() 163} 164 165// AddInstanceGroupsWithContext is the same as AddInstanceGroups with the addition of 166// the ability to pass a context and additional request options. 167// 168// See AddInstanceGroups for details on how to use this API operation. 169// 170// The context must be non-nil and will be used for request cancellation. If 171// the context is nil a panic will occur. In the future the SDK may create 172// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 173// for more information on using Contexts. 174func (c *EMR) AddInstanceGroupsWithContext(ctx aws.Context, input *AddInstanceGroupsInput, opts ...request.Option) (*AddInstanceGroupsOutput, error) { 175 req, out := c.AddInstanceGroupsRequest(input) 176 req.SetContext(ctx) 177 req.ApplyOptions(opts...) 178 return out, req.Send() 179} 180 181const opAddJobFlowSteps = "AddJobFlowSteps" 182 183// AddJobFlowStepsRequest generates a "aws/request.Request" representing the 184// client's request for the AddJobFlowSteps operation. The "output" return 185// value will be populated with the request's response once the request completes 186// successfully. 187// 188// Use "Send" method on the returned Request to send the API call to the service. 189// the "output" return value is not valid until after Send returns without error. 190// 191// See AddJobFlowSteps for more information on using the AddJobFlowSteps 192// API call, and error handling. 193// 194// This method is useful when you want to inject custom logic or configuration 195// into the SDK's request lifecycle. Such as custom headers, or retry logic. 196// 197// 198// // Example sending a request using the AddJobFlowStepsRequest method. 199// req, resp := client.AddJobFlowStepsRequest(params) 200// 201// err := req.Send() 202// if err == nil { // resp is now filled 203// fmt.Println(resp) 204// } 205// 206// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps 207func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request.Request, output *AddJobFlowStepsOutput) { 208 op := &request.Operation{ 209 Name: opAddJobFlowSteps, 210 HTTPMethod: "POST", 211 HTTPPath: "/", 212 } 213 214 if input == nil { 215 input = &AddJobFlowStepsInput{} 216 } 217 218 output = &AddJobFlowStepsOutput{} 219 req = c.newRequest(op, input, output) 220 return 221} 222 223// AddJobFlowSteps API operation for Amazon Elastic MapReduce. 224// 225// AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps 226// are allowed in each job flow. 227// 228// If your cluster is long-running (such as a Hive data warehouse) or complex, 229// you may require more than 256 steps to process your data. You can bypass 230// the 256-step limitation in various ways, including using SSH to connect to 231// the master node and submitting queries directly to the software running on 232// the master node, such as Hive and Hadoop. For more information on how to 233// do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) 234// in the Amazon EMR Management Guide. 235// 236// A step specifies the location of a JAR file stored either on the master node 237// of the cluster or in Amazon S3. Each step is performed by the main function 238// of the main class of the JAR file. The main class can be specified either 239// in the manifest of the JAR or by using the MainFunction parameter of the 240// step. 241// 242// Amazon EMR executes each step in the order listed. For a step to be considered 243// complete, the main function must exit with a zero exit code and all Hadoop 244// jobs started while the step was running must have completed and run successfully. 245// 246// You can only add steps to a cluster that is in one of the following states: 247// STARTING, BOOTSTRAPPING, RUNNING, or WAITING. 248// 249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 250// with awserr.Error's Code and Message methods to get detailed information about 251// the error. 252// 253// See the AWS API reference guide for Amazon Elastic MapReduce's 254// API operation AddJobFlowSteps for usage and error information. 255// 256// Returned Error Types: 257// * InternalServerError 258// Indicates that an error occurred while processing the request and that the 259// request was not completed. 260// 261// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps 262func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutput, error) { 263 req, out := c.AddJobFlowStepsRequest(input) 264 return out, req.Send() 265} 266 267// AddJobFlowStepsWithContext is the same as AddJobFlowSteps with the addition of 268// the ability to pass a context and additional request options. 269// 270// See AddJobFlowSteps for details on how to use this API operation. 271// 272// The context must be non-nil and will be used for request cancellation. If 273// the context is nil a panic will occur. In the future the SDK may create 274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 275// for more information on using Contexts. 276func (c *EMR) AddJobFlowStepsWithContext(ctx aws.Context, input *AddJobFlowStepsInput, opts ...request.Option) (*AddJobFlowStepsOutput, error) { 277 req, out := c.AddJobFlowStepsRequest(input) 278 req.SetContext(ctx) 279 req.ApplyOptions(opts...) 280 return out, req.Send() 281} 282 283const opAddTags = "AddTags" 284 285// AddTagsRequest generates a "aws/request.Request" representing the 286// client's request for the AddTags operation. The "output" return 287// value will be populated with the request's response once the request completes 288// successfully. 289// 290// Use "Send" method on the returned Request to send the API call to the service. 291// the "output" return value is not valid until after Send returns without error. 292// 293// See AddTags for more information on using the AddTags 294// API call, and error handling. 295// 296// This method is useful when you want to inject custom logic or configuration 297// into the SDK's request lifecycle. Such as custom headers, or retry logic. 298// 299// 300// // Example sending a request using the AddTagsRequest method. 301// req, resp := client.AddTagsRequest(params) 302// 303// err := req.Send() 304// if err == nil { // resp is now filled 305// fmt.Println(resp) 306// } 307// 308// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags 309func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) { 310 op := &request.Operation{ 311 Name: opAddTags, 312 HTTPMethod: "POST", 313 HTTPPath: "/", 314 } 315 316 if input == nil { 317 input = &AddTagsInput{} 318 } 319 320 output = &AddTagsOutput{} 321 req = c.newRequest(op, input, output) 322 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 323 return 324} 325 326// AddTags API operation for Amazon Elastic MapReduce. 327// 328// Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters 329// in various ways, such as grouping clusters to track your Amazon EMR resource 330// allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 331// 332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 333// with awserr.Error's Code and Message methods to get detailed information about 334// the error. 335// 336// See the AWS API reference guide for Amazon Elastic MapReduce's 337// API operation AddTags for usage and error information. 338// 339// Returned Error Types: 340// * InternalServerException 341// This exception occurs when there is an internal failure in the EMR service. 342// 343// * InvalidRequestException 344// This exception occurs when there is something wrong with user input. 345// 346// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags 347func (c *EMR) AddTags(input *AddTagsInput) (*AddTagsOutput, error) { 348 req, out := c.AddTagsRequest(input) 349 return out, req.Send() 350} 351 352// AddTagsWithContext is the same as AddTags with the addition of 353// the ability to pass a context and additional request options. 354// 355// See AddTags for details on how to use this API operation. 356// 357// The context must be non-nil and will be used for request cancellation. If 358// the context is nil a panic will occur. In the future the SDK may create 359// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 360// for more information on using Contexts. 361func (c *EMR) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) { 362 req, out := c.AddTagsRequest(input) 363 req.SetContext(ctx) 364 req.ApplyOptions(opts...) 365 return out, req.Send() 366} 367 368const opCancelSteps = "CancelSteps" 369 370// CancelStepsRequest generates a "aws/request.Request" representing the 371// client's request for the CancelSteps operation. The "output" return 372// value will be populated with the request's response once the request completes 373// successfully. 374// 375// Use "Send" method on the returned Request to send the API call to the service. 376// the "output" return value is not valid until after Send returns without error. 377// 378// See CancelSteps for more information on using the CancelSteps 379// API call, and error handling. 380// 381// This method is useful when you want to inject custom logic or configuration 382// into the SDK's request lifecycle. Such as custom headers, or retry logic. 383// 384// 385// // Example sending a request using the CancelStepsRequest method. 386// req, resp := client.CancelStepsRequest(params) 387// 388// err := req.Send() 389// if err == nil { // resp is now filled 390// fmt.Println(resp) 391// } 392// 393// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps 394func (c *EMR) CancelStepsRequest(input *CancelStepsInput) (req *request.Request, output *CancelStepsOutput) { 395 op := &request.Operation{ 396 Name: opCancelSteps, 397 HTTPMethod: "POST", 398 HTTPPath: "/", 399 } 400 401 if input == nil { 402 input = &CancelStepsInput{} 403 } 404 405 output = &CancelStepsOutput{} 406 req = c.newRequest(op, input, output) 407 return 408} 409 410// CancelSteps API operation for Amazon Elastic MapReduce. 411// 412// Cancels a pending step or steps in a running cluster. Available only in Amazon 413// EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps 414// are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous; 415// it does not guarantee a step will be canceled, even if the request is successfully 416// submitted. You can only cancel steps that are in a PENDING state. 417// 418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 419// with awserr.Error's Code and Message methods to get detailed information about 420// the error. 421// 422// See the AWS API reference guide for Amazon Elastic MapReduce's 423// API operation CancelSteps for usage and error information. 424// 425// Returned Error Types: 426// * InternalServerError 427// Indicates that an error occurred while processing the request and that the 428// request was not completed. 429// 430// * InvalidRequestException 431// This exception occurs when there is something wrong with user input. 432// 433// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps 434func (c *EMR) CancelSteps(input *CancelStepsInput) (*CancelStepsOutput, error) { 435 req, out := c.CancelStepsRequest(input) 436 return out, req.Send() 437} 438 439// CancelStepsWithContext is the same as CancelSteps with the addition of 440// the ability to pass a context and additional request options. 441// 442// See CancelSteps for details on how to use this API operation. 443// 444// The context must be non-nil and will be used for request cancellation. If 445// the context is nil a panic will occur. In the future the SDK may create 446// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 447// for more information on using Contexts. 448func (c *EMR) CancelStepsWithContext(ctx aws.Context, input *CancelStepsInput, opts ...request.Option) (*CancelStepsOutput, error) { 449 req, out := c.CancelStepsRequest(input) 450 req.SetContext(ctx) 451 req.ApplyOptions(opts...) 452 return out, req.Send() 453} 454 455const opCreateSecurityConfiguration = "CreateSecurityConfiguration" 456 457// CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the 458// client's request for the CreateSecurityConfiguration operation. The "output" return 459// value will be populated with the request's response once the request completes 460// successfully. 461// 462// Use "Send" method on the returned Request to send the API call to the service. 463// the "output" return value is not valid until after Send returns without error. 464// 465// See CreateSecurityConfiguration for more information on using the CreateSecurityConfiguration 466// API call, and error handling. 467// 468// This method is useful when you want to inject custom logic or configuration 469// into the SDK's request lifecycle. Such as custom headers, or retry logic. 470// 471// 472// // Example sending a request using the CreateSecurityConfigurationRequest method. 473// req, resp := client.CreateSecurityConfigurationRequest(params) 474// 475// err := req.Send() 476// if err == nil { // resp is now filled 477// fmt.Println(resp) 478// } 479// 480// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration 481func (c *EMR) CreateSecurityConfigurationRequest(input *CreateSecurityConfigurationInput) (req *request.Request, output *CreateSecurityConfigurationOutput) { 482 op := &request.Operation{ 483 Name: opCreateSecurityConfiguration, 484 HTTPMethod: "POST", 485 HTTPPath: "/", 486 } 487 488 if input == nil { 489 input = &CreateSecurityConfigurationInput{} 490 } 491 492 output = &CreateSecurityConfigurationOutput{} 493 req = c.newRequest(op, input, output) 494 return 495} 496 497// CreateSecurityConfiguration API operation for Amazon Elastic MapReduce. 498// 499// Creates a security configuration, which is stored in the service and can 500// be specified when a cluster is created. 501// 502// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 503// with awserr.Error's Code and Message methods to get detailed information about 504// the error. 505// 506// See the AWS API reference guide for Amazon Elastic MapReduce's 507// API operation CreateSecurityConfiguration for usage and error information. 508// 509// Returned Error Types: 510// * InternalServerException 511// This exception occurs when there is an internal failure in the EMR service. 512// 513// * InvalidRequestException 514// This exception occurs when there is something wrong with user input. 515// 516// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration 517func (c *EMR) CreateSecurityConfiguration(input *CreateSecurityConfigurationInput) (*CreateSecurityConfigurationOutput, error) { 518 req, out := c.CreateSecurityConfigurationRequest(input) 519 return out, req.Send() 520} 521 522// CreateSecurityConfigurationWithContext is the same as CreateSecurityConfiguration with the addition of 523// the ability to pass a context and additional request options. 524// 525// See CreateSecurityConfiguration for details on how to use this API operation. 526// 527// The context must be non-nil and will be used for request cancellation. If 528// the context is nil a panic will occur. In the future the SDK may create 529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 530// for more information on using Contexts. 531func (c *EMR) CreateSecurityConfigurationWithContext(ctx aws.Context, input *CreateSecurityConfigurationInput, opts ...request.Option) (*CreateSecurityConfigurationOutput, error) { 532 req, out := c.CreateSecurityConfigurationRequest(input) 533 req.SetContext(ctx) 534 req.ApplyOptions(opts...) 535 return out, req.Send() 536} 537 538const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration" 539 540// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the 541// client's request for the DeleteSecurityConfiguration operation. The "output" return 542// value will be populated with the request's response once the request completes 543// successfully. 544// 545// Use "Send" method on the returned Request to send the API call to the service. 546// the "output" return value is not valid until after Send returns without error. 547// 548// See DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration 549// API call, and error handling. 550// 551// This method is useful when you want to inject custom logic or configuration 552// into the SDK's request lifecycle. Such as custom headers, or retry logic. 553// 554// 555// // Example sending a request using the DeleteSecurityConfigurationRequest method. 556// req, resp := client.DeleteSecurityConfigurationRequest(params) 557// 558// err := req.Send() 559// if err == nil { // resp is now filled 560// fmt.Println(resp) 561// } 562// 563// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration 564func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) { 565 op := &request.Operation{ 566 Name: opDeleteSecurityConfiguration, 567 HTTPMethod: "POST", 568 HTTPPath: "/", 569 } 570 571 if input == nil { 572 input = &DeleteSecurityConfigurationInput{} 573 } 574 575 output = &DeleteSecurityConfigurationOutput{} 576 req = c.newRequest(op, input, output) 577 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 578 return 579} 580 581// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce. 582// 583// Deletes a security configuration. 584// 585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 586// with awserr.Error's Code and Message methods to get detailed information about 587// the error. 588// 589// See the AWS API reference guide for Amazon Elastic MapReduce's 590// API operation DeleteSecurityConfiguration for usage and error information. 591// 592// Returned Error Types: 593// * InternalServerException 594// This exception occurs when there is an internal failure in the EMR service. 595// 596// * InvalidRequestException 597// This exception occurs when there is something wrong with user input. 598// 599// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration 600func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) { 601 req, out := c.DeleteSecurityConfigurationRequest(input) 602 return out, req.Send() 603} 604 605// DeleteSecurityConfigurationWithContext is the same as DeleteSecurityConfiguration with the addition of 606// the ability to pass a context and additional request options. 607// 608// See DeleteSecurityConfiguration for details on how to use this API operation. 609// 610// The context must be non-nil and will be used for request cancellation. If 611// the context is nil a panic will occur. In the future the SDK may create 612// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 613// for more information on using Contexts. 614func (c *EMR) DeleteSecurityConfigurationWithContext(ctx aws.Context, input *DeleteSecurityConfigurationInput, opts ...request.Option) (*DeleteSecurityConfigurationOutput, error) { 615 req, out := c.DeleteSecurityConfigurationRequest(input) 616 req.SetContext(ctx) 617 req.ApplyOptions(opts...) 618 return out, req.Send() 619} 620 621const opDescribeCluster = "DescribeCluster" 622 623// DescribeClusterRequest generates a "aws/request.Request" representing the 624// client's request for the DescribeCluster operation. The "output" return 625// value will be populated with the request's response once the request completes 626// successfully. 627// 628// Use "Send" method on the returned Request to send the API call to the service. 629// the "output" return value is not valid until after Send returns without error. 630// 631// See DescribeCluster for more information on using the DescribeCluster 632// API call, and error handling. 633// 634// This method is useful when you want to inject custom logic or configuration 635// into the SDK's request lifecycle. Such as custom headers, or retry logic. 636// 637// 638// // Example sending a request using the DescribeClusterRequest method. 639// req, resp := client.DescribeClusterRequest(params) 640// 641// err := req.Send() 642// if err == nil { // resp is now filled 643// fmt.Println(resp) 644// } 645// 646// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster 647func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { 648 op := &request.Operation{ 649 Name: opDescribeCluster, 650 HTTPMethod: "POST", 651 HTTPPath: "/", 652 } 653 654 if input == nil { 655 input = &DescribeClusterInput{} 656 } 657 658 output = &DescribeClusterOutput{} 659 req = c.newRequest(op, input, output) 660 return 661} 662 663// DescribeCluster API operation for Amazon Elastic MapReduce. 664// 665// Provides cluster-level details including status, hardware and software configuration, 666// VPC settings, and so on. 667// 668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 669// with awserr.Error's Code and Message methods to get detailed information about 670// the error. 671// 672// See the AWS API reference guide for Amazon Elastic MapReduce's 673// API operation DescribeCluster for usage and error information. 674// 675// Returned Error Types: 676// * InternalServerException 677// This exception occurs when there is an internal failure in the EMR service. 678// 679// * InvalidRequestException 680// This exception occurs when there is something wrong with user input. 681// 682// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster 683func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { 684 req, out := c.DescribeClusterRequest(input) 685 return out, req.Send() 686} 687 688// DescribeClusterWithContext is the same as DescribeCluster with the addition of 689// the ability to pass a context and additional request options. 690// 691// See DescribeCluster for details on how to use this API operation. 692// 693// The context must be non-nil and will be used for request cancellation. If 694// the context is nil a panic will occur. In the future the SDK may create 695// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 696// for more information on using Contexts. 697func (c *EMR) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { 698 req, out := c.DescribeClusterRequest(input) 699 req.SetContext(ctx) 700 req.ApplyOptions(opts...) 701 return out, req.Send() 702} 703 704const opDescribeJobFlows = "DescribeJobFlows" 705 706// DescribeJobFlowsRequest generates a "aws/request.Request" representing the 707// client's request for the DescribeJobFlows operation. The "output" return 708// value will be populated with the request's response once the request completes 709// successfully. 710// 711// Use "Send" method on the returned Request to send the API call to the service. 712// the "output" return value is not valid until after Send returns without error. 713// 714// See DescribeJobFlows for more information on using the DescribeJobFlows 715// API call, and error handling. 716// 717// This method is useful when you want to inject custom logic or configuration 718// into the SDK's request lifecycle. Such as custom headers, or retry logic. 719// 720// 721// // Example sending a request using the DescribeJobFlowsRequest method. 722// req, resp := client.DescribeJobFlowsRequest(params) 723// 724// err := req.Send() 725// if err == nil { // resp is now filled 726// fmt.Println(resp) 727// } 728// 729// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows 730// 731// Deprecated: DescribeJobFlows has been deprecated 732func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) { 733 if c.Client.Config.Logger != nil { 734 c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated") 735 } 736 op := &request.Operation{ 737 Name: opDescribeJobFlows, 738 HTTPMethod: "POST", 739 HTTPPath: "/", 740 } 741 742 if input == nil { 743 input = &DescribeJobFlowsInput{} 744 } 745 746 output = &DescribeJobFlowsOutput{} 747 req = c.newRequest(op, input, output) 748 return 749} 750 751// DescribeJobFlows API operation for Amazon Elastic MapReduce. 752// 753// This API is deprecated and will eventually be removed. We recommend you use 754// ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions 755// instead. 756// 757// DescribeJobFlows returns a list of job flows that match all of the supplied 758// parameters. The parameters can include a list of job flow IDs, job flow states, 759// and restrictions on job flow creation date and time. 760// 761// Regardless of supplied parameters, only job flows created within the last 762// two months are returned. 763// 764// If no parameters are supplied, then job flows matching either of the following 765// criteria are returned: 766// 767// * Job flows created and completed in the last two weeks 768// 769// * Job flows created within the last two months that are in one of the 770// following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING 771// 772// Amazon EMR can return a maximum of 512 job flow descriptions. 773// 774// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 775// with awserr.Error's Code and Message methods to get detailed information about 776// the error. 777// 778// See the AWS API reference guide for Amazon Elastic MapReduce's 779// API operation DescribeJobFlows for usage and error information. 780// 781// Returned Error Types: 782// * InternalServerError 783// Indicates that an error occurred while processing the request and that the 784// request was not completed. 785// 786// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows 787// 788// Deprecated: DescribeJobFlows has been deprecated 789func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) { 790 req, out := c.DescribeJobFlowsRequest(input) 791 return out, req.Send() 792} 793 794// DescribeJobFlowsWithContext is the same as DescribeJobFlows with the addition of 795// the ability to pass a context and additional request options. 796// 797// See DescribeJobFlows for details on how to use this API operation. 798// 799// The context must be non-nil and will be used for request cancellation. If 800// the context is nil a panic will occur. In the future the SDK may create 801// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 802// for more information on using Contexts. 803// 804// Deprecated: DescribeJobFlowsWithContext has been deprecated 805func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlowsInput, opts ...request.Option) (*DescribeJobFlowsOutput, error) { 806 req, out := c.DescribeJobFlowsRequest(input) 807 req.SetContext(ctx) 808 req.ApplyOptions(opts...) 809 return out, req.Send() 810} 811 812const opDescribeNotebookExecution = "DescribeNotebookExecution" 813 814// DescribeNotebookExecutionRequest generates a "aws/request.Request" representing the 815// client's request for the DescribeNotebookExecution operation. The "output" return 816// value will be populated with the request's response once the request completes 817// successfully. 818// 819// Use "Send" method on the returned Request to send the API call to the service. 820// the "output" return value is not valid until after Send returns without error. 821// 822// See DescribeNotebookExecution for more information on using the DescribeNotebookExecution 823// API call, and error handling. 824// 825// This method is useful when you want to inject custom logic or configuration 826// into the SDK's request lifecycle. Such as custom headers, or retry logic. 827// 828// 829// // Example sending a request using the DescribeNotebookExecutionRequest method. 830// req, resp := client.DescribeNotebookExecutionRequest(params) 831// 832// err := req.Send() 833// if err == nil { // resp is now filled 834// fmt.Println(resp) 835// } 836// 837// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution 838func (c *EMR) DescribeNotebookExecutionRequest(input *DescribeNotebookExecutionInput) (req *request.Request, output *DescribeNotebookExecutionOutput) { 839 op := &request.Operation{ 840 Name: opDescribeNotebookExecution, 841 HTTPMethod: "POST", 842 HTTPPath: "/", 843 } 844 845 if input == nil { 846 input = &DescribeNotebookExecutionInput{} 847 } 848 849 output = &DescribeNotebookExecutionOutput{} 850 req = c.newRequest(op, input, output) 851 return 852} 853 854// DescribeNotebookExecution API operation for Amazon Elastic MapReduce. 855// 856// Provides details of a notebook execution. 857// 858// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 859// with awserr.Error's Code and Message methods to get detailed information about 860// the error. 861// 862// See the AWS API reference guide for Amazon Elastic MapReduce's 863// API operation DescribeNotebookExecution for usage and error information. 864// 865// Returned Error Types: 866// * InternalServerError 867// Indicates that an error occurred while processing the request and that the 868// request was not completed. 869// 870// * InvalidRequestException 871// This exception occurs when there is something wrong with user input. 872// 873// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeNotebookExecution 874func (c *EMR) DescribeNotebookExecution(input *DescribeNotebookExecutionInput) (*DescribeNotebookExecutionOutput, error) { 875 req, out := c.DescribeNotebookExecutionRequest(input) 876 return out, req.Send() 877} 878 879// DescribeNotebookExecutionWithContext is the same as DescribeNotebookExecution with the addition of 880// the ability to pass a context and additional request options. 881// 882// See DescribeNotebookExecution for details on how to use this API operation. 883// 884// The context must be non-nil and will be used for request cancellation. If 885// the context is nil a panic will occur. In the future the SDK may create 886// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 887// for more information on using Contexts. 888func (c *EMR) DescribeNotebookExecutionWithContext(ctx aws.Context, input *DescribeNotebookExecutionInput, opts ...request.Option) (*DescribeNotebookExecutionOutput, error) { 889 req, out := c.DescribeNotebookExecutionRequest(input) 890 req.SetContext(ctx) 891 req.ApplyOptions(opts...) 892 return out, req.Send() 893} 894 895const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" 896 897// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the 898// client's request for the DescribeSecurityConfiguration operation. The "output" return 899// value will be populated with the request's response once the request completes 900// successfully. 901// 902// Use "Send" method on the returned Request to send the API call to the service. 903// the "output" return value is not valid until after Send returns without error. 904// 905// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration 906// API call, and error handling. 907// 908// This method is useful when you want to inject custom logic or configuration 909// into the SDK's request lifecycle. Such as custom headers, or retry logic. 910// 911// 912// // Example sending a request using the DescribeSecurityConfigurationRequest method. 913// req, resp := client.DescribeSecurityConfigurationRequest(params) 914// 915// err := req.Send() 916// if err == nil { // resp is now filled 917// fmt.Println(resp) 918// } 919// 920// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration 921func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { 922 op := &request.Operation{ 923 Name: opDescribeSecurityConfiguration, 924 HTTPMethod: "POST", 925 HTTPPath: "/", 926 } 927 928 if input == nil { 929 input = &DescribeSecurityConfigurationInput{} 930 } 931 932 output = &DescribeSecurityConfigurationOutput{} 933 req = c.newRequest(op, input, output) 934 return 935} 936 937// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. 938// 939// Provides the details of a security configuration by returning the configuration 940// JSON. 941// 942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 943// with awserr.Error's Code and Message methods to get detailed information about 944// the error. 945// 946// See the AWS API reference guide for Amazon Elastic MapReduce's 947// API operation DescribeSecurityConfiguration for usage and error information. 948// 949// Returned Error Types: 950// * InternalServerException 951// This exception occurs when there is an internal failure in the EMR service. 952// 953// * InvalidRequestException 954// This exception occurs when there is something wrong with user input. 955// 956// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration 957func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { 958 req, out := c.DescribeSecurityConfigurationRequest(input) 959 return out, req.Send() 960} 961 962// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of 963// the ability to pass a context and additional request options. 964// 965// See DescribeSecurityConfiguration for details on how to use this API operation. 966// 967// The context must be non-nil and will be used for request cancellation. If 968// the context is nil a panic will occur. In the future the SDK may create 969// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 970// for more information on using Contexts. 971func (c *EMR) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { 972 req, out := c.DescribeSecurityConfigurationRequest(input) 973 req.SetContext(ctx) 974 req.ApplyOptions(opts...) 975 return out, req.Send() 976} 977 978const opDescribeStep = "DescribeStep" 979 980// DescribeStepRequest generates a "aws/request.Request" representing the 981// client's request for the DescribeStep operation. The "output" return 982// value will be populated with the request's response once the request completes 983// successfully. 984// 985// Use "Send" method on the returned Request to send the API call to the service. 986// the "output" return value is not valid until after Send returns without error. 987// 988// See DescribeStep for more information on using the DescribeStep 989// API call, and error handling. 990// 991// This method is useful when you want to inject custom logic or configuration 992// into the SDK's request lifecycle. Such as custom headers, or retry logic. 993// 994// 995// // Example sending a request using the DescribeStepRequest method. 996// req, resp := client.DescribeStepRequest(params) 997// 998// err := req.Send() 999// if err == nil { // resp is now filled 1000// fmt.Println(resp) 1001// } 1002// 1003// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep 1004func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { 1005 op := &request.Operation{ 1006 Name: opDescribeStep, 1007 HTTPMethod: "POST", 1008 HTTPPath: "/", 1009 } 1010 1011 if input == nil { 1012 input = &DescribeStepInput{} 1013 } 1014 1015 output = &DescribeStepOutput{} 1016 req = c.newRequest(op, input, output) 1017 return 1018} 1019 1020// DescribeStep API operation for Amazon Elastic MapReduce. 1021// 1022// Provides more detail about the cluster step. 1023// 1024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1025// with awserr.Error's Code and Message methods to get detailed information about 1026// the error. 1027// 1028// See the AWS API reference guide for Amazon Elastic MapReduce's 1029// API operation DescribeStep for usage and error information. 1030// 1031// Returned Error Types: 1032// * InternalServerException 1033// This exception occurs when there is an internal failure in the EMR service. 1034// 1035// * InvalidRequestException 1036// This exception occurs when there is something wrong with user input. 1037// 1038// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep 1039func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { 1040 req, out := c.DescribeStepRequest(input) 1041 return out, req.Send() 1042} 1043 1044// DescribeStepWithContext is the same as DescribeStep with the addition of 1045// the ability to pass a context and additional request options. 1046// 1047// See DescribeStep for details on how to use this API operation. 1048// 1049// The context must be non-nil and will be used for request cancellation. If 1050// the context is nil a panic will occur. In the future the SDK may create 1051// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1052// for more information on using Contexts. 1053func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) { 1054 req, out := c.DescribeStepRequest(input) 1055 req.SetContext(ctx) 1056 req.ApplyOptions(opts...) 1057 return out, req.Send() 1058} 1059 1060const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" 1061 1062// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 1063// client's request for the GetBlockPublicAccessConfiguration operation. The "output" return 1064// value will be populated with the request's response once the request completes 1065// successfully. 1066// 1067// Use "Send" method on the returned Request to send the API call to the service. 1068// the "output" return value is not valid until after Send returns without error. 1069// 1070// See GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration 1071// API call, and error handling. 1072// 1073// This method is useful when you want to inject custom logic or configuration 1074// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1075// 1076// 1077// // Example sending a request using the GetBlockPublicAccessConfigurationRequest method. 1078// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) 1079// 1080// err := req.Send() 1081// if err == nil { // resp is now filled 1082// fmt.Println(resp) 1083// } 1084// 1085// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1086func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { 1087 op := &request.Operation{ 1088 Name: opGetBlockPublicAccessConfiguration, 1089 HTTPMethod: "POST", 1090 HTTPPath: "/", 1091 } 1092 1093 if input == nil { 1094 input = &GetBlockPublicAccessConfigurationInput{} 1095 } 1096 1097 output = &GetBlockPublicAccessConfigurationOutput{} 1098 req = c.newRequest(op, input, output) 1099 return 1100} 1101 1102// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 1103// 1104// Returns the Amazon EMR block public access configuration for your AWS account 1105// in the current Region. For more information see Configure Block Public Access 1106// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 1107// in the Amazon EMR Management Guide. 1108// 1109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1110// with awserr.Error's Code and Message methods to get detailed information about 1111// the error. 1112// 1113// See the AWS API reference guide for Amazon Elastic MapReduce's 1114// API operation GetBlockPublicAccessConfiguration for usage and error information. 1115// 1116// Returned Error Types: 1117// * InternalServerException 1118// This exception occurs when there is an internal failure in the EMR service. 1119// 1120// * InvalidRequestException 1121// This exception occurs when there is something wrong with user input. 1122// 1123// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1124func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { 1125 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1126 return out, req.Send() 1127} 1128 1129// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of 1130// the ability to pass a context and additional request options. 1131// 1132// See GetBlockPublicAccessConfiguration for details on how to use this API operation. 1133// 1134// The context must be non-nil and will be used for request cancellation. If 1135// the context is nil a panic will occur. In the future the SDK may create 1136// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1137// for more information on using Contexts. 1138func (c *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { 1139 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1140 req.SetContext(ctx) 1141 req.ApplyOptions(opts...) 1142 return out, req.Send() 1143} 1144 1145const opGetManagedScalingPolicy = "GetManagedScalingPolicy" 1146 1147// GetManagedScalingPolicyRequest generates a "aws/request.Request" representing the 1148// client's request for the GetManagedScalingPolicy operation. The "output" return 1149// value will be populated with the request's response once the request completes 1150// successfully. 1151// 1152// Use "Send" method on the returned Request to send the API call to the service. 1153// the "output" return value is not valid until after Send returns without error. 1154// 1155// See GetManagedScalingPolicy for more information on using the GetManagedScalingPolicy 1156// API call, and error handling. 1157// 1158// This method is useful when you want to inject custom logic or configuration 1159// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1160// 1161// 1162// // Example sending a request using the GetManagedScalingPolicyRequest method. 1163// req, resp := client.GetManagedScalingPolicyRequest(params) 1164// 1165// err := req.Send() 1166// if err == nil { // resp is now filled 1167// fmt.Println(resp) 1168// } 1169// 1170// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1171func (c *EMR) GetManagedScalingPolicyRequest(input *GetManagedScalingPolicyInput) (req *request.Request, output *GetManagedScalingPolicyOutput) { 1172 op := &request.Operation{ 1173 Name: opGetManagedScalingPolicy, 1174 HTTPMethod: "POST", 1175 HTTPPath: "/", 1176 } 1177 1178 if input == nil { 1179 input = &GetManagedScalingPolicyInput{} 1180 } 1181 1182 output = &GetManagedScalingPolicyOutput{} 1183 req = c.newRequest(op, input, output) 1184 return 1185} 1186 1187// GetManagedScalingPolicy API operation for Amazon Elastic MapReduce. 1188// 1189// Fetches the attached managed scaling policy for an Amazon EMR cluster. 1190// 1191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1192// with awserr.Error's Code and Message methods to get detailed information about 1193// the error. 1194// 1195// See the AWS API reference guide for Amazon Elastic MapReduce's 1196// API operation GetManagedScalingPolicy for usage and error information. 1197// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1198func (c *EMR) GetManagedScalingPolicy(input *GetManagedScalingPolicyInput) (*GetManagedScalingPolicyOutput, error) { 1199 req, out := c.GetManagedScalingPolicyRequest(input) 1200 return out, req.Send() 1201} 1202 1203// GetManagedScalingPolicyWithContext is the same as GetManagedScalingPolicy with the addition of 1204// the ability to pass a context and additional request options. 1205// 1206// See GetManagedScalingPolicy for details on how to use this API operation. 1207// 1208// The context must be non-nil and will be used for request cancellation. If 1209// the context is nil a panic will occur. In the future the SDK may create 1210// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1211// for more information on using Contexts. 1212func (c *EMR) GetManagedScalingPolicyWithContext(ctx aws.Context, input *GetManagedScalingPolicyInput, opts ...request.Option) (*GetManagedScalingPolicyOutput, error) { 1213 req, out := c.GetManagedScalingPolicyRequest(input) 1214 req.SetContext(ctx) 1215 req.ApplyOptions(opts...) 1216 return out, req.Send() 1217} 1218 1219const opListBootstrapActions = "ListBootstrapActions" 1220 1221// ListBootstrapActionsRequest generates a "aws/request.Request" representing the 1222// client's request for the ListBootstrapActions operation. The "output" return 1223// value will be populated with the request's response once the request completes 1224// successfully. 1225// 1226// Use "Send" method on the returned Request to send the API call to the service. 1227// the "output" return value is not valid until after Send returns without error. 1228// 1229// See ListBootstrapActions for more information on using the ListBootstrapActions 1230// API call, and error handling. 1231// 1232// This method is useful when you want to inject custom logic or configuration 1233// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1234// 1235// 1236// // Example sending a request using the ListBootstrapActionsRequest method. 1237// req, resp := client.ListBootstrapActionsRequest(params) 1238// 1239// err := req.Send() 1240// if err == nil { // resp is now filled 1241// fmt.Println(resp) 1242// } 1243// 1244// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1245func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { 1246 op := &request.Operation{ 1247 Name: opListBootstrapActions, 1248 HTTPMethod: "POST", 1249 HTTPPath: "/", 1250 Paginator: &request.Paginator{ 1251 InputTokens: []string{"Marker"}, 1252 OutputTokens: []string{"Marker"}, 1253 LimitToken: "", 1254 TruncationToken: "", 1255 }, 1256 } 1257 1258 if input == nil { 1259 input = &ListBootstrapActionsInput{} 1260 } 1261 1262 output = &ListBootstrapActionsOutput{} 1263 req = c.newRequest(op, input, output) 1264 return 1265} 1266 1267// ListBootstrapActions API operation for Amazon Elastic MapReduce. 1268// 1269// Provides information about the bootstrap actions associated with a cluster. 1270// 1271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1272// with awserr.Error's Code and Message methods to get detailed information about 1273// the error. 1274// 1275// See the AWS API reference guide for Amazon Elastic MapReduce's 1276// API operation ListBootstrapActions for usage and error information. 1277// 1278// Returned Error Types: 1279// * InternalServerException 1280// This exception occurs when there is an internal failure in the EMR service. 1281// 1282// * InvalidRequestException 1283// This exception occurs when there is something wrong with user input. 1284// 1285// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1286func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { 1287 req, out := c.ListBootstrapActionsRequest(input) 1288 return out, req.Send() 1289} 1290 1291// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of 1292// the ability to pass a context and additional request options. 1293// 1294// See ListBootstrapActions for details on how to use this API operation. 1295// 1296// The context must be non-nil and will be used for request cancellation. If 1297// the context is nil a panic will occur. In the future the SDK may create 1298// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1299// for more information on using Contexts. 1300func (c *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) { 1301 req, out := c.ListBootstrapActionsRequest(input) 1302 req.SetContext(ctx) 1303 req.ApplyOptions(opts...) 1304 return out, req.Send() 1305} 1306 1307// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, 1308// calling the "fn" function with the response data for each page. To stop 1309// iterating, return false from the fn function. 1310// 1311// See ListBootstrapActions method for more information on how to use this operation. 1312// 1313// Note: This operation can generate multiple requests to a service. 1314// 1315// // Example iterating over at most 3 pages of a ListBootstrapActions operation. 1316// pageNum := 0 1317// err := client.ListBootstrapActionsPages(params, 1318// func(page *emr.ListBootstrapActionsOutput, lastPage bool) bool { 1319// pageNum++ 1320// fmt.Println(page) 1321// return pageNum <= 3 1322// }) 1323// 1324func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error { 1325 return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn) 1326} 1327 1328// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except 1329// it takes a Context and allows setting request options on the pages. 1330// 1331// The context must be non-nil and will be used for request cancellation. If 1332// the context is nil a panic will occur. In the future the SDK may create 1333// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1334// for more information on using Contexts. 1335func (c *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error { 1336 p := request.Pagination{ 1337 NewRequest: func() (*request.Request, error) { 1338 var inCpy *ListBootstrapActionsInput 1339 if input != nil { 1340 tmp := *input 1341 inCpy = &tmp 1342 } 1343 req, _ := c.ListBootstrapActionsRequest(inCpy) 1344 req.SetContext(ctx) 1345 req.ApplyOptions(opts...) 1346 return req, nil 1347 }, 1348 } 1349 1350 for p.Next() { 1351 if !fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage()) { 1352 break 1353 } 1354 } 1355 1356 return p.Err() 1357} 1358 1359const opListClusters = "ListClusters" 1360 1361// ListClustersRequest generates a "aws/request.Request" representing the 1362// client's request for the ListClusters operation. The "output" return 1363// value will be populated with the request's response once the request completes 1364// successfully. 1365// 1366// Use "Send" method on the returned Request to send the API call to the service. 1367// the "output" return value is not valid until after Send returns without error. 1368// 1369// See ListClusters for more information on using the ListClusters 1370// API call, and error handling. 1371// 1372// This method is useful when you want to inject custom logic or configuration 1373// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1374// 1375// 1376// // Example sending a request using the ListClustersRequest method. 1377// req, resp := client.ListClustersRequest(params) 1378// 1379// err := req.Send() 1380// if err == nil { // resp is now filled 1381// fmt.Println(resp) 1382// } 1383// 1384// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1385func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1386 op := &request.Operation{ 1387 Name: opListClusters, 1388 HTTPMethod: "POST", 1389 HTTPPath: "/", 1390 Paginator: &request.Paginator{ 1391 InputTokens: []string{"Marker"}, 1392 OutputTokens: []string{"Marker"}, 1393 LimitToken: "", 1394 TruncationToken: "", 1395 }, 1396 } 1397 1398 if input == nil { 1399 input = &ListClustersInput{} 1400 } 1401 1402 output = &ListClustersOutput{} 1403 req = c.newRequest(op, input, output) 1404 return 1405} 1406 1407// ListClusters API operation for Amazon Elastic MapReduce. 1408// 1409// Provides the status of all clusters visible to this AWS account. Allows you 1410// to filter the list of clusters based on certain criteria; for example, filtering 1411// by cluster creation date and time or by status. This call returns a maximum 1412// of 50 clusters per call, but returns a marker to track the paging of the 1413// cluster list across multiple ListClusters calls. 1414// 1415// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1416// with awserr.Error's Code and Message methods to get detailed information about 1417// the error. 1418// 1419// See the AWS API reference guide for Amazon Elastic MapReduce's 1420// API operation ListClusters for usage and error information. 1421// 1422// Returned Error Types: 1423// * InternalServerException 1424// This exception occurs when there is an internal failure in the EMR service. 1425// 1426// * InvalidRequestException 1427// This exception occurs when there is something wrong with user input. 1428// 1429// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1430func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1431 req, out := c.ListClustersRequest(input) 1432 return out, req.Send() 1433} 1434 1435// ListClustersWithContext is the same as ListClusters with the addition of 1436// the ability to pass a context and additional request options. 1437// 1438// See ListClusters for details on how to use this API operation. 1439// 1440// The context must be non-nil and will be used for request cancellation. If 1441// the context is nil a panic will occur. In the future the SDK may create 1442// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1443// for more information on using Contexts. 1444func (c *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1445 req, out := c.ListClustersRequest(input) 1446 req.SetContext(ctx) 1447 req.ApplyOptions(opts...) 1448 return out, req.Send() 1449} 1450 1451// ListClustersPages iterates over the pages of a ListClusters operation, 1452// calling the "fn" function with the response data for each page. To stop 1453// iterating, return false from the fn function. 1454// 1455// See ListClusters method for more information on how to use this operation. 1456// 1457// Note: This operation can generate multiple requests to a service. 1458// 1459// // Example iterating over at most 3 pages of a ListClusters operation. 1460// pageNum := 0 1461// err := client.ListClustersPages(params, 1462// func(page *emr.ListClustersOutput, lastPage bool) bool { 1463// pageNum++ 1464// fmt.Println(page) 1465// return pageNum <= 3 1466// }) 1467// 1468func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 1469 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 1470} 1471 1472// ListClustersPagesWithContext same as ListClustersPages except 1473// it takes a Context and allows setting request options on the pages. 1474// 1475// The context must be non-nil and will be used for request cancellation. If 1476// the context is nil a panic will occur. In the future the SDK may create 1477// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1478// for more information on using Contexts. 1479func (c *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 1480 p := request.Pagination{ 1481 NewRequest: func() (*request.Request, error) { 1482 var inCpy *ListClustersInput 1483 if input != nil { 1484 tmp := *input 1485 inCpy = &tmp 1486 } 1487 req, _ := c.ListClustersRequest(inCpy) 1488 req.SetContext(ctx) 1489 req.ApplyOptions(opts...) 1490 return req, nil 1491 }, 1492 } 1493 1494 for p.Next() { 1495 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 1496 break 1497 } 1498 } 1499 1500 return p.Err() 1501} 1502 1503const opListInstanceFleets = "ListInstanceFleets" 1504 1505// ListInstanceFleetsRequest generates a "aws/request.Request" representing the 1506// client's request for the ListInstanceFleets operation. The "output" return 1507// value will be populated with the request's response once the request completes 1508// successfully. 1509// 1510// Use "Send" method on the returned Request to send the API call to the service. 1511// the "output" return value is not valid until after Send returns without error. 1512// 1513// See ListInstanceFleets for more information on using the ListInstanceFleets 1514// API call, and error handling. 1515// 1516// This method is useful when you want to inject custom logic or configuration 1517// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1518// 1519// 1520// // Example sending a request using the ListInstanceFleetsRequest method. 1521// req, resp := client.ListInstanceFleetsRequest(params) 1522// 1523// err := req.Send() 1524// if err == nil { // resp is now filled 1525// fmt.Println(resp) 1526// } 1527// 1528// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 1529func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) { 1530 op := &request.Operation{ 1531 Name: opListInstanceFleets, 1532 HTTPMethod: "POST", 1533 HTTPPath: "/", 1534 Paginator: &request.Paginator{ 1535 InputTokens: []string{"Marker"}, 1536 OutputTokens: []string{"Marker"}, 1537 LimitToken: "", 1538 TruncationToken: "", 1539 }, 1540 } 1541 1542 if input == nil { 1543 input = &ListInstanceFleetsInput{} 1544 } 1545 1546 output = &ListInstanceFleetsOutput{} 1547 req = c.newRequest(op, input, output) 1548 return 1549} 1550 1551// ListInstanceFleets API operation for Amazon Elastic MapReduce. 1552// 1553// Lists all available details about the instance fleets in a cluster. 1554// 1555// The instance fleet configuration is available only in Amazon EMR versions 1556// 4.8.0 and later, excluding 5.0.x versions. 1557// 1558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1559// with awserr.Error's Code and Message methods to get detailed information about 1560// the error. 1561// 1562// See the AWS API reference guide for Amazon Elastic MapReduce's 1563// API operation ListInstanceFleets for usage and error information. 1564// 1565// Returned Error Types: 1566// * InternalServerException 1567// This exception occurs when there is an internal failure in the EMR service. 1568// 1569// * InvalidRequestException 1570// This exception occurs when there is something wrong with user input. 1571// 1572// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 1573func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) { 1574 req, out := c.ListInstanceFleetsRequest(input) 1575 return out, req.Send() 1576} 1577 1578// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of 1579// the ability to pass a context and additional request options. 1580// 1581// See ListInstanceFleets for details on how to use this API operation. 1582// 1583// The context must be non-nil and will be used for request cancellation. If 1584// the context is nil a panic will occur. In the future the SDK may create 1585// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1586// for more information on using Contexts. 1587func (c *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) { 1588 req, out := c.ListInstanceFleetsRequest(input) 1589 req.SetContext(ctx) 1590 req.ApplyOptions(opts...) 1591 return out, req.Send() 1592} 1593 1594// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation, 1595// calling the "fn" function with the response data for each page. To stop 1596// iterating, return false from the fn function. 1597// 1598// See ListInstanceFleets method for more information on how to use this operation. 1599// 1600// Note: This operation can generate multiple requests to a service. 1601// 1602// // Example iterating over at most 3 pages of a ListInstanceFleets operation. 1603// pageNum := 0 1604// err := client.ListInstanceFleetsPages(params, 1605// func(page *emr.ListInstanceFleetsOutput, lastPage bool) bool { 1606// pageNum++ 1607// fmt.Println(page) 1608// return pageNum <= 3 1609// }) 1610// 1611func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error { 1612 return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn) 1613} 1614 1615// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except 1616// it takes a Context and allows setting request options on the pages. 1617// 1618// The context must be non-nil and will be used for request cancellation. If 1619// the context is nil a panic will occur. In the future the SDK may create 1620// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1621// for more information on using Contexts. 1622func (c *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error { 1623 p := request.Pagination{ 1624 NewRequest: func() (*request.Request, error) { 1625 var inCpy *ListInstanceFleetsInput 1626 if input != nil { 1627 tmp := *input 1628 inCpy = &tmp 1629 } 1630 req, _ := c.ListInstanceFleetsRequest(inCpy) 1631 req.SetContext(ctx) 1632 req.ApplyOptions(opts...) 1633 return req, nil 1634 }, 1635 } 1636 1637 for p.Next() { 1638 if !fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage()) { 1639 break 1640 } 1641 } 1642 1643 return p.Err() 1644} 1645 1646const opListInstanceGroups = "ListInstanceGroups" 1647 1648// ListInstanceGroupsRequest generates a "aws/request.Request" representing the 1649// client's request for the ListInstanceGroups operation. The "output" return 1650// value will be populated with the request's response once the request completes 1651// successfully. 1652// 1653// Use "Send" method on the returned Request to send the API call to the service. 1654// the "output" return value is not valid until after Send returns without error. 1655// 1656// See ListInstanceGroups for more information on using the ListInstanceGroups 1657// API call, and error handling. 1658// 1659// This method is useful when you want to inject custom logic or configuration 1660// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1661// 1662// 1663// // Example sending a request using the ListInstanceGroupsRequest method. 1664// req, resp := client.ListInstanceGroupsRequest(params) 1665// 1666// err := req.Send() 1667// if err == nil { // resp is now filled 1668// fmt.Println(resp) 1669// } 1670// 1671// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 1672func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { 1673 op := &request.Operation{ 1674 Name: opListInstanceGroups, 1675 HTTPMethod: "POST", 1676 HTTPPath: "/", 1677 Paginator: &request.Paginator{ 1678 InputTokens: []string{"Marker"}, 1679 OutputTokens: []string{"Marker"}, 1680 LimitToken: "", 1681 TruncationToken: "", 1682 }, 1683 } 1684 1685 if input == nil { 1686 input = &ListInstanceGroupsInput{} 1687 } 1688 1689 output = &ListInstanceGroupsOutput{} 1690 req = c.newRequest(op, input, output) 1691 return 1692} 1693 1694// ListInstanceGroups API operation for Amazon Elastic MapReduce. 1695// 1696// Provides all available details about the instance groups in a cluster. 1697// 1698// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1699// with awserr.Error's Code and Message methods to get detailed information about 1700// the error. 1701// 1702// See the AWS API reference guide for Amazon Elastic MapReduce's 1703// API operation ListInstanceGroups for usage and error information. 1704// 1705// Returned Error Types: 1706// * InternalServerException 1707// This exception occurs when there is an internal failure in the EMR service. 1708// 1709// * InvalidRequestException 1710// This exception occurs when there is something wrong with user input. 1711// 1712// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 1713func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { 1714 req, out := c.ListInstanceGroupsRequest(input) 1715 return out, req.Send() 1716} 1717 1718// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of 1719// the ability to pass a context and additional request options. 1720// 1721// See ListInstanceGroups for details on how to use this API operation. 1722// 1723// The context must be non-nil and will be used for request cancellation. If 1724// the context is nil a panic will occur. In the future the SDK may create 1725// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1726// for more information on using Contexts. 1727func (c *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) { 1728 req, out := c.ListInstanceGroupsRequest(input) 1729 req.SetContext(ctx) 1730 req.ApplyOptions(opts...) 1731 return out, req.Send() 1732} 1733 1734// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, 1735// calling the "fn" function with the response data for each page. To stop 1736// iterating, return false from the fn function. 1737// 1738// See ListInstanceGroups method for more information on how to use this operation. 1739// 1740// Note: This operation can generate multiple requests to a service. 1741// 1742// // Example iterating over at most 3 pages of a ListInstanceGroups operation. 1743// pageNum := 0 1744// err := client.ListInstanceGroupsPages(params, 1745// func(page *emr.ListInstanceGroupsOutput, lastPage bool) bool { 1746// pageNum++ 1747// fmt.Println(page) 1748// return pageNum <= 3 1749// }) 1750// 1751func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error { 1752 return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1753} 1754 1755// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except 1756// it takes a Context and allows setting request options on the pages. 1757// 1758// The context must be non-nil and will be used for request cancellation. If 1759// the context is nil a panic will occur. In the future the SDK may create 1760// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1761// for more information on using Contexts. 1762func (c *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error { 1763 p := request.Pagination{ 1764 NewRequest: func() (*request.Request, error) { 1765 var inCpy *ListInstanceGroupsInput 1766 if input != nil { 1767 tmp := *input 1768 inCpy = &tmp 1769 } 1770 req, _ := c.ListInstanceGroupsRequest(inCpy) 1771 req.SetContext(ctx) 1772 req.ApplyOptions(opts...) 1773 return req, nil 1774 }, 1775 } 1776 1777 for p.Next() { 1778 if !fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage()) { 1779 break 1780 } 1781 } 1782 1783 return p.Err() 1784} 1785 1786const opListInstances = "ListInstances" 1787 1788// ListInstancesRequest generates a "aws/request.Request" representing the 1789// client's request for the ListInstances operation. The "output" return 1790// value will be populated with the request's response once the request completes 1791// successfully. 1792// 1793// Use "Send" method on the returned Request to send the API call to the service. 1794// the "output" return value is not valid until after Send returns without error. 1795// 1796// See ListInstances for more information on using the ListInstances 1797// API call, and error handling. 1798// 1799// This method is useful when you want to inject custom logic or configuration 1800// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1801// 1802// 1803// // Example sending a request using the ListInstancesRequest method. 1804// req, resp := client.ListInstancesRequest(params) 1805// 1806// err := req.Send() 1807// if err == nil { // resp is now filled 1808// fmt.Println(resp) 1809// } 1810// 1811// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 1812func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { 1813 op := &request.Operation{ 1814 Name: opListInstances, 1815 HTTPMethod: "POST", 1816 HTTPPath: "/", 1817 Paginator: &request.Paginator{ 1818 InputTokens: []string{"Marker"}, 1819 OutputTokens: []string{"Marker"}, 1820 LimitToken: "", 1821 TruncationToken: "", 1822 }, 1823 } 1824 1825 if input == nil { 1826 input = &ListInstancesInput{} 1827 } 1828 1829 output = &ListInstancesOutput{} 1830 req = c.newRequest(op, input, output) 1831 return 1832} 1833 1834// ListInstances API operation for Amazon Elastic MapReduce. 1835// 1836// Provides information for all active EC2 instances and EC2 instances terminated 1837// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the 1838// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, 1839// BOOTSTRAPPING, RUNNING. 1840// 1841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1842// with awserr.Error's Code and Message methods to get detailed information about 1843// the error. 1844// 1845// See the AWS API reference guide for Amazon Elastic MapReduce's 1846// API operation ListInstances for usage and error information. 1847// 1848// Returned Error Types: 1849// * InternalServerException 1850// This exception occurs when there is an internal failure in the EMR service. 1851// 1852// * InvalidRequestException 1853// This exception occurs when there is something wrong with user input. 1854// 1855// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 1856func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { 1857 req, out := c.ListInstancesRequest(input) 1858 return out, req.Send() 1859} 1860 1861// ListInstancesWithContext is the same as ListInstances with the addition of 1862// the ability to pass a context and additional request options. 1863// 1864// See ListInstances for details on how to use this API operation. 1865// 1866// The context must be non-nil and will be used for request cancellation. If 1867// the context is nil a panic will occur. In the future the SDK may create 1868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1869// for more information on using Contexts. 1870func (c *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { 1871 req, out := c.ListInstancesRequest(input) 1872 req.SetContext(ctx) 1873 req.ApplyOptions(opts...) 1874 return out, req.Send() 1875} 1876 1877// ListInstancesPages iterates over the pages of a ListInstances operation, 1878// calling the "fn" function with the response data for each page. To stop 1879// iterating, return false from the fn function. 1880// 1881// See ListInstances method for more information on how to use this operation. 1882// 1883// Note: This operation can generate multiple requests to a service. 1884// 1885// // Example iterating over at most 3 pages of a ListInstances operation. 1886// pageNum := 0 1887// err := client.ListInstancesPages(params, 1888// func(page *emr.ListInstancesOutput, lastPage bool) bool { 1889// pageNum++ 1890// fmt.Println(page) 1891// return pageNum <= 3 1892// }) 1893// 1894func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { 1895 return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 1896} 1897 1898// ListInstancesPagesWithContext same as ListInstancesPages except 1899// it takes a Context and allows setting request options on the pages. 1900// 1901// The context must be non-nil and will be used for request cancellation. If 1902// the context is nil a panic will occur. In the future the SDK may create 1903// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1904// for more information on using Contexts. 1905func (c *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { 1906 p := request.Pagination{ 1907 NewRequest: func() (*request.Request, error) { 1908 var inCpy *ListInstancesInput 1909 if input != nil { 1910 tmp := *input 1911 inCpy = &tmp 1912 } 1913 req, _ := c.ListInstancesRequest(inCpy) 1914 req.SetContext(ctx) 1915 req.ApplyOptions(opts...) 1916 return req, nil 1917 }, 1918 } 1919 1920 for p.Next() { 1921 if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { 1922 break 1923 } 1924 } 1925 1926 return p.Err() 1927} 1928 1929const opListNotebookExecutions = "ListNotebookExecutions" 1930 1931// ListNotebookExecutionsRequest generates a "aws/request.Request" representing the 1932// client's request for the ListNotebookExecutions operation. The "output" return 1933// value will be populated with the request's response once the request completes 1934// successfully. 1935// 1936// Use "Send" method on the returned Request to send the API call to the service. 1937// the "output" return value is not valid until after Send returns without error. 1938// 1939// See ListNotebookExecutions for more information on using the ListNotebookExecutions 1940// API call, and error handling. 1941// 1942// This method is useful when you want to inject custom logic or configuration 1943// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1944// 1945// 1946// // Example sending a request using the ListNotebookExecutionsRequest method. 1947// req, resp := client.ListNotebookExecutionsRequest(params) 1948// 1949// err := req.Send() 1950// if err == nil { // resp is now filled 1951// fmt.Println(resp) 1952// } 1953// 1954// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions 1955func (c *EMR) ListNotebookExecutionsRequest(input *ListNotebookExecutionsInput) (req *request.Request, output *ListNotebookExecutionsOutput) { 1956 op := &request.Operation{ 1957 Name: opListNotebookExecutions, 1958 HTTPMethod: "POST", 1959 HTTPPath: "/", 1960 Paginator: &request.Paginator{ 1961 InputTokens: []string{"Marker"}, 1962 OutputTokens: []string{"Marker"}, 1963 LimitToken: "", 1964 TruncationToken: "", 1965 }, 1966 } 1967 1968 if input == nil { 1969 input = &ListNotebookExecutionsInput{} 1970 } 1971 1972 output = &ListNotebookExecutionsOutput{} 1973 req = c.newRequest(op, input, output) 1974 return 1975} 1976 1977// ListNotebookExecutions API operation for Amazon Elastic MapReduce. 1978// 1979// Provides summaries of all notebook executions. You can filter the list based 1980// on multiple criteria such as status, time range, and editor id. Returns a 1981// maximum of 50 notebook executions and a marker to track the paging of a longer 1982// notebook execution list across multiple ListNotebookExecution calls. 1983// 1984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1985// with awserr.Error's Code and Message methods to get detailed information about 1986// the error. 1987// 1988// See the AWS API reference guide for Amazon Elastic MapReduce's 1989// API operation ListNotebookExecutions for usage and error information. 1990// 1991// Returned Error Types: 1992// * InternalServerError 1993// Indicates that an error occurred while processing the request and that the 1994// request was not completed. 1995// 1996// * InvalidRequestException 1997// This exception occurs when there is something wrong with user input. 1998// 1999// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListNotebookExecutions 2000func (c *EMR) ListNotebookExecutions(input *ListNotebookExecutionsInput) (*ListNotebookExecutionsOutput, error) { 2001 req, out := c.ListNotebookExecutionsRequest(input) 2002 return out, req.Send() 2003} 2004 2005// ListNotebookExecutionsWithContext is the same as ListNotebookExecutions with the addition of 2006// the ability to pass a context and additional request options. 2007// 2008// See ListNotebookExecutions for details on how to use this API operation. 2009// 2010// The context must be non-nil and will be used for request cancellation. If 2011// the context is nil a panic will occur. In the future the SDK may create 2012// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2013// for more information on using Contexts. 2014func (c *EMR) ListNotebookExecutionsWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, opts ...request.Option) (*ListNotebookExecutionsOutput, error) { 2015 req, out := c.ListNotebookExecutionsRequest(input) 2016 req.SetContext(ctx) 2017 req.ApplyOptions(opts...) 2018 return out, req.Send() 2019} 2020 2021// ListNotebookExecutionsPages iterates over the pages of a ListNotebookExecutions operation, 2022// calling the "fn" function with the response data for each page. To stop 2023// iterating, return false from the fn function. 2024// 2025// See ListNotebookExecutions method for more information on how to use this operation. 2026// 2027// Note: This operation can generate multiple requests to a service. 2028// 2029// // Example iterating over at most 3 pages of a ListNotebookExecutions operation. 2030// pageNum := 0 2031// err := client.ListNotebookExecutionsPages(params, 2032// func(page *emr.ListNotebookExecutionsOutput, lastPage bool) bool { 2033// pageNum++ 2034// fmt.Println(page) 2035// return pageNum <= 3 2036// }) 2037// 2038func (c *EMR) ListNotebookExecutionsPages(input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool) error { 2039 return c.ListNotebookExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) 2040} 2041 2042// ListNotebookExecutionsPagesWithContext same as ListNotebookExecutionsPages except 2043// it takes a Context and allows setting request options on the pages. 2044// 2045// The context must be non-nil and will be used for request cancellation. If 2046// the context is nil a panic will occur. In the future the SDK may create 2047// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2048// for more information on using Contexts. 2049func (c *EMR) ListNotebookExecutionsPagesWithContext(ctx aws.Context, input *ListNotebookExecutionsInput, fn func(*ListNotebookExecutionsOutput, bool) bool, opts ...request.Option) error { 2050 p := request.Pagination{ 2051 NewRequest: func() (*request.Request, error) { 2052 var inCpy *ListNotebookExecutionsInput 2053 if input != nil { 2054 tmp := *input 2055 inCpy = &tmp 2056 } 2057 req, _ := c.ListNotebookExecutionsRequest(inCpy) 2058 req.SetContext(ctx) 2059 req.ApplyOptions(opts...) 2060 return req, nil 2061 }, 2062 } 2063 2064 for p.Next() { 2065 if !fn(p.Page().(*ListNotebookExecutionsOutput), !p.HasNextPage()) { 2066 break 2067 } 2068 } 2069 2070 return p.Err() 2071} 2072 2073const opListSecurityConfigurations = "ListSecurityConfigurations" 2074 2075// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the 2076// client's request for the ListSecurityConfigurations operation. The "output" return 2077// value will be populated with the request's response once the request completes 2078// successfully. 2079// 2080// Use "Send" method on the returned Request to send the API call to the service. 2081// the "output" return value is not valid until after Send returns without error. 2082// 2083// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations 2084// API call, and error handling. 2085// 2086// This method is useful when you want to inject custom logic or configuration 2087// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2088// 2089// 2090// // Example sending a request using the ListSecurityConfigurationsRequest method. 2091// req, resp := client.ListSecurityConfigurationsRequest(params) 2092// 2093// err := req.Send() 2094// if err == nil { // resp is now filled 2095// fmt.Println(resp) 2096// } 2097// 2098// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 2099func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { 2100 op := &request.Operation{ 2101 Name: opListSecurityConfigurations, 2102 HTTPMethod: "POST", 2103 HTTPPath: "/", 2104 Paginator: &request.Paginator{ 2105 InputTokens: []string{"Marker"}, 2106 OutputTokens: []string{"Marker"}, 2107 LimitToken: "", 2108 TruncationToken: "", 2109 }, 2110 } 2111 2112 if input == nil { 2113 input = &ListSecurityConfigurationsInput{} 2114 } 2115 2116 output = &ListSecurityConfigurationsOutput{} 2117 req = c.newRequest(op, input, output) 2118 return 2119} 2120 2121// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. 2122// 2123// Lists all the security configurations visible to this account, providing 2124// their creation dates and times, and their names. This call returns a maximum 2125// of 50 clusters per call, but returns a marker to track the paging of the 2126// cluster list across multiple ListSecurityConfigurations calls. 2127// 2128// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2129// with awserr.Error's Code and Message methods to get detailed information about 2130// the error. 2131// 2132// See the AWS API reference guide for Amazon Elastic MapReduce's 2133// API operation ListSecurityConfigurations for usage and error information. 2134// 2135// Returned Error Types: 2136// * InternalServerException 2137// This exception occurs when there is an internal failure in the EMR service. 2138// 2139// * InvalidRequestException 2140// This exception occurs when there is something wrong with user input. 2141// 2142// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 2143func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { 2144 req, out := c.ListSecurityConfigurationsRequest(input) 2145 return out, req.Send() 2146} 2147 2148// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of 2149// the ability to pass a context and additional request options. 2150// 2151// See ListSecurityConfigurations for details on how to use this API operation. 2152// 2153// The context must be non-nil and will be used for request cancellation. If 2154// the context is nil a panic will occur. In the future the SDK may create 2155// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2156// for more information on using Contexts. 2157func (c *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { 2158 req, out := c.ListSecurityConfigurationsRequest(input) 2159 req.SetContext(ctx) 2160 req.ApplyOptions(opts...) 2161 return out, req.Send() 2162} 2163 2164// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, 2165// calling the "fn" function with the response data for each page. To stop 2166// iterating, return false from the fn function. 2167// 2168// See ListSecurityConfigurations method for more information on how to use this operation. 2169// 2170// Note: This operation can generate multiple requests to a service. 2171// 2172// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. 2173// pageNum := 0 2174// err := client.ListSecurityConfigurationsPages(params, 2175// func(page *emr.ListSecurityConfigurationsOutput, lastPage bool) bool { 2176// pageNum++ 2177// fmt.Println(page) 2178// return pageNum <= 3 2179// }) 2180// 2181func (c *EMR) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { 2182 return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 2183} 2184 2185// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except 2186// it takes a Context and allows setting request options on the pages. 2187// 2188// The context must be non-nil and will be used for request cancellation. If 2189// the context is nil a panic will occur. In the future the SDK may create 2190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2191// for more information on using Contexts. 2192func (c *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { 2193 p := request.Pagination{ 2194 NewRequest: func() (*request.Request, error) { 2195 var inCpy *ListSecurityConfigurationsInput 2196 if input != nil { 2197 tmp := *input 2198 inCpy = &tmp 2199 } 2200 req, _ := c.ListSecurityConfigurationsRequest(inCpy) 2201 req.SetContext(ctx) 2202 req.ApplyOptions(opts...) 2203 return req, nil 2204 }, 2205 } 2206 2207 for p.Next() { 2208 if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { 2209 break 2210 } 2211 } 2212 2213 return p.Err() 2214} 2215 2216const opListSteps = "ListSteps" 2217 2218// ListStepsRequest generates a "aws/request.Request" representing the 2219// client's request for the ListSteps operation. The "output" return 2220// value will be populated with the request's response once the request completes 2221// successfully. 2222// 2223// Use "Send" method on the returned Request to send the API call to the service. 2224// the "output" return value is not valid until after Send returns without error. 2225// 2226// See ListSteps for more information on using the ListSteps 2227// API call, and error handling. 2228// 2229// This method is useful when you want to inject custom logic or configuration 2230// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2231// 2232// 2233// // Example sending a request using the ListStepsRequest method. 2234// req, resp := client.ListStepsRequest(params) 2235// 2236// err := req.Send() 2237// if err == nil { // resp is now filled 2238// fmt.Println(resp) 2239// } 2240// 2241// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2242func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { 2243 op := &request.Operation{ 2244 Name: opListSteps, 2245 HTTPMethod: "POST", 2246 HTTPPath: "/", 2247 Paginator: &request.Paginator{ 2248 InputTokens: []string{"Marker"}, 2249 OutputTokens: []string{"Marker"}, 2250 LimitToken: "", 2251 TruncationToken: "", 2252 }, 2253 } 2254 2255 if input == nil { 2256 input = &ListStepsInput{} 2257 } 2258 2259 output = &ListStepsOutput{} 2260 req = c.newRequest(op, input, output) 2261 return 2262} 2263 2264// ListSteps API operation for Amazon Elastic MapReduce. 2265// 2266// Provides a list of steps for the cluster in reverse order unless you specify 2267// stepIds with the request of filter by StepStates. You can specify a maximum 2268// of ten stepIDs. 2269// 2270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2271// with awserr.Error's Code and Message methods to get detailed information about 2272// the error. 2273// 2274// See the AWS API reference guide for Amazon Elastic MapReduce's 2275// API operation ListSteps for usage and error information. 2276// 2277// Returned Error Types: 2278// * InternalServerException 2279// This exception occurs when there is an internal failure in the EMR service. 2280// 2281// * InvalidRequestException 2282// This exception occurs when there is something wrong with user input. 2283// 2284// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2285func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { 2286 req, out := c.ListStepsRequest(input) 2287 return out, req.Send() 2288} 2289 2290// ListStepsWithContext is the same as ListSteps with the addition of 2291// the ability to pass a context and additional request options. 2292// 2293// See ListSteps for details on how to use this API operation. 2294// 2295// The context must be non-nil and will be used for request cancellation. If 2296// the context is nil a panic will occur. In the future the SDK may create 2297// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2298// for more information on using Contexts. 2299func (c *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) { 2300 req, out := c.ListStepsRequest(input) 2301 req.SetContext(ctx) 2302 req.ApplyOptions(opts...) 2303 return out, req.Send() 2304} 2305 2306// ListStepsPages iterates over the pages of a ListSteps operation, 2307// calling the "fn" function with the response data for each page. To stop 2308// iterating, return false from the fn function. 2309// 2310// See ListSteps method for more information on how to use this operation. 2311// 2312// Note: This operation can generate multiple requests to a service. 2313// 2314// // Example iterating over at most 3 pages of a ListSteps operation. 2315// pageNum := 0 2316// err := client.ListStepsPages(params, 2317// func(page *emr.ListStepsOutput, lastPage bool) bool { 2318// pageNum++ 2319// fmt.Println(page) 2320// return pageNum <= 3 2321// }) 2322// 2323func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error { 2324 return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn) 2325} 2326 2327// ListStepsPagesWithContext same as ListStepsPages except 2328// it takes a Context and allows setting request options on the pages. 2329// 2330// The context must be non-nil and will be used for request cancellation. If 2331// the context is nil a panic will occur. In the future the SDK may create 2332// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2333// for more information on using Contexts. 2334func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error { 2335 p := request.Pagination{ 2336 NewRequest: func() (*request.Request, error) { 2337 var inCpy *ListStepsInput 2338 if input != nil { 2339 tmp := *input 2340 inCpy = &tmp 2341 } 2342 req, _ := c.ListStepsRequest(inCpy) 2343 req.SetContext(ctx) 2344 req.ApplyOptions(opts...) 2345 return req, nil 2346 }, 2347 } 2348 2349 for p.Next() { 2350 if !fn(p.Page().(*ListStepsOutput), !p.HasNextPage()) { 2351 break 2352 } 2353 } 2354 2355 return p.Err() 2356} 2357 2358const opModifyCluster = "ModifyCluster" 2359 2360// ModifyClusterRequest generates a "aws/request.Request" representing the 2361// client's request for the ModifyCluster operation. The "output" return 2362// value will be populated with the request's response once the request completes 2363// successfully. 2364// 2365// Use "Send" method on the returned Request to send the API call to the service. 2366// the "output" return value is not valid until after Send returns without error. 2367// 2368// See ModifyCluster for more information on using the ModifyCluster 2369// API call, and error handling. 2370// 2371// This method is useful when you want to inject custom logic or configuration 2372// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2373// 2374// 2375// // Example sending a request using the ModifyClusterRequest method. 2376// req, resp := client.ModifyClusterRequest(params) 2377// 2378// err := req.Send() 2379// if err == nil { // resp is now filled 2380// fmt.Println(resp) 2381// } 2382// 2383// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 2384func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { 2385 op := &request.Operation{ 2386 Name: opModifyCluster, 2387 HTTPMethod: "POST", 2388 HTTPPath: "/", 2389 } 2390 2391 if input == nil { 2392 input = &ModifyClusterInput{} 2393 } 2394 2395 output = &ModifyClusterOutput{} 2396 req = c.newRequest(op, input, output) 2397 return 2398} 2399 2400// ModifyCluster API operation for Amazon Elastic MapReduce. 2401// 2402// Modifies the number of steps that can be executed concurrently for the cluster 2403// specified using ClusterID. 2404// 2405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2406// with awserr.Error's Code and Message methods to get detailed information about 2407// the error. 2408// 2409// See the AWS API reference guide for Amazon Elastic MapReduce's 2410// API operation ModifyCluster for usage and error information. 2411// 2412// Returned Error Types: 2413// * InternalServerError 2414// Indicates that an error occurred while processing the request and that the 2415// request was not completed. 2416// 2417// * InvalidRequestException 2418// This exception occurs when there is something wrong with user input. 2419// 2420// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 2421func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { 2422 req, out := c.ModifyClusterRequest(input) 2423 return out, req.Send() 2424} 2425 2426// ModifyClusterWithContext is the same as ModifyCluster with the addition of 2427// the ability to pass a context and additional request options. 2428// 2429// See ModifyCluster for details on how to use this API operation. 2430// 2431// The context must be non-nil and will be used for request cancellation. If 2432// the context is nil a panic will occur. In the future the SDK may create 2433// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2434// for more information on using Contexts. 2435func (c *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { 2436 req, out := c.ModifyClusterRequest(input) 2437 req.SetContext(ctx) 2438 req.ApplyOptions(opts...) 2439 return out, req.Send() 2440} 2441 2442const opModifyInstanceFleet = "ModifyInstanceFleet" 2443 2444// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the 2445// client's request for the ModifyInstanceFleet operation. The "output" return 2446// value will be populated with the request's response once the request completes 2447// successfully. 2448// 2449// Use "Send" method on the returned Request to send the API call to the service. 2450// the "output" return value is not valid until after Send returns without error. 2451// 2452// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet 2453// API call, and error handling. 2454// 2455// This method is useful when you want to inject custom logic or configuration 2456// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2457// 2458// 2459// // Example sending a request using the ModifyInstanceFleetRequest method. 2460// req, resp := client.ModifyInstanceFleetRequest(params) 2461// 2462// err := req.Send() 2463// if err == nil { // resp is now filled 2464// fmt.Println(resp) 2465// } 2466// 2467// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 2468func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) { 2469 op := &request.Operation{ 2470 Name: opModifyInstanceFleet, 2471 HTTPMethod: "POST", 2472 HTTPPath: "/", 2473 } 2474 2475 if input == nil { 2476 input = &ModifyInstanceFleetInput{} 2477 } 2478 2479 output = &ModifyInstanceFleetOutput{} 2480 req = c.newRequest(op, input, output) 2481 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2482 return 2483} 2484 2485// ModifyInstanceFleet API operation for Amazon Elastic MapReduce. 2486// 2487// Modifies the target On-Demand and target Spot capacities for the instance 2488// fleet with the specified InstanceFleetID within the cluster specified using 2489// ClusterID. The call either succeeds or fails atomically. 2490// 2491// The instance fleet configuration is available only in Amazon EMR versions 2492// 4.8.0 and later, excluding 5.0.x versions. 2493// 2494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2495// with awserr.Error's Code and Message methods to get detailed information about 2496// the error. 2497// 2498// See the AWS API reference guide for Amazon Elastic MapReduce's 2499// API operation ModifyInstanceFleet for usage and error information. 2500// 2501// Returned Error Types: 2502// * InternalServerException 2503// This exception occurs when there is an internal failure in the EMR service. 2504// 2505// * InvalidRequestException 2506// This exception occurs when there is something wrong with user input. 2507// 2508// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 2509func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) { 2510 req, out := c.ModifyInstanceFleetRequest(input) 2511 return out, req.Send() 2512} 2513 2514// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of 2515// the ability to pass a context and additional request options. 2516// 2517// See ModifyInstanceFleet for details on how to use this API operation. 2518// 2519// The context must be non-nil and will be used for request cancellation. If 2520// the context is nil a panic will occur. In the future the SDK may create 2521// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2522// for more information on using Contexts. 2523func (c *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) { 2524 req, out := c.ModifyInstanceFleetRequest(input) 2525 req.SetContext(ctx) 2526 req.ApplyOptions(opts...) 2527 return out, req.Send() 2528} 2529 2530const opModifyInstanceGroups = "ModifyInstanceGroups" 2531 2532// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the 2533// client's request for the ModifyInstanceGroups operation. The "output" return 2534// value will be populated with the request's response once the request completes 2535// successfully. 2536// 2537// Use "Send" method on the returned Request to send the API call to the service. 2538// the "output" return value is not valid until after Send returns without error. 2539// 2540// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups 2541// API call, and error handling. 2542// 2543// This method is useful when you want to inject custom logic or configuration 2544// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2545// 2546// 2547// // Example sending a request using the ModifyInstanceGroupsRequest method. 2548// req, resp := client.ModifyInstanceGroupsRequest(params) 2549// 2550// err := req.Send() 2551// if err == nil { // resp is now filled 2552// fmt.Println(resp) 2553// } 2554// 2555// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 2556func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { 2557 op := &request.Operation{ 2558 Name: opModifyInstanceGroups, 2559 HTTPMethod: "POST", 2560 HTTPPath: "/", 2561 } 2562 2563 if input == nil { 2564 input = &ModifyInstanceGroupsInput{} 2565 } 2566 2567 output = &ModifyInstanceGroupsOutput{} 2568 req = c.newRequest(op, input, output) 2569 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2570 return 2571} 2572 2573// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. 2574// 2575// ModifyInstanceGroups modifies the number of nodes and configuration settings 2576// of an instance group. The input parameters include the new target instance 2577// count for the group and the instance group ID. The call will either succeed 2578// or fail atomically. 2579// 2580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2581// with awserr.Error's Code and Message methods to get detailed information about 2582// the error. 2583// 2584// See the AWS API reference guide for Amazon Elastic MapReduce's 2585// API operation ModifyInstanceGroups for usage and error information. 2586// 2587// Returned Error Types: 2588// * InternalServerError 2589// Indicates that an error occurred while processing the request and that the 2590// request was not completed. 2591// 2592// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 2593func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { 2594 req, out := c.ModifyInstanceGroupsRequest(input) 2595 return out, req.Send() 2596} 2597 2598// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of 2599// the ability to pass a context and additional request options. 2600// 2601// See ModifyInstanceGroups for details on how to use this API operation. 2602// 2603// The context must be non-nil and will be used for request cancellation. If 2604// the context is nil a panic will occur. In the future the SDK may create 2605// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2606// for more information on using Contexts. 2607func (c *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) { 2608 req, out := c.ModifyInstanceGroupsRequest(input) 2609 req.SetContext(ctx) 2610 req.ApplyOptions(opts...) 2611 return out, req.Send() 2612} 2613 2614const opPutAutoScalingPolicy = "PutAutoScalingPolicy" 2615 2616// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the 2617// client's request for the PutAutoScalingPolicy operation. The "output" return 2618// value will be populated with the request's response once the request completes 2619// successfully. 2620// 2621// Use "Send" method on the returned Request to send the API call to the service. 2622// the "output" return value is not valid until after Send returns without error. 2623// 2624// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy 2625// API call, and error handling. 2626// 2627// This method is useful when you want to inject custom logic or configuration 2628// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2629// 2630// 2631// // Example sending a request using the PutAutoScalingPolicyRequest method. 2632// req, resp := client.PutAutoScalingPolicyRequest(params) 2633// 2634// err := req.Send() 2635// if err == nil { // resp is now filled 2636// fmt.Println(resp) 2637// } 2638// 2639// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 2640func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) { 2641 op := &request.Operation{ 2642 Name: opPutAutoScalingPolicy, 2643 HTTPMethod: "POST", 2644 HTTPPath: "/", 2645 } 2646 2647 if input == nil { 2648 input = &PutAutoScalingPolicyInput{} 2649 } 2650 2651 output = &PutAutoScalingPolicyOutput{} 2652 req = c.newRequest(op, input, output) 2653 return 2654} 2655 2656// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce. 2657// 2658// Creates or updates an automatic scaling policy for a core instance group 2659// or task instance group in an Amazon EMR cluster. The automatic scaling policy 2660// defines how an instance group dynamically adds and terminates EC2 instances 2661// in response to the value of a CloudWatch metric. 2662// 2663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2664// with awserr.Error's Code and Message methods to get detailed information about 2665// the error. 2666// 2667// See the AWS API reference guide for Amazon Elastic MapReduce's 2668// API operation PutAutoScalingPolicy for usage and error information. 2669// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 2670func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) { 2671 req, out := c.PutAutoScalingPolicyRequest(input) 2672 return out, req.Send() 2673} 2674 2675// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of 2676// the ability to pass a context and additional request options. 2677// 2678// See PutAutoScalingPolicy for details on how to use this API operation. 2679// 2680// The context must be non-nil and will be used for request cancellation. If 2681// the context is nil a panic will occur. In the future the SDK may create 2682// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2683// for more information on using Contexts. 2684func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) { 2685 req, out := c.PutAutoScalingPolicyRequest(input) 2686 req.SetContext(ctx) 2687 req.ApplyOptions(opts...) 2688 return out, req.Send() 2689} 2690 2691const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" 2692 2693// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 2694// client's request for the PutBlockPublicAccessConfiguration operation. The "output" return 2695// value will be populated with the request's response once the request completes 2696// successfully. 2697// 2698// Use "Send" method on the returned Request to send the API call to the service. 2699// the "output" return value is not valid until after Send returns without error. 2700// 2701// See PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration 2702// API call, and error handling. 2703// 2704// This method is useful when you want to inject custom logic or configuration 2705// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2706// 2707// 2708// // Example sending a request using the PutBlockPublicAccessConfigurationRequest method. 2709// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) 2710// 2711// err := req.Send() 2712// if err == nil { // resp is now filled 2713// fmt.Println(resp) 2714// } 2715// 2716// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 2717func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { 2718 op := &request.Operation{ 2719 Name: opPutBlockPublicAccessConfiguration, 2720 HTTPMethod: "POST", 2721 HTTPPath: "/", 2722 } 2723 2724 if input == nil { 2725 input = &PutBlockPublicAccessConfigurationInput{} 2726 } 2727 2728 output = &PutBlockPublicAccessConfigurationOutput{} 2729 req = c.newRequest(op, input, output) 2730 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2731 return 2732} 2733 2734// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 2735// 2736// Creates or updates an Amazon EMR block public access configuration for your 2737// AWS account in the current Region. For more information see Configure Block 2738// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 2739// in the Amazon EMR Management Guide. 2740// 2741// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2742// with awserr.Error's Code and Message methods to get detailed information about 2743// the error. 2744// 2745// See the AWS API reference guide for Amazon Elastic MapReduce's 2746// API operation PutBlockPublicAccessConfiguration for usage and error information. 2747// 2748// Returned Error Types: 2749// * InternalServerException 2750// This exception occurs when there is an internal failure in the EMR service. 2751// 2752// * InvalidRequestException 2753// This exception occurs when there is something wrong with user input. 2754// 2755// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 2756func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { 2757 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 2758 return out, req.Send() 2759} 2760 2761// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of 2762// the ability to pass a context and additional request options. 2763// 2764// See PutBlockPublicAccessConfiguration for details on how to use this API operation. 2765// 2766// The context must be non-nil and will be used for request cancellation. If 2767// the context is nil a panic will occur. In the future the SDK may create 2768// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2769// for more information on using Contexts. 2770func (c *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { 2771 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 2772 req.SetContext(ctx) 2773 req.ApplyOptions(opts...) 2774 return out, req.Send() 2775} 2776 2777const opPutManagedScalingPolicy = "PutManagedScalingPolicy" 2778 2779// PutManagedScalingPolicyRequest generates a "aws/request.Request" representing the 2780// client's request for the PutManagedScalingPolicy operation. The "output" return 2781// value will be populated with the request's response once the request completes 2782// successfully. 2783// 2784// Use "Send" method on the returned Request to send the API call to the service. 2785// the "output" return value is not valid until after Send returns without error. 2786// 2787// See PutManagedScalingPolicy for more information on using the PutManagedScalingPolicy 2788// API call, and error handling. 2789// 2790// This method is useful when you want to inject custom logic or configuration 2791// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2792// 2793// 2794// // Example sending a request using the PutManagedScalingPolicyRequest method. 2795// req, resp := client.PutManagedScalingPolicyRequest(params) 2796// 2797// err := req.Send() 2798// if err == nil { // resp is now filled 2799// fmt.Println(resp) 2800// } 2801// 2802// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 2803func (c *EMR) PutManagedScalingPolicyRequest(input *PutManagedScalingPolicyInput) (req *request.Request, output *PutManagedScalingPolicyOutput) { 2804 op := &request.Operation{ 2805 Name: opPutManagedScalingPolicy, 2806 HTTPMethod: "POST", 2807 HTTPPath: "/", 2808 } 2809 2810 if input == nil { 2811 input = &PutManagedScalingPolicyInput{} 2812 } 2813 2814 output = &PutManagedScalingPolicyOutput{} 2815 req = c.newRequest(op, input, output) 2816 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2817 return 2818} 2819 2820// PutManagedScalingPolicy API operation for Amazon Elastic MapReduce. 2821// 2822// Creates or updates a managed scaling policy for an Amazon EMR cluster. The 2823// managed scaling policy defines the limits for resources, such as EC2 instances 2824// that can be added or terminated from a cluster. The policy only applies to 2825// the core and task nodes. The master node cannot be scaled after initial configuration. 2826// 2827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2828// with awserr.Error's Code and Message methods to get detailed information about 2829// the error. 2830// 2831// See the AWS API reference guide for Amazon Elastic MapReduce's 2832// API operation PutManagedScalingPolicy for usage and error information. 2833// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 2834func (c *EMR) PutManagedScalingPolicy(input *PutManagedScalingPolicyInput) (*PutManagedScalingPolicyOutput, error) { 2835 req, out := c.PutManagedScalingPolicyRequest(input) 2836 return out, req.Send() 2837} 2838 2839// PutManagedScalingPolicyWithContext is the same as PutManagedScalingPolicy with the addition of 2840// the ability to pass a context and additional request options. 2841// 2842// See PutManagedScalingPolicy for details on how to use this API operation. 2843// 2844// The context must be non-nil and will be used for request cancellation. If 2845// the context is nil a panic will occur. In the future the SDK may create 2846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2847// for more information on using Contexts. 2848func (c *EMR) PutManagedScalingPolicyWithContext(ctx aws.Context, input *PutManagedScalingPolicyInput, opts ...request.Option) (*PutManagedScalingPolicyOutput, error) { 2849 req, out := c.PutManagedScalingPolicyRequest(input) 2850 req.SetContext(ctx) 2851 req.ApplyOptions(opts...) 2852 return out, req.Send() 2853} 2854 2855const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" 2856 2857// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the 2858// client's request for the RemoveAutoScalingPolicy operation. The "output" return 2859// value will be populated with the request's response once the request completes 2860// successfully. 2861// 2862// Use "Send" method on the returned Request to send the API call to the service. 2863// the "output" return value is not valid until after Send returns without error. 2864// 2865// See RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy 2866// API call, and error handling. 2867// 2868// This method is useful when you want to inject custom logic or configuration 2869// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2870// 2871// 2872// // Example sending a request using the RemoveAutoScalingPolicyRequest method. 2873// req, resp := client.RemoveAutoScalingPolicyRequest(params) 2874// 2875// err := req.Send() 2876// if err == nil { // resp is now filled 2877// fmt.Println(resp) 2878// } 2879// 2880// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 2881func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) { 2882 op := &request.Operation{ 2883 Name: opRemoveAutoScalingPolicy, 2884 HTTPMethod: "POST", 2885 HTTPPath: "/", 2886 } 2887 2888 if input == nil { 2889 input = &RemoveAutoScalingPolicyInput{} 2890 } 2891 2892 output = &RemoveAutoScalingPolicyOutput{} 2893 req = c.newRequest(op, input, output) 2894 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2895 return 2896} 2897 2898// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce. 2899// 2900// Removes an automatic scaling policy from a specified instance group within 2901// an EMR cluster. 2902// 2903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2904// with awserr.Error's Code and Message methods to get detailed information about 2905// the error. 2906// 2907// See the AWS API reference guide for Amazon Elastic MapReduce's 2908// API operation RemoveAutoScalingPolicy for usage and error information. 2909// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 2910func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) { 2911 req, out := c.RemoveAutoScalingPolicyRequest(input) 2912 return out, req.Send() 2913} 2914 2915// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of 2916// the ability to pass a context and additional request options. 2917// 2918// See RemoveAutoScalingPolicy for details on how to use this API operation. 2919// 2920// The context must be non-nil and will be used for request cancellation. If 2921// the context is nil a panic will occur. In the future the SDK may create 2922// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2923// for more information on using Contexts. 2924func (c *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) { 2925 req, out := c.RemoveAutoScalingPolicyRequest(input) 2926 req.SetContext(ctx) 2927 req.ApplyOptions(opts...) 2928 return out, req.Send() 2929} 2930 2931const opRemoveManagedScalingPolicy = "RemoveManagedScalingPolicy" 2932 2933// RemoveManagedScalingPolicyRequest generates a "aws/request.Request" representing the 2934// client's request for the RemoveManagedScalingPolicy operation. The "output" return 2935// value will be populated with the request's response once the request completes 2936// successfully. 2937// 2938// Use "Send" method on the returned Request to send the API call to the service. 2939// the "output" return value is not valid until after Send returns without error. 2940// 2941// See RemoveManagedScalingPolicy for more information on using the RemoveManagedScalingPolicy 2942// API call, and error handling. 2943// 2944// This method is useful when you want to inject custom logic or configuration 2945// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2946// 2947// 2948// // Example sending a request using the RemoveManagedScalingPolicyRequest method. 2949// req, resp := client.RemoveManagedScalingPolicyRequest(params) 2950// 2951// err := req.Send() 2952// if err == nil { // resp is now filled 2953// fmt.Println(resp) 2954// } 2955// 2956// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 2957func (c *EMR) RemoveManagedScalingPolicyRequest(input *RemoveManagedScalingPolicyInput) (req *request.Request, output *RemoveManagedScalingPolicyOutput) { 2958 op := &request.Operation{ 2959 Name: opRemoveManagedScalingPolicy, 2960 HTTPMethod: "POST", 2961 HTTPPath: "/", 2962 } 2963 2964 if input == nil { 2965 input = &RemoveManagedScalingPolicyInput{} 2966 } 2967 2968 output = &RemoveManagedScalingPolicyOutput{} 2969 req = c.newRequest(op, input, output) 2970 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2971 return 2972} 2973 2974// RemoveManagedScalingPolicy API operation for Amazon Elastic MapReduce. 2975// 2976// Removes a managed scaling policy from a specified EMR cluster. 2977// 2978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2979// with awserr.Error's Code and Message methods to get detailed information about 2980// the error. 2981// 2982// See the AWS API reference guide for Amazon Elastic MapReduce's 2983// API operation RemoveManagedScalingPolicy for usage and error information. 2984// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 2985func (c *EMR) RemoveManagedScalingPolicy(input *RemoveManagedScalingPolicyInput) (*RemoveManagedScalingPolicyOutput, error) { 2986 req, out := c.RemoveManagedScalingPolicyRequest(input) 2987 return out, req.Send() 2988} 2989 2990// RemoveManagedScalingPolicyWithContext is the same as RemoveManagedScalingPolicy with the addition of 2991// the ability to pass a context and additional request options. 2992// 2993// See RemoveManagedScalingPolicy for details on how to use this API operation. 2994// 2995// The context must be non-nil and will be used for request cancellation. If 2996// the context is nil a panic will occur. In the future the SDK may create 2997// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2998// for more information on using Contexts. 2999func (c *EMR) RemoveManagedScalingPolicyWithContext(ctx aws.Context, input *RemoveManagedScalingPolicyInput, opts ...request.Option) (*RemoveManagedScalingPolicyOutput, error) { 3000 req, out := c.RemoveManagedScalingPolicyRequest(input) 3001 req.SetContext(ctx) 3002 req.ApplyOptions(opts...) 3003 return out, req.Send() 3004} 3005 3006const opRemoveTags = "RemoveTags" 3007 3008// RemoveTagsRequest generates a "aws/request.Request" representing the 3009// client's request for the RemoveTags operation. The "output" return 3010// value will be populated with the request's response once the request completes 3011// successfully. 3012// 3013// Use "Send" method on the returned Request to send the API call to the service. 3014// the "output" return value is not valid until after Send returns without error. 3015// 3016// See RemoveTags for more information on using the RemoveTags 3017// API call, and error handling. 3018// 3019// This method is useful when you want to inject custom logic or configuration 3020// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3021// 3022// 3023// // Example sending a request using the RemoveTagsRequest method. 3024// req, resp := client.RemoveTagsRequest(params) 3025// 3026// err := req.Send() 3027// if err == nil { // resp is now filled 3028// fmt.Println(resp) 3029// } 3030// 3031// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 3032func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { 3033 op := &request.Operation{ 3034 Name: opRemoveTags, 3035 HTTPMethod: "POST", 3036 HTTPPath: "/", 3037 } 3038 3039 if input == nil { 3040 input = &RemoveTagsInput{} 3041 } 3042 3043 output = &RemoveTagsOutput{} 3044 req = c.newRequest(op, input, output) 3045 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3046 return 3047} 3048 3049// RemoveTags API operation for Amazon Elastic MapReduce. 3050// 3051// Removes tags from an Amazon EMR resource. Tags make it easier to associate 3052// clusters in various ways, such as grouping clusters to track your Amazon 3053// EMR resource allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 3054// 3055// The following example removes the stack tag with value Prod from a cluster: 3056// 3057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3058// with awserr.Error's Code and Message methods to get detailed information about 3059// the error. 3060// 3061// See the AWS API reference guide for Amazon Elastic MapReduce's 3062// API operation RemoveTags for usage and error information. 3063// 3064// Returned Error Types: 3065// * InternalServerException 3066// This exception occurs when there is an internal failure in the EMR service. 3067// 3068// * InvalidRequestException 3069// This exception occurs when there is something wrong with user input. 3070// 3071// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 3072func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { 3073 req, out := c.RemoveTagsRequest(input) 3074 return out, req.Send() 3075} 3076 3077// RemoveTagsWithContext is the same as RemoveTags with the addition of 3078// the ability to pass a context and additional request options. 3079// 3080// See RemoveTags for details on how to use this API operation. 3081// 3082// The context must be non-nil and will be used for request cancellation. If 3083// the context is nil a panic will occur. In the future the SDK may create 3084// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3085// for more information on using Contexts. 3086func (c *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { 3087 req, out := c.RemoveTagsRequest(input) 3088 req.SetContext(ctx) 3089 req.ApplyOptions(opts...) 3090 return out, req.Send() 3091} 3092 3093const opRunJobFlow = "RunJobFlow" 3094 3095// RunJobFlowRequest generates a "aws/request.Request" representing the 3096// client's request for the RunJobFlow operation. The "output" return 3097// value will be populated with the request's response once the request completes 3098// successfully. 3099// 3100// Use "Send" method on the returned Request to send the API call to the service. 3101// the "output" return value is not valid until after Send returns without error. 3102// 3103// See RunJobFlow for more information on using the RunJobFlow 3104// API call, and error handling. 3105// 3106// This method is useful when you want to inject custom logic or configuration 3107// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3108// 3109// 3110// // Example sending a request using the RunJobFlowRequest method. 3111// req, resp := client.RunJobFlowRequest(params) 3112// 3113// err := req.Send() 3114// if err == nil { // resp is now filled 3115// fmt.Println(resp) 3116// } 3117// 3118// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 3119func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { 3120 op := &request.Operation{ 3121 Name: opRunJobFlow, 3122 HTTPMethod: "POST", 3123 HTTPPath: "/", 3124 } 3125 3126 if input == nil { 3127 input = &RunJobFlowInput{} 3128 } 3129 3130 output = &RunJobFlowOutput{} 3131 req = c.newRequest(op, input, output) 3132 return 3133} 3134 3135// RunJobFlow API operation for Amazon Elastic MapReduce. 3136// 3137// RunJobFlow creates and starts running a new cluster (job flow). The cluster 3138// runs the steps specified. After the steps complete, the cluster stops and 3139// the HDFS partition is lost. To prevent loss of data, configure the last step 3140// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig 3141// KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions 3142// to the WAITING state rather than shutting down after the steps have completed. 3143// 3144// For additional protection, you can set the JobFlowInstancesConfig TerminationProtected 3145// parameter to TRUE to lock the cluster and prevent it from being terminated 3146// by API call, user intervention, or in the event of a job flow error. 3147// 3148// A maximum of 256 steps are allowed in each job flow. 3149// 3150// If your cluster is long-running (such as a Hive data warehouse) or complex, 3151// you may require more than 256 steps to process your data. You can bypass 3152// the 256-step limitation in various ways, including using the SSH shell to 3153// connect to the master node and submitting queries directly to the software 3154// running on the master node, such as Hive and Hadoop. For more information 3155// on how to do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) 3156// in the Amazon EMR Management Guide. 3157// 3158// For long running clusters, we recommend that you periodically store your 3159// results. 3160// 3161// The instance fleets configuration is available only in Amazon EMR versions 3162// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain 3163// InstanceFleets parameters or InstanceGroups parameters, but not both. 3164// 3165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3166// with awserr.Error's Code and Message methods to get detailed information about 3167// the error. 3168// 3169// See the AWS API reference guide for Amazon Elastic MapReduce's 3170// API operation RunJobFlow for usage and error information. 3171// 3172// Returned Error Types: 3173// * InternalServerError 3174// Indicates that an error occurred while processing the request and that the 3175// request was not completed. 3176// 3177// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 3178func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { 3179 req, out := c.RunJobFlowRequest(input) 3180 return out, req.Send() 3181} 3182 3183// RunJobFlowWithContext is the same as RunJobFlow with the addition of 3184// the ability to pass a context and additional request options. 3185// 3186// See RunJobFlow for details on how to use this API operation. 3187// 3188// The context must be non-nil and will be used for request cancellation. If 3189// the context is nil a panic will occur. In the future the SDK may create 3190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3191// for more information on using Contexts. 3192func (c *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) { 3193 req, out := c.RunJobFlowRequest(input) 3194 req.SetContext(ctx) 3195 req.ApplyOptions(opts...) 3196 return out, req.Send() 3197} 3198 3199const opSetTerminationProtection = "SetTerminationProtection" 3200 3201// SetTerminationProtectionRequest generates a "aws/request.Request" representing the 3202// client's request for the SetTerminationProtection operation. The "output" return 3203// value will be populated with the request's response once the request completes 3204// successfully. 3205// 3206// Use "Send" method on the returned Request to send the API call to the service. 3207// the "output" return value is not valid until after Send returns without error. 3208// 3209// See SetTerminationProtection for more information on using the SetTerminationProtection 3210// API call, and error handling. 3211// 3212// This method is useful when you want to inject custom logic or configuration 3213// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3214// 3215// 3216// // Example sending a request using the SetTerminationProtectionRequest method. 3217// req, resp := client.SetTerminationProtectionRequest(params) 3218// 3219// err := req.Send() 3220// if err == nil { // resp is now filled 3221// fmt.Println(resp) 3222// } 3223// 3224// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 3225func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { 3226 op := &request.Operation{ 3227 Name: opSetTerminationProtection, 3228 HTTPMethod: "POST", 3229 HTTPPath: "/", 3230 } 3231 3232 if input == nil { 3233 input = &SetTerminationProtectionInput{} 3234 } 3235 3236 output = &SetTerminationProtectionOutput{} 3237 req = c.newRequest(op, input, output) 3238 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3239 return 3240} 3241 3242// SetTerminationProtection API operation for Amazon Elastic MapReduce. 3243// 3244// SetTerminationProtection locks a cluster (job flow) so the EC2 instances 3245// in the cluster cannot be terminated by user intervention, an API call, or 3246// in the event of a job-flow error. The cluster still terminates upon successful 3247// completion of the job flow. Calling SetTerminationProtection on a cluster 3248// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 3249// instances in a cluster. 3250// 3251// SetTerminationProtection is used to prevent accidental termination of a cluster 3252// and to ensure that in the event of an error, the instances persist so that 3253// you can recover any data stored in their ephemeral instance storage. 3254// 3255// To terminate a cluster that has been locked by setting SetTerminationProtection 3256// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection 3257// in which you set the value to false. 3258// 3259// For more information, seeManaging Cluster Termination (https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html) 3260// in the Amazon EMR Management Guide. 3261// 3262// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3263// with awserr.Error's Code and Message methods to get detailed information about 3264// the error. 3265// 3266// See the AWS API reference guide for Amazon Elastic MapReduce's 3267// API operation SetTerminationProtection for usage and error information. 3268// 3269// Returned Error Types: 3270// * InternalServerError 3271// Indicates that an error occurred while processing the request and that the 3272// request was not completed. 3273// 3274// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 3275func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { 3276 req, out := c.SetTerminationProtectionRequest(input) 3277 return out, req.Send() 3278} 3279 3280// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of 3281// the ability to pass a context and additional request options. 3282// 3283// See SetTerminationProtection for details on how to use this API operation. 3284// 3285// The context must be non-nil and will be used for request cancellation. If 3286// the context is nil a panic will occur. In the future the SDK may create 3287// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3288// for more information on using Contexts. 3289func (c *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) { 3290 req, out := c.SetTerminationProtectionRequest(input) 3291 req.SetContext(ctx) 3292 req.ApplyOptions(opts...) 3293 return out, req.Send() 3294} 3295 3296const opSetVisibleToAllUsers = "SetVisibleToAllUsers" 3297 3298// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the 3299// client's request for the SetVisibleToAllUsers operation. The "output" return 3300// value will be populated with the request's response once the request completes 3301// successfully. 3302// 3303// Use "Send" method on the returned Request to send the API call to the service. 3304// the "output" return value is not valid until after Send returns without error. 3305// 3306// See SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers 3307// API call, and error handling. 3308// 3309// This method is useful when you want to inject custom logic or configuration 3310// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3311// 3312// 3313// // Example sending a request using the SetVisibleToAllUsersRequest method. 3314// req, resp := client.SetVisibleToAllUsersRequest(params) 3315// 3316// err := req.Send() 3317// if err == nil { // resp is now filled 3318// fmt.Println(resp) 3319// } 3320// 3321// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 3322func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { 3323 op := &request.Operation{ 3324 Name: opSetVisibleToAllUsers, 3325 HTTPMethod: "POST", 3326 HTTPPath: "/", 3327 } 3328 3329 if input == nil { 3330 input = &SetVisibleToAllUsersInput{} 3331 } 3332 3333 output = &SetVisibleToAllUsersOutput{} 3334 req = c.newRequest(op, input, output) 3335 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3336 return 3337} 3338 3339// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. 3340// 3341// Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster 3342// is visible to all IAM users of the AWS account associated with the cluster. 3343// Only the IAM user who created the cluster or the AWS account root user can 3344// call this action. The default value, true, indicates that all IAM users in 3345// the AWS account can perform cluster actions if they have the proper IAM policy 3346// permissions. If set to false, only the IAM user that created the cluster 3347// can perform actions. This action works on running clusters. You can override 3348// the default true setting when you create a cluster by using the VisibleToAllUsers 3349// parameter with RunJobFlow. 3350// 3351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3352// with awserr.Error's Code and Message methods to get detailed information about 3353// the error. 3354// 3355// See the AWS API reference guide for Amazon Elastic MapReduce's 3356// API operation SetVisibleToAllUsers for usage and error information. 3357// 3358// Returned Error Types: 3359// * InternalServerError 3360// Indicates that an error occurred while processing the request and that the 3361// request was not completed. 3362// 3363// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 3364func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { 3365 req, out := c.SetVisibleToAllUsersRequest(input) 3366 return out, req.Send() 3367} 3368 3369// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of 3370// the ability to pass a context and additional request options. 3371// 3372// See SetVisibleToAllUsers for details on how to use this API operation. 3373// 3374// The context must be non-nil and will be used for request cancellation. If 3375// the context is nil a panic will occur. In the future the SDK may create 3376// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3377// for more information on using Contexts. 3378func (c *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) { 3379 req, out := c.SetVisibleToAllUsersRequest(input) 3380 req.SetContext(ctx) 3381 req.ApplyOptions(opts...) 3382 return out, req.Send() 3383} 3384 3385const opStartNotebookExecution = "StartNotebookExecution" 3386 3387// StartNotebookExecutionRequest generates a "aws/request.Request" representing the 3388// client's request for the StartNotebookExecution operation. The "output" return 3389// value will be populated with the request's response once the request completes 3390// successfully. 3391// 3392// Use "Send" method on the returned Request to send the API call to the service. 3393// the "output" return value is not valid until after Send returns without error. 3394// 3395// See StartNotebookExecution for more information on using the StartNotebookExecution 3396// API call, and error handling. 3397// 3398// This method is useful when you want to inject custom logic or configuration 3399// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3400// 3401// 3402// // Example sending a request using the StartNotebookExecutionRequest method. 3403// req, resp := client.StartNotebookExecutionRequest(params) 3404// 3405// err := req.Send() 3406// if err == nil { // resp is now filled 3407// fmt.Println(resp) 3408// } 3409// 3410// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution 3411func (c *EMR) StartNotebookExecutionRequest(input *StartNotebookExecutionInput) (req *request.Request, output *StartNotebookExecutionOutput) { 3412 op := &request.Operation{ 3413 Name: opStartNotebookExecution, 3414 HTTPMethod: "POST", 3415 HTTPPath: "/", 3416 } 3417 3418 if input == nil { 3419 input = &StartNotebookExecutionInput{} 3420 } 3421 3422 output = &StartNotebookExecutionOutput{} 3423 req = c.newRequest(op, input, output) 3424 return 3425} 3426 3427// StartNotebookExecution API operation for Amazon Elastic MapReduce. 3428// 3429// Starts a notebook execution. 3430// 3431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3432// with awserr.Error's Code and Message methods to get detailed information about 3433// the error. 3434// 3435// See the AWS API reference guide for Amazon Elastic MapReduce's 3436// API operation StartNotebookExecution for usage and error information. 3437// 3438// Returned Error Types: 3439// * InternalServerException 3440// This exception occurs when there is an internal failure in the EMR service. 3441// 3442// * InvalidRequestException 3443// This exception occurs when there is something wrong with user input. 3444// 3445// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StartNotebookExecution 3446func (c *EMR) StartNotebookExecution(input *StartNotebookExecutionInput) (*StartNotebookExecutionOutput, error) { 3447 req, out := c.StartNotebookExecutionRequest(input) 3448 return out, req.Send() 3449} 3450 3451// StartNotebookExecutionWithContext is the same as StartNotebookExecution with the addition of 3452// the ability to pass a context and additional request options. 3453// 3454// See StartNotebookExecution for details on how to use this API operation. 3455// 3456// The context must be non-nil and will be used for request cancellation. If 3457// the context is nil a panic will occur. In the future the SDK may create 3458// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3459// for more information on using Contexts. 3460func (c *EMR) StartNotebookExecutionWithContext(ctx aws.Context, input *StartNotebookExecutionInput, opts ...request.Option) (*StartNotebookExecutionOutput, error) { 3461 req, out := c.StartNotebookExecutionRequest(input) 3462 req.SetContext(ctx) 3463 req.ApplyOptions(opts...) 3464 return out, req.Send() 3465} 3466 3467const opStopNotebookExecution = "StopNotebookExecution" 3468 3469// StopNotebookExecutionRequest generates a "aws/request.Request" representing the 3470// client's request for the StopNotebookExecution operation. The "output" return 3471// value will be populated with the request's response once the request completes 3472// successfully. 3473// 3474// Use "Send" method on the returned Request to send the API call to the service. 3475// the "output" return value is not valid until after Send returns without error. 3476// 3477// See StopNotebookExecution for more information on using the StopNotebookExecution 3478// API call, and error handling. 3479// 3480// This method is useful when you want to inject custom logic or configuration 3481// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3482// 3483// 3484// // Example sending a request using the StopNotebookExecutionRequest method. 3485// req, resp := client.StopNotebookExecutionRequest(params) 3486// 3487// err := req.Send() 3488// if err == nil { // resp is now filled 3489// fmt.Println(resp) 3490// } 3491// 3492// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution 3493func (c *EMR) StopNotebookExecutionRequest(input *StopNotebookExecutionInput) (req *request.Request, output *StopNotebookExecutionOutput) { 3494 op := &request.Operation{ 3495 Name: opStopNotebookExecution, 3496 HTTPMethod: "POST", 3497 HTTPPath: "/", 3498 } 3499 3500 if input == nil { 3501 input = &StopNotebookExecutionInput{} 3502 } 3503 3504 output = &StopNotebookExecutionOutput{} 3505 req = c.newRequest(op, input, output) 3506 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3507 return 3508} 3509 3510// StopNotebookExecution API operation for Amazon Elastic MapReduce. 3511// 3512// Stops a notebook execution. 3513// 3514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3515// with awserr.Error's Code and Message methods to get detailed information about 3516// the error. 3517// 3518// See the AWS API reference guide for Amazon Elastic MapReduce's 3519// API operation StopNotebookExecution for usage and error information. 3520// 3521// Returned Error Types: 3522// * InternalServerError 3523// Indicates that an error occurred while processing the request and that the 3524// request was not completed. 3525// 3526// * InvalidRequestException 3527// This exception occurs when there is something wrong with user input. 3528// 3529// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/StopNotebookExecution 3530func (c *EMR) StopNotebookExecution(input *StopNotebookExecutionInput) (*StopNotebookExecutionOutput, error) { 3531 req, out := c.StopNotebookExecutionRequest(input) 3532 return out, req.Send() 3533} 3534 3535// StopNotebookExecutionWithContext is the same as StopNotebookExecution with the addition of 3536// the ability to pass a context and additional request options. 3537// 3538// See StopNotebookExecution for details on how to use this API operation. 3539// 3540// The context must be non-nil and will be used for request cancellation. If 3541// the context is nil a panic will occur. In the future the SDK may create 3542// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3543// for more information on using Contexts. 3544func (c *EMR) StopNotebookExecutionWithContext(ctx aws.Context, input *StopNotebookExecutionInput, opts ...request.Option) (*StopNotebookExecutionOutput, error) { 3545 req, out := c.StopNotebookExecutionRequest(input) 3546 req.SetContext(ctx) 3547 req.ApplyOptions(opts...) 3548 return out, req.Send() 3549} 3550 3551const opTerminateJobFlows = "TerminateJobFlows" 3552 3553// TerminateJobFlowsRequest generates a "aws/request.Request" representing the 3554// client's request for the TerminateJobFlows operation. The "output" return 3555// value will be populated with the request's response once the request completes 3556// successfully. 3557// 3558// Use "Send" method on the returned Request to send the API call to the service. 3559// the "output" return value is not valid until after Send returns without error. 3560// 3561// See TerminateJobFlows for more information on using the TerminateJobFlows 3562// API call, and error handling. 3563// 3564// This method is useful when you want to inject custom logic or configuration 3565// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3566// 3567// 3568// // Example sending a request using the TerminateJobFlowsRequest method. 3569// req, resp := client.TerminateJobFlowsRequest(params) 3570// 3571// err := req.Send() 3572// if err == nil { // resp is now filled 3573// fmt.Println(resp) 3574// } 3575// 3576// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 3577func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { 3578 op := &request.Operation{ 3579 Name: opTerminateJobFlows, 3580 HTTPMethod: "POST", 3581 HTTPPath: "/", 3582 } 3583 3584 if input == nil { 3585 input = &TerminateJobFlowsInput{} 3586 } 3587 3588 output = &TerminateJobFlowsOutput{} 3589 req = c.newRequest(op, input, output) 3590 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3591 return 3592} 3593 3594// TerminateJobFlows API operation for Amazon Elastic MapReduce. 3595// 3596// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow 3597// is shut down, any step not yet completed is canceled and the EC2 instances 3598// on which the cluster is running are stopped. Any log files not already saved 3599// are uploaded to Amazon S3 if a LogUri was specified when the cluster was 3600// created. 3601// 3602// The maximum number of clusters allowed is 10. The call to TerminateJobFlows 3603// is asynchronous. Depending on the configuration of the cluster, it may take 3604// up to 1-5 minutes for the cluster to completely terminate and release allocated 3605// resources, such as Amazon EC2 instances. 3606// 3607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3608// with awserr.Error's Code and Message methods to get detailed information about 3609// the error. 3610// 3611// See the AWS API reference guide for Amazon Elastic MapReduce's 3612// API operation TerminateJobFlows for usage and error information. 3613// 3614// Returned Error Types: 3615// * InternalServerError 3616// Indicates that an error occurred while processing the request and that the 3617// request was not completed. 3618// 3619// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 3620func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { 3621 req, out := c.TerminateJobFlowsRequest(input) 3622 return out, req.Send() 3623} 3624 3625// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of 3626// the ability to pass a context and additional request options. 3627// 3628// See TerminateJobFlows for details on how to use this API operation. 3629// 3630// The context must be non-nil and will be used for request cancellation. If 3631// the context is nil a panic will occur. In the future the SDK may create 3632// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3633// for more information on using Contexts. 3634func (c *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) { 3635 req, out := c.TerminateJobFlowsRequest(input) 3636 req.SetContext(ctx) 3637 req.ApplyOptions(opts...) 3638 return out, req.Send() 3639} 3640 3641type AddInstanceFleetInput struct { 3642 _ struct{} `type:"structure"` 3643 3644 // The unique identifier of the cluster. 3645 // 3646 // ClusterId is a required field 3647 ClusterId *string `type:"string" required:"true"` 3648 3649 // Specifies the configuration of the instance fleet. 3650 // 3651 // InstanceFleet is a required field 3652 InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"` 3653} 3654 3655// String returns the string representation 3656func (s AddInstanceFleetInput) String() string { 3657 return awsutil.Prettify(s) 3658} 3659 3660// GoString returns the string representation 3661func (s AddInstanceFleetInput) GoString() string { 3662 return s.String() 3663} 3664 3665// Validate inspects the fields of the type to determine if they are valid. 3666func (s *AddInstanceFleetInput) Validate() error { 3667 invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"} 3668 if s.ClusterId == nil { 3669 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 3670 } 3671 if s.InstanceFleet == nil { 3672 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 3673 } 3674 if s.InstanceFleet != nil { 3675 if err := s.InstanceFleet.Validate(); err != nil { 3676 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 3677 } 3678 } 3679 3680 if invalidParams.Len() > 0 { 3681 return invalidParams 3682 } 3683 return nil 3684} 3685 3686// SetClusterId sets the ClusterId field's value. 3687func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput { 3688 s.ClusterId = &v 3689 return s 3690} 3691 3692// SetInstanceFleet sets the InstanceFleet field's value. 3693func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput { 3694 s.InstanceFleet = v 3695 return s 3696} 3697 3698type AddInstanceFleetOutput struct { 3699 _ struct{} `type:"structure"` 3700 3701 // The Amazon Resource Name of the cluster. 3702 ClusterArn *string `min:"20" type:"string"` 3703 3704 // The unique identifier of the cluster. 3705 ClusterId *string `type:"string"` 3706 3707 // The unique identifier of the instance fleet. 3708 InstanceFleetId *string `type:"string"` 3709} 3710 3711// String returns the string representation 3712func (s AddInstanceFleetOutput) String() string { 3713 return awsutil.Prettify(s) 3714} 3715 3716// GoString returns the string representation 3717func (s AddInstanceFleetOutput) GoString() string { 3718 return s.String() 3719} 3720 3721// SetClusterArn sets the ClusterArn field's value. 3722func (s *AddInstanceFleetOutput) SetClusterArn(v string) *AddInstanceFleetOutput { 3723 s.ClusterArn = &v 3724 return s 3725} 3726 3727// SetClusterId sets the ClusterId field's value. 3728func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput { 3729 s.ClusterId = &v 3730 return s 3731} 3732 3733// SetInstanceFleetId sets the InstanceFleetId field's value. 3734func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput { 3735 s.InstanceFleetId = &v 3736 return s 3737} 3738 3739// Input to an AddInstanceGroups call. 3740type AddInstanceGroupsInput struct { 3741 _ struct{} `type:"structure"` 3742 3743 // Instance groups to add. 3744 // 3745 // InstanceGroups is a required field 3746 InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` 3747 3748 // Job flow in which to add the instance groups. 3749 // 3750 // JobFlowId is a required field 3751 JobFlowId *string `type:"string" required:"true"` 3752} 3753 3754// String returns the string representation 3755func (s AddInstanceGroupsInput) String() string { 3756 return awsutil.Prettify(s) 3757} 3758 3759// GoString returns the string representation 3760func (s AddInstanceGroupsInput) GoString() string { 3761 return s.String() 3762} 3763 3764// Validate inspects the fields of the type to determine if they are valid. 3765func (s *AddInstanceGroupsInput) Validate() error { 3766 invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} 3767 if s.InstanceGroups == nil { 3768 invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) 3769 } 3770 if s.JobFlowId == nil { 3771 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 3772 } 3773 if s.InstanceGroups != nil { 3774 for i, v := range s.InstanceGroups { 3775 if v == nil { 3776 continue 3777 } 3778 if err := v.Validate(); err != nil { 3779 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 3780 } 3781 } 3782 } 3783 3784 if invalidParams.Len() > 0 { 3785 return invalidParams 3786 } 3787 return nil 3788} 3789 3790// SetInstanceGroups sets the InstanceGroups field's value. 3791func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput { 3792 s.InstanceGroups = v 3793 return s 3794} 3795 3796// SetJobFlowId sets the JobFlowId field's value. 3797func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput { 3798 s.JobFlowId = &v 3799 return s 3800} 3801 3802// Output from an AddInstanceGroups call. 3803type AddInstanceGroupsOutput struct { 3804 _ struct{} `type:"structure"` 3805 3806 // The Amazon Resource Name of the cluster. 3807 ClusterArn *string `min:"20" type:"string"` 3808 3809 // Instance group IDs of the newly created instance groups. 3810 InstanceGroupIds []*string `type:"list"` 3811 3812 // The job flow ID in which the instance groups are added. 3813 JobFlowId *string `type:"string"` 3814} 3815 3816// String returns the string representation 3817func (s AddInstanceGroupsOutput) String() string { 3818 return awsutil.Prettify(s) 3819} 3820 3821// GoString returns the string representation 3822func (s AddInstanceGroupsOutput) GoString() string { 3823 return s.String() 3824} 3825 3826// SetClusterArn sets the ClusterArn field's value. 3827func (s *AddInstanceGroupsOutput) SetClusterArn(v string) *AddInstanceGroupsOutput { 3828 s.ClusterArn = &v 3829 return s 3830} 3831 3832// SetInstanceGroupIds sets the InstanceGroupIds field's value. 3833func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput { 3834 s.InstanceGroupIds = v 3835 return s 3836} 3837 3838// SetJobFlowId sets the JobFlowId field's value. 3839func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput { 3840 s.JobFlowId = &v 3841 return s 3842} 3843 3844// The input argument to the AddJobFlowSteps operation. 3845type AddJobFlowStepsInput struct { 3846 _ struct{} `type:"structure"` 3847 3848 // A string that uniquely identifies the job flow. This identifier is returned 3849 // by RunJobFlow and can also be obtained from ListClusters. 3850 // 3851 // JobFlowId is a required field 3852 JobFlowId *string `type:"string" required:"true"` 3853 3854 // A list of StepConfig to be executed by the job flow. 3855 // 3856 // Steps is a required field 3857 Steps []*StepConfig `type:"list" required:"true"` 3858} 3859 3860// String returns the string representation 3861func (s AddJobFlowStepsInput) String() string { 3862 return awsutil.Prettify(s) 3863} 3864 3865// GoString returns the string representation 3866func (s AddJobFlowStepsInput) GoString() string { 3867 return s.String() 3868} 3869 3870// Validate inspects the fields of the type to determine if they are valid. 3871func (s *AddJobFlowStepsInput) Validate() error { 3872 invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} 3873 if s.JobFlowId == nil { 3874 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 3875 } 3876 if s.Steps == nil { 3877 invalidParams.Add(request.NewErrParamRequired("Steps")) 3878 } 3879 if s.Steps != nil { 3880 for i, v := range s.Steps { 3881 if v == nil { 3882 continue 3883 } 3884 if err := v.Validate(); err != nil { 3885 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 3886 } 3887 } 3888 } 3889 3890 if invalidParams.Len() > 0 { 3891 return invalidParams 3892 } 3893 return nil 3894} 3895 3896// SetJobFlowId sets the JobFlowId field's value. 3897func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput { 3898 s.JobFlowId = &v 3899 return s 3900} 3901 3902// SetSteps sets the Steps field's value. 3903func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput { 3904 s.Steps = v 3905 return s 3906} 3907 3908// The output for the AddJobFlowSteps operation. 3909type AddJobFlowStepsOutput struct { 3910 _ struct{} `type:"structure"` 3911 3912 // The identifiers of the list of steps added to the job flow. 3913 StepIds []*string `type:"list"` 3914} 3915 3916// String returns the string representation 3917func (s AddJobFlowStepsOutput) String() string { 3918 return awsutil.Prettify(s) 3919} 3920 3921// GoString returns the string representation 3922func (s AddJobFlowStepsOutput) GoString() string { 3923 return s.String() 3924} 3925 3926// SetStepIds sets the StepIds field's value. 3927func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput { 3928 s.StepIds = v 3929 return s 3930} 3931 3932// This input identifies a cluster and a list of tags to attach. 3933type AddTagsInput struct { 3934 _ struct{} `type:"structure"` 3935 3936 // The Amazon EMR resource identifier to which tags will be added. This value 3937 // must be a cluster identifier. 3938 // 3939 // ResourceId is a required field 3940 ResourceId *string `type:"string" required:"true"` 3941 3942 // A list of tags to associate with a cluster and propagate to EC2 instances. 3943 // Tags are user-defined key/value pairs that consist of a required key string 3944 // with a maximum of 128 characters, and an optional value string with a maximum 3945 // of 256 characters. 3946 // 3947 // Tags is a required field 3948 Tags []*Tag `type:"list" required:"true"` 3949} 3950 3951// String returns the string representation 3952func (s AddTagsInput) String() string { 3953 return awsutil.Prettify(s) 3954} 3955 3956// GoString returns the string representation 3957func (s AddTagsInput) GoString() string { 3958 return s.String() 3959} 3960 3961// Validate inspects the fields of the type to determine if they are valid. 3962func (s *AddTagsInput) Validate() error { 3963 invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} 3964 if s.ResourceId == nil { 3965 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 3966 } 3967 if s.Tags == nil { 3968 invalidParams.Add(request.NewErrParamRequired("Tags")) 3969 } 3970 3971 if invalidParams.Len() > 0 { 3972 return invalidParams 3973 } 3974 return nil 3975} 3976 3977// SetResourceId sets the ResourceId field's value. 3978func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput { 3979 s.ResourceId = &v 3980 return s 3981} 3982 3983// SetTags sets the Tags field's value. 3984func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { 3985 s.Tags = v 3986 return s 3987} 3988 3989// This output indicates the result of adding tags to a resource. 3990type AddTagsOutput struct { 3991 _ struct{} `type:"structure"` 3992} 3993 3994// String returns the string representation 3995func (s AddTagsOutput) String() string { 3996 return awsutil.Prettify(s) 3997} 3998 3999// GoString returns the string representation 4000func (s AddTagsOutput) GoString() string { 4001 return s.String() 4002} 4003 4004// With Amazon EMR release version 4.0 and later, the only accepted parameter 4005// is the application name. To pass arguments to applications, you use configuration 4006// classifications specified using configuration JSON objects. For more information, 4007// see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 4008// 4009// With earlier Amazon EMR releases, the application is any Amazon or third-party 4010// software that you can add to the cluster. This structure contains a list 4011// of strings that indicates the software to use with the cluster and accepts 4012// a user argument list. Amazon EMR accepts and forwards the argument list to 4013// the corresponding installation script as bootstrap action argument. 4014type Application struct { 4015 _ struct{} `type:"structure"` 4016 4017 // This option is for advanced users only. This is meta information about third-party 4018 // applications that third-party vendors use for testing purposes. 4019 AdditionalInfo map[string]*string `type:"map"` 4020 4021 // Arguments for Amazon EMR to pass to the application. 4022 Args []*string `type:"list"` 4023 4024 // The name of the application. 4025 Name *string `type:"string"` 4026 4027 // The version of the application. 4028 Version *string `type:"string"` 4029} 4030 4031// String returns the string representation 4032func (s Application) String() string { 4033 return awsutil.Prettify(s) 4034} 4035 4036// GoString returns the string representation 4037func (s Application) GoString() string { 4038 return s.String() 4039} 4040 4041// SetAdditionalInfo sets the AdditionalInfo field's value. 4042func (s *Application) SetAdditionalInfo(v map[string]*string) *Application { 4043 s.AdditionalInfo = v 4044 return s 4045} 4046 4047// SetArgs sets the Args field's value. 4048func (s *Application) SetArgs(v []*string) *Application { 4049 s.Args = v 4050 return s 4051} 4052 4053// SetName sets the Name field's value. 4054func (s *Application) SetName(v string) *Application { 4055 s.Name = &v 4056 return s 4057} 4058 4059// SetVersion sets the Version field's value. 4060func (s *Application) SetVersion(v string) *Application { 4061 s.Version = &v 4062 return s 4063} 4064 4065// An automatic scaling policy for a core instance group or task instance group 4066// in an Amazon EMR cluster. An automatic scaling policy defines how an instance 4067// group dynamically adds and terminates EC2 instances in response to the value 4068// of a CloudWatch metric. See PutAutoScalingPolicy. 4069type AutoScalingPolicy struct { 4070 _ struct{} `type:"structure"` 4071 4072 // The upper and lower EC2 instance limits for an automatic scaling policy. 4073 // Automatic scaling activity will not cause an instance group to grow above 4074 // or below these limits. 4075 // 4076 // Constraints is a required field 4077 Constraints *ScalingConstraints `type:"structure" required:"true"` 4078 4079 // The scale-in and scale-out rules that comprise the automatic scaling policy. 4080 // 4081 // Rules is a required field 4082 Rules []*ScalingRule `type:"list" required:"true"` 4083} 4084 4085// String returns the string representation 4086func (s AutoScalingPolicy) String() string { 4087 return awsutil.Prettify(s) 4088} 4089 4090// GoString returns the string representation 4091func (s AutoScalingPolicy) GoString() string { 4092 return s.String() 4093} 4094 4095// Validate inspects the fields of the type to determine if they are valid. 4096func (s *AutoScalingPolicy) Validate() error { 4097 invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"} 4098 if s.Constraints == nil { 4099 invalidParams.Add(request.NewErrParamRequired("Constraints")) 4100 } 4101 if s.Rules == nil { 4102 invalidParams.Add(request.NewErrParamRequired("Rules")) 4103 } 4104 if s.Constraints != nil { 4105 if err := s.Constraints.Validate(); err != nil { 4106 invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams)) 4107 } 4108 } 4109 if s.Rules != nil { 4110 for i, v := range s.Rules { 4111 if v == nil { 4112 continue 4113 } 4114 if err := v.Validate(); err != nil { 4115 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 4116 } 4117 } 4118 } 4119 4120 if invalidParams.Len() > 0 { 4121 return invalidParams 4122 } 4123 return nil 4124} 4125 4126// SetConstraints sets the Constraints field's value. 4127func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy { 4128 s.Constraints = v 4129 return s 4130} 4131 4132// SetRules sets the Rules field's value. 4133func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy { 4134 s.Rules = v 4135 return s 4136} 4137 4138// An automatic scaling policy for a core instance group or task instance group 4139// in an Amazon EMR cluster. The automatic scaling policy defines how an instance 4140// group dynamically adds and terminates EC2 instances in response to the value 4141// of a CloudWatch metric. See PutAutoScalingPolicy. 4142type AutoScalingPolicyDescription struct { 4143 _ struct{} `type:"structure"` 4144 4145 // The upper and lower EC2 instance limits for an automatic scaling policy. 4146 // Automatic scaling activity will not cause an instance group to grow above 4147 // or below these limits. 4148 Constraints *ScalingConstraints `type:"structure"` 4149 4150 // The scale-in and scale-out rules that comprise the automatic scaling policy. 4151 Rules []*ScalingRule `type:"list"` 4152 4153 // The status of an automatic scaling policy. 4154 Status *AutoScalingPolicyStatus `type:"structure"` 4155} 4156 4157// String returns the string representation 4158func (s AutoScalingPolicyDescription) String() string { 4159 return awsutil.Prettify(s) 4160} 4161 4162// GoString returns the string representation 4163func (s AutoScalingPolicyDescription) GoString() string { 4164 return s.String() 4165} 4166 4167// SetConstraints sets the Constraints field's value. 4168func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription { 4169 s.Constraints = v 4170 return s 4171} 4172 4173// SetRules sets the Rules field's value. 4174func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription { 4175 s.Rules = v 4176 return s 4177} 4178 4179// SetStatus sets the Status field's value. 4180func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription { 4181 s.Status = v 4182 return s 4183} 4184 4185// The reason for an AutoScalingPolicyStatus change. 4186type AutoScalingPolicyStateChangeReason struct { 4187 _ struct{} `type:"structure"` 4188 4189 // The code indicating the reason for the change in status.USER_REQUEST indicates 4190 // that the scaling policy status was changed by a user. PROVISION_FAILURE indicates 4191 // that the status change was because the policy failed to provision. CLEANUP_FAILURE 4192 // indicates an error. 4193 Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"` 4194 4195 // A friendly, more verbose message that accompanies an automatic scaling policy 4196 // state change. 4197 Message *string `type:"string"` 4198} 4199 4200// String returns the string representation 4201func (s AutoScalingPolicyStateChangeReason) String() string { 4202 return awsutil.Prettify(s) 4203} 4204 4205// GoString returns the string representation 4206func (s AutoScalingPolicyStateChangeReason) GoString() string { 4207 return s.String() 4208} 4209 4210// SetCode sets the Code field's value. 4211func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason { 4212 s.Code = &v 4213 return s 4214} 4215 4216// SetMessage sets the Message field's value. 4217func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason { 4218 s.Message = &v 4219 return s 4220} 4221 4222// The status of an automatic scaling policy. 4223type AutoScalingPolicyStatus struct { 4224 _ struct{} `type:"structure"` 4225 4226 // Indicates the status of the automatic scaling policy. 4227 State *string `type:"string" enum:"AutoScalingPolicyState"` 4228 4229 // The reason for a change in status. 4230 StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"` 4231} 4232 4233// String returns the string representation 4234func (s AutoScalingPolicyStatus) String() string { 4235 return awsutil.Prettify(s) 4236} 4237 4238// GoString returns the string representation 4239func (s AutoScalingPolicyStatus) GoString() string { 4240 return s.String() 4241} 4242 4243// SetState sets the State field's value. 4244func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus { 4245 s.State = &v 4246 return s 4247} 4248 4249// SetStateChangeReason sets the StateChangeReason field's value. 4250func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus { 4251 s.StateChangeReason = v 4252 return s 4253} 4254 4255// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules 4256// is set to true, Amazon EMR prevents cluster creation if one of the cluster's 4257// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or 4258// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. 4259type BlockPublicAccessConfiguration struct { 4260 _ struct{} `type:"structure"` 4261 4262 // Indicates whether EMR block public access is enabled (true) or disabled (false). 4263 // By default, the value is false for accounts that have created EMR clusters 4264 // before July 2019. For accounts created after this, the default is true. 4265 // 4266 // BlockPublicSecurityGroupRules is a required field 4267 BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` 4268 4269 // Specifies ports and port ranges that are permitted to have security group 4270 // rules that allow inbound traffic from all public sources. For example, if 4271 // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, 4272 // Amazon EMR allows cluster creation if a security group associated with the 4273 // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 4274 // or IPv6 port ::/0 as the source. 4275 // 4276 // By default, Port 22, which is used for SSH access to the cluster EC2 instances, 4277 // is in the list of PermittedPublicSecurityGroupRuleRanges. 4278 PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` 4279} 4280 4281// String returns the string representation 4282func (s BlockPublicAccessConfiguration) String() string { 4283 return awsutil.Prettify(s) 4284} 4285 4286// GoString returns the string representation 4287func (s BlockPublicAccessConfiguration) GoString() string { 4288 return s.String() 4289} 4290 4291// Validate inspects the fields of the type to determine if they are valid. 4292func (s *BlockPublicAccessConfiguration) Validate() error { 4293 invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} 4294 if s.BlockPublicSecurityGroupRules == nil { 4295 invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) 4296 } 4297 if s.PermittedPublicSecurityGroupRuleRanges != nil { 4298 for i, v := range s.PermittedPublicSecurityGroupRuleRanges { 4299 if v == nil { 4300 continue 4301 } 4302 if err := v.Validate(); err != nil { 4303 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) 4304 } 4305 } 4306 } 4307 4308 if invalidParams.Len() > 0 { 4309 return invalidParams 4310 } 4311 return nil 4312} 4313 4314// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. 4315func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { 4316 s.BlockPublicSecurityGroupRules = &v 4317 return s 4318} 4319 4320// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. 4321func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { 4322 s.PermittedPublicSecurityGroupRuleRanges = v 4323 return s 4324} 4325 4326// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 4327// using the PutBlockPublicAccessConfiguration action as well as the date and 4328// time that the configuration was created. Each time a configuration for block 4329// public access is updated, Amazon EMR updates this metadata. 4330type BlockPublicAccessConfigurationMetadata struct { 4331 _ struct{} `type:"structure"` 4332 4333 // The Amazon Resource Name that created or last modified the configuration. 4334 // 4335 // CreatedByArn is a required field 4336 CreatedByArn *string `min:"20" type:"string" required:"true"` 4337 4338 // The date and time that the configuration was created. 4339 // 4340 // CreationDateTime is a required field 4341 CreationDateTime *time.Time `type:"timestamp" required:"true"` 4342} 4343 4344// String returns the string representation 4345func (s BlockPublicAccessConfigurationMetadata) String() string { 4346 return awsutil.Prettify(s) 4347} 4348 4349// GoString returns the string representation 4350func (s BlockPublicAccessConfigurationMetadata) GoString() string { 4351 return s.String() 4352} 4353 4354// SetCreatedByArn sets the CreatedByArn field's value. 4355func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { 4356 s.CreatedByArn = &v 4357 return s 4358} 4359 4360// SetCreationDateTime sets the CreationDateTime field's value. 4361func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { 4362 s.CreationDateTime = &v 4363 return s 4364} 4365 4366// Configuration of a bootstrap action. 4367type BootstrapActionConfig struct { 4368 _ struct{} `type:"structure"` 4369 4370 // The name of the bootstrap action. 4371 // 4372 // Name is a required field 4373 Name *string `type:"string" required:"true"` 4374 4375 // The script run by the bootstrap action. 4376 // 4377 // ScriptBootstrapAction is a required field 4378 ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` 4379} 4380 4381// String returns the string representation 4382func (s BootstrapActionConfig) String() string { 4383 return awsutil.Prettify(s) 4384} 4385 4386// GoString returns the string representation 4387func (s BootstrapActionConfig) GoString() string { 4388 return s.String() 4389} 4390 4391// Validate inspects the fields of the type to determine if they are valid. 4392func (s *BootstrapActionConfig) Validate() error { 4393 invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} 4394 if s.Name == nil { 4395 invalidParams.Add(request.NewErrParamRequired("Name")) 4396 } 4397 if s.ScriptBootstrapAction == nil { 4398 invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) 4399 } 4400 if s.ScriptBootstrapAction != nil { 4401 if err := s.ScriptBootstrapAction.Validate(); err != nil { 4402 invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) 4403 } 4404 } 4405 4406 if invalidParams.Len() > 0 { 4407 return invalidParams 4408 } 4409 return nil 4410} 4411 4412// SetName sets the Name field's value. 4413func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig { 4414 s.Name = &v 4415 return s 4416} 4417 4418// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value. 4419func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig { 4420 s.ScriptBootstrapAction = v 4421 return s 4422} 4423 4424// Reports the configuration of a bootstrap action in a cluster (job flow). 4425type BootstrapActionDetail struct { 4426 _ struct{} `type:"structure"` 4427 4428 // A description of the bootstrap action. 4429 BootstrapActionConfig *BootstrapActionConfig `type:"structure"` 4430} 4431 4432// String returns the string representation 4433func (s BootstrapActionDetail) String() string { 4434 return awsutil.Prettify(s) 4435} 4436 4437// GoString returns the string representation 4438func (s BootstrapActionDetail) GoString() string { 4439 return s.String() 4440} 4441 4442// SetBootstrapActionConfig sets the BootstrapActionConfig field's value. 4443func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail { 4444 s.BootstrapActionConfig = v 4445 return s 4446} 4447 4448// Specification of the status of a CancelSteps request. Available only in Amazon 4449// EMR version 4.8.0 and later, excluding version 5.0.0. 4450type CancelStepsInfo struct { 4451 _ struct{} `type:"structure"` 4452 4453 // The reason for the failure if the CancelSteps request fails. 4454 Reason *string `type:"string"` 4455 4456 // The status of a CancelSteps Request. The value may be SUBMITTED or FAILED. 4457 Status *string `type:"string" enum:"CancelStepsRequestStatus"` 4458 4459 // The encrypted StepId of a step. 4460 StepId *string `type:"string"` 4461} 4462 4463// String returns the string representation 4464func (s CancelStepsInfo) String() string { 4465 return awsutil.Prettify(s) 4466} 4467 4468// GoString returns the string representation 4469func (s CancelStepsInfo) GoString() string { 4470 return s.String() 4471} 4472 4473// SetReason sets the Reason field's value. 4474func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo { 4475 s.Reason = &v 4476 return s 4477} 4478 4479// SetStatus sets the Status field's value. 4480func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo { 4481 s.Status = &v 4482 return s 4483} 4484 4485// SetStepId sets the StepId field's value. 4486func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo { 4487 s.StepId = &v 4488 return s 4489} 4490 4491// The input argument to the CancelSteps operation. 4492type CancelStepsInput struct { 4493 _ struct{} `type:"structure"` 4494 4495 // The ClusterID for which specified steps will be canceled. Use RunJobFlow 4496 // and ListClusters to get ClusterIDs. 4497 // 4498 // ClusterId is a required field 4499 ClusterId *string `type:"string" required:"true"` 4500 4501 // The option to choose for cancelling RUNNING steps. By default, the value 4502 // is SEND_INTERRUPT. 4503 StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` 4504 4505 // The list of StepIDs to cancel. Use ListSteps to get steps and their states 4506 // for the specified cluster. 4507 // 4508 // StepIds is a required field 4509 StepIds []*string `type:"list" required:"true"` 4510} 4511 4512// String returns the string representation 4513func (s CancelStepsInput) String() string { 4514 return awsutil.Prettify(s) 4515} 4516 4517// GoString returns the string representation 4518func (s CancelStepsInput) GoString() string { 4519 return s.String() 4520} 4521 4522// Validate inspects the fields of the type to determine if they are valid. 4523func (s *CancelStepsInput) Validate() error { 4524 invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} 4525 if s.ClusterId == nil { 4526 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 4527 } 4528 if s.StepIds == nil { 4529 invalidParams.Add(request.NewErrParamRequired("StepIds")) 4530 } 4531 4532 if invalidParams.Len() > 0 { 4533 return invalidParams 4534 } 4535 return nil 4536} 4537 4538// SetClusterId sets the ClusterId field's value. 4539func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { 4540 s.ClusterId = &v 4541 return s 4542} 4543 4544// SetStepCancellationOption sets the StepCancellationOption field's value. 4545func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { 4546 s.StepCancellationOption = &v 4547 return s 4548} 4549 4550// SetStepIds sets the StepIds field's value. 4551func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { 4552 s.StepIds = v 4553 return s 4554} 4555 4556// The output for the CancelSteps operation. 4557type CancelStepsOutput struct { 4558 _ struct{} `type:"structure"` 4559 4560 // A list of CancelStepsInfo, which shows the status of specified cancel requests 4561 // for each StepID specified. 4562 CancelStepsInfoList []*CancelStepsInfo `type:"list"` 4563} 4564 4565// String returns the string representation 4566func (s CancelStepsOutput) String() string { 4567 return awsutil.Prettify(s) 4568} 4569 4570// GoString returns the string representation 4571func (s CancelStepsOutput) GoString() string { 4572 return s.String() 4573} 4574 4575// SetCancelStepsInfoList sets the CancelStepsInfoList field's value. 4576func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput { 4577 s.CancelStepsInfoList = v 4578 return s 4579} 4580 4581// The definition of a CloudWatch metric alarm, which determines when an automatic 4582// scaling activity is triggered. When the defined alarm conditions are satisfied, 4583// scaling activity begins. 4584type CloudWatchAlarmDefinition struct { 4585 _ struct{} `type:"structure"` 4586 4587 // Determines how the metric specified by MetricName is compared to the value 4588 // specified by Threshold. 4589 // 4590 // ComparisonOperator is a required field 4591 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 4592 4593 // A CloudWatch metric dimension. 4594 Dimensions []*MetricDimension `type:"list"` 4595 4596 // The number of periods, in five-minute increments, during which the alarm 4597 // condition must exist before the alarm triggers automatic scaling activity. 4598 // The default value is 1. 4599 EvaluationPeriods *int64 `type:"integer"` 4600 4601 // The name of the CloudWatch metric that is watched to determine an alarm condition. 4602 // 4603 // MetricName is a required field 4604 MetricName *string `type:"string" required:"true"` 4605 4606 // The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. 4607 Namespace *string `type:"string"` 4608 4609 // The period, in seconds, over which the statistic is applied. EMR CloudWatch 4610 // metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch 4611 // metric is specified, specify 300. 4612 // 4613 // Period is a required field 4614 Period *int64 `type:"integer" required:"true"` 4615 4616 // The statistic to apply to the metric associated with the alarm. The default 4617 // is AVERAGE. 4618 Statistic *string `type:"string" enum:"Statistic"` 4619 4620 // The value against which the specified statistic is compared. 4621 // 4622 // Threshold is a required field 4623 Threshold *float64 `type:"double" required:"true"` 4624 4625 // The unit of measure associated with the CloudWatch metric being watched. 4626 // The value specified for Unit must correspond to the units specified in the 4627 // CloudWatch metric. 4628 Unit *string `type:"string" enum:"Unit"` 4629} 4630 4631// String returns the string representation 4632func (s CloudWatchAlarmDefinition) String() string { 4633 return awsutil.Prettify(s) 4634} 4635 4636// GoString returns the string representation 4637func (s CloudWatchAlarmDefinition) GoString() string { 4638 return s.String() 4639} 4640 4641// Validate inspects the fields of the type to determine if they are valid. 4642func (s *CloudWatchAlarmDefinition) Validate() error { 4643 invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"} 4644 if s.ComparisonOperator == nil { 4645 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 4646 } 4647 if s.MetricName == nil { 4648 invalidParams.Add(request.NewErrParamRequired("MetricName")) 4649 } 4650 if s.Period == nil { 4651 invalidParams.Add(request.NewErrParamRequired("Period")) 4652 } 4653 if s.Threshold == nil { 4654 invalidParams.Add(request.NewErrParamRequired("Threshold")) 4655 } 4656 4657 if invalidParams.Len() > 0 { 4658 return invalidParams 4659 } 4660 return nil 4661} 4662 4663// SetComparisonOperator sets the ComparisonOperator field's value. 4664func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition { 4665 s.ComparisonOperator = &v 4666 return s 4667} 4668 4669// SetDimensions sets the Dimensions field's value. 4670func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition { 4671 s.Dimensions = v 4672 return s 4673} 4674 4675// SetEvaluationPeriods sets the EvaluationPeriods field's value. 4676func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition { 4677 s.EvaluationPeriods = &v 4678 return s 4679} 4680 4681// SetMetricName sets the MetricName field's value. 4682func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition { 4683 s.MetricName = &v 4684 return s 4685} 4686 4687// SetNamespace sets the Namespace field's value. 4688func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition { 4689 s.Namespace = &v 4690 return s 4691} 4692 4693// SetPeriod sets the Period field's value. 4694func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition { 4695 s.Period = &v 4696 return s 4697} 4698 4699// SetStatistic sets the Statistic field's value. 4700func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition { 4701 s.Statistic = &v 4702 return s 4703} 4704 4705// SetThreshold sets the Threshold field's value. 4706func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition { 4707 s.Threshold = &v 4708 return s 4709} 4710 4711// SetUnit sets the Unit field's value. 4712func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition { 4713 s.Unit = &v 4714 return s 4715} 4716 4717// The detailed description of the cluster. 4718type Cluster struct { 4719 _ struct{} `type:"structure"` 4720 4721 // The applications installed on this cluster. 4722 Applications []*Application `type:"list"` 4723 4724 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 4725 // The IAM role provides permissions that the automatic scaling feature requires 4726 // to launch and terminate EC2 instances in an instance group. 4727 AutoScalingRole *string `type:"string"` 4728 4729 // Specifies whether the cluster should terminate after completing all steps. 4730 AutoTerminate *bool `type:"boolean"` 4731 4732 // The Amazon Resource Name of the cluster. 4733 ClusterArn *string `min:"20" type:"string"` 4734 4735 // Applies only to Amazon EMR releases 4.x and later. The list of Configurations 4736 // supplied to the EMR cluster. 4737 Configurations []*Configuration `type:"list"` 4738 4739 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 4740 // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. 4741 CustomAmiId *string `type:"string"` 4742 4743 // The size, in GiB, of the EBS root device volume of the Linux AMI that is 4744 // used for each EC2 instance. Available in Amazon EMR version 4.x and later. 4745 EbsRootVolumeSize *int64 `type:"integer"` 4746 4747 // Provides information about the EC2 instances in a cluster grouped by category. 4748 // For example, key name, subnet ID, IAM instance profile, and so on. 4749 Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"` 4750 4751 // The unique identifier for the cluster. 4752 Id *string `type:"string"` 4753 4754 // 4755 // The instance fleet configuration is available only in Amazon EMR versions 4756 // 4.8.0 and later, excluding 5.0.x versions. 4757 // 4758 // The instance group configuration of the cluster. A value of INSTANCE_GROUP 4759 // indicates a uniform instance group configuration. A value of INSTANCE_FLEET 4760 // indicates an instance fleets configuration. 4761 InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"` 4762 4763 // Attributes for Kerberos configuration when Kerberos authentication is enabled 4764 // using a security configuration. For more information see Use Kerberos Authentication 4765 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 4766 // in the EMR Management Guide. 4767 KerberosAttributes *KerberosAttributes `type:"structure"` 4768 4769 // The AWS KMS customer master key (CMK) used for encrypting log files. This 4770 // attribute is only available with EMR version 5.30.0 and later, excluding 4771 // EMR 6.0.0. 4772 LogEncryptionKmsKeyId *string `type:"string"` 4773 4774 // The path to the Amazon S3 location where logs for this cluster are stored. 4775 LogUri *string `type:"string"` 4776 4777 // The DNS name of the master node. If the cluster is on a private subnet, this 4778 // is the private DNS name. On a public subnet, this is the public DNS name. 4779 MasterPublicDnsName *string `type:"string"` 4780 4781 // The name of the cluster. 4782 Name *string `type:"string"` 4783 4784 // An approximation of the cost of the cluster, represented in m1.small/hours. 4785 // This value is incremented one time for every hour an m1.small instance runs. 4786 // Larger instances are weighted more, so an EC2 instance that is roughly four 4787 // times more expensive would result in the normalized instance hours being 4788 // incremented by four. This result is only an approximation and does not reflect 4789 // the actual billing rate. 4790 NormalizedInstanceHours *int64 `type:"integer"` 4791 4792 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 4793 OutpostArn *string `type:"string"` 4794 4795 // Placement group configured for an Amazon EMR cluster. 4796 PlacementGroups []*PlacementGroupConfig `type:"list"` 4797 4798 // The Amazon EMR release label, which determines the version of open-source 4799 // application packages installed on the cluster. Release labels are in the 4800 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 4801 // For more information about Amazon EMR release versions and included application 4802 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 4803 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 4804 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 4805 // use AmiVersion. 4806 ReleaseLabel *string `type:"string"` 4807 4808 // Applies only when CustomAmiID is used. Specifies the type of updates that 4809 // are applied from the Amazon Linux AMI package repositories when an instance 4810 // boots using the AMI. 4811 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 4812 4813 // The AMI version requested for this cluster. 4814 RequestedAmiVersion *string `type:"string"` 4815 4816 // The AMI version running on this cluster. 4817 RunningAmiVersion *string `type:"string"` 4818 4819 // The way that individual Amazon EC2 instances terminate when an automatic 4820 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 4821 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 4822 // regardless of when the request to terminate the instance was submitted. This 4823 // option is only available with Amazon EMR 5.1.0 and later and is the default 4824 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 4825 // that Amazon EMR blacklists and drains tasks from nodes before terminating 4826 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 4827 // either behavior, Amazon EMR removes the least active nodes first and blocks 4828 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 4829 // is available only in Amazon EMR version 4.1.0 and later, and is the default 4830 // for versions of Amazon EMR earlier than 5.1.0. 4831 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 4832 4833 // The name of the security configuration applied to the cluster. 4834 SecurityConfiguration *string `type:"string"` 4835 4836 // The IAM role that will be assumed by the Amazon EMR service to access AWS 4837 // resources on your behalf. 4838 ServiceRole *string `type:"string"` 4839 4840 // The current status details about the cluster. 4841 Status *ClusterStatus `type:"structure"` 4842 4843 // Specifies the number of steps that can be executed concurrently. 4844 StepConcurrencyLevel *int64 `type:"integer"` 4845 4846 // A list of tags associated with a cluster. 4847 Tags []*Tag `type:"list"` 4848 4849 // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances 4850 // from being terminated by an API call or user intervention, or in the event 4851 // of a cluster error. 4852 TerminationProtected *bool `type:"boolean"` 4853 4854 // Indicates whether the cluster is visible to all IAM users of the AWS account 4855 // associated with the cluster. The default value, true, indicates that all 4856 // IAM users in the AWS account can perform cluster actions if they have the 4857 // proper IAM policy permissions. If this value is false, only the IAM user 4858 // that created the cluster can perform actions. This value can be changed on 4859 // a running cluster by using the SetVisibleToAllUsers action. You can override 4860 // the default value of true when you create a cluster by using the VisibleToAllUsers 4861 // parameter of the RunJobFlow action. 4862 VisibleToAllUsers *bool `type:"boolean"` 4863} 4864 4865// String returns the string representation 4866func (s Cluster) String() string { 4867 return awsutil.Prettify(s) 4868} 4869 4870// GoString returns the string representation 4871func (s Cluster) GoString() string { 4872 return s.String() 4873} 4874 4875// SetApplications sets the Applications field's value. 4876func (s *Cluster) SetApplications(v []*Application) *Cluster { 4877 s.Applications = v 4878 return s 4879} 4880 4881// SetAutoScalingRole sets the AutoScalingRole field's value. 4882func (s *Cluster) SetAutoScalingRole(v string) *Cluster { 4883 s.AutoScalingRole = &v 4884 return s 4885} 4886 4887// SetAutoTerminate sets the AutoTerminate field's value. 4888func (s *Cluster) SetAutoTerminate(v bool) *Cluster { 4889 s.AutoTerminate = &v 4890 return s 4891} 4892 4893// SetClusterArn sets the ClusterArn field's value. 4894func (s *Cluster) SetClusterArn(v string) *Cluster { 4895 s.ClusterArn = &v 4896 return s 4897} 4898 4899// SetConfigurations sets the Configurations field's value. 4900func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster { 4901 s.Configurations = v 4902 return s 4903} 4904 4905// SetCustomAmiId sets the CustomAmiId field's value. 4906func (s *Cluster) SetCustomAmiId(v string) *Cluster { 4907 s.CustomAmiId = &v 4908 return s 4909} 4910 4911// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 4912func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster { 4913 s.EbsRootVolumeSize = &v 4914 return s 4915} 4916 4917// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value. 4918func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster { 4919 s.Ec2InstanceAttributes = v 4920 return s 4921} 4922 4923// SetId sets the Id field's value. 4924func (s *Cluster) SetId(v string) *Cluster { 4925 s.Id = &v 4926 return s 4927} 4928 4929// SetInstanceCollectionType sets the InstanceCollectionType field's value. 4930func (s *Cluster) SetInstanceCollectionType(v string) *Cluster { 4931 s.InstanceCollectionType = &v 4932 return s 4933} 4934 4935// SetKerberosAttributes sets the KerberosAttributes field's value. 4936func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { 4937 s.KerberosAttributes = v 4938 return s 4939} 4940 4941// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 4942func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { 4943 s.LogEncryptionKmsKeyId = &v 4944 return s 4945} 4946 4947// SetLogUri sets the LogUri field's value. 4948func (s *Cluster) SetLogUri(v string) *Cluster { 4949 s.LogUri = &v 4950 return s 4951} 4952 4953// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 4954func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster { 4955 s.MasterPublicDnsName = &v 4956 return s 4957} 4958 4959// SetName sets the Name field's value. 4960func (s *Cluster) SetName(v string) *Cluster { 4961 s.Name = &v 4962 return s 4963} 4964 4965// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 4966func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { 4967 s.NormalizedInstanceHours = &v 4968 return s 4969} 4970 4971// SetOutpostArn sets the OutpostArn field's value. 4972func (s *Cluster) SetOutpostArn(v string) *Cluster { 4973 s.OutpostArn = &v 4974 return s 4975} 4976 4977// SetPlacementGroups sets the PlacementGroups field's value. 4978func (s *Cluster) SetPlacementGroups(v []*PlacementGroupConfig) *Cluster { 4979 s.PlacementGroups = v 4980 return s 4981} 4982 4983// SetReleaseLabel sets the ReleaseLabel field's value. 4984func (s *Cluster) SetReleaseLabel(v string) *Cluster { 4985 s.ReleaseLabel = &v 4986 return s 4987} 4988 4989// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 4990func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster { 4991 s.RepoUpgradeOnBoot = &v 4992 return s 4993} 4994 4995// SetRequestedAmiVersion sets the RequestedAmiVersion field's value. 4996func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster { 4997 s.RequestedAmiVersion = &v 4998 return s 4999} 5000 5001// SetRunningAmiVersion sets the RunningAmiVersion field's value. 5002func (s *Cluster) SetRunningAmiVersion(v string) *Cluster { 5003 s.RunningAmiVersion = &v 5004 return s 5005} 5006 5007// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 5008func (s *Cluster) SetScaleDownBehavior(v string) *Cluster { 5009 s.ScaleDownBehavior = &v 5010 return s 5011} 5012 5013// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5014func (s *Cluster) SetSecurityConfiguration(v string) *Cluster { 5015 s.SecurityConfiguration = &v 5016 return s 5017} 5018 5019// SetServiceRole sets the ServiceRole field's value. 5020func (s *Cluster) SetServiceRole(v string) *Cluster { 5021 s.ServiceRole = &v 5022 return s 5023} 5024 5025// SetStatus sets the Status field's value. 5026func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { 5027 s.Status = v 5028 return s 5029} 5030 5031// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 5032func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { 5033 s.StepConcurrencyLevel = &v 5034 return s 5035} 5036 5037// SetTags sets the Tags field's value. 5038func (s *Cluster) SetTags(v []*Tag) *Cluster { 5039 s.Tags = v 5040 return s 5041} 5042 5043// SetTerminationProtected sets the TerminationProtected field's value. 5044func (s *Cluster) SetTerminationProtected(v bool) *Cluster { 5045 s.TerminationProtected = &v 5046 return s 5047} 5048 5049// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 5050func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster { 5051 s.VisibleToAllUsers = &v 5052 return s 5053} 5054 5055// The reason that the cluster changed to its current state. 5056type ClusterStateChangeReason struct { 5057 _ struct{} `type:"structure"` 5058 5059 // The programmatic code for the state change reason. 5060 Code *string `type:"string" enum:"ClusterStateChangeReasonCode"` 5061 5062 // The descriptive message for the state change reason. 5063 Message *string `type:"string"` 5064} 5065 5066// String returns the string representation 5067func (s ClusterStateChangeReason) String() string { 5068 return awsutil.Prettify(s) 5069} 5070 5071// GoString returns the string representation 5072func (s ClusterStateChangeReason) GoString() string { 5073 return s.String() 5074} 5075 5076// SetCode sets the Code field's value. 5077func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason { 5078 s.Code = &v 5079 return s 5080} 5081 5082// SetMessage sets the Message field's value. 5083func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason { 5084 s.Message = &v 5085 return s 5086} 5087 5088// The detailed status of the cluster. 5089type ClusterStatus struct { 5090 _ struct{} `type:"structure"` 5091 5092 // The current state of the cluster. 5093 State *string `type:"string" enum:"ClusterState"` 5094 5095 // The reason for the cluster status change. 5096 StateChangeReason *ClusterStateChangeReason `type:"structure"` 5097 5098 // A timeline that represents the status of a cluster over the lifetime of the 5099 // cluster. 5100 Timeline *ClusterTimeline `type:"structure"` 5101} 5102 5103// String returns the string representation 5104func (s ClusterStatus) String() string { 5105 return awsutil.Prettify(s) 5106} 5107 5108// GoString returns the string representation 5109func (s ClusterStatus) GoString() string { 5110 return s.String() 5111} 5112 5113// SetState sets the State field's value. 5114func (s *ClusterStatus) SetState(v string) *ClusterStatus { 5115 s.State = &v 5116 return s 5117} 5118 5119// SetStateChangeReason sets the StateChangeReason field's value. 5120func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus { 5121 s.StateChangeReason = v 5122 return s 5123} 5124 5125// SetTimeline sets the Timeline field's value. 5126func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus { 5127 s.Timeline = v 5128 return s 5129} 5130 5131// The summary description of the cluster. 5132type ClusterSummary struct { 5133 _ struct{} `type:"structure"` 5134 5135 // The Amazon Resource Name of the cluster. 5136 ClusterArn *string `min:"20" type:"string"` 5137 5138 // The unique identifier for the cluster. 5139 Id *string `type:"string"` 5140 5141 // The name of the cluster. 5142 Name *string `type:"string"` 5143 5144 // An approximation of the cost of the cluster, represented in m1.small/hours. 5145 // This value is incremented one time for every hour an m1.small instance runs. 5146 // Larger instances are weighted more, so an EC2 instance that is roughly four 5147 // times more expensive would result in the normalized instance hours being 5148 // incremented by four. This result is only an approximation and does not reflect 5149 // the actual billing rate. 5150 NormalizedInstanceHours *int64 `type:"integer"` 5151 5152 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 5153 OutpostArn *string `type:"string"` 5154 5155 // The details about the current status of the cluster. 5156 Status *ClusterStatus `type:"structure"` 5157} 5158 5159// String returns the string representation 5160func (s ClusterSummary) String() string { 5161 return awsutil.Prettify(s) 5162} 5163 5164// GoString returns the string representation 5165func (s ClusterSummary) GoString() string { 5166 return s.String() 5167} 5168 5169// SetClusterArn sets the ClusterArn field's value. 5170func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { 5171 s.ClusterArn = &v 5172 return s 5173} 5174 5175// SetId sets the Id field's value. 5176func (s *ClusterSummary) SetId(v string) *ClusterSummary { 5177 s.Id = &v 5178 return s 5179} 5180 5181// SetName sets the Name field's value. 5182func (s *ClusterSummary) SetName(v string) *ClusterSummary { 5183 s.Name = &v 5184 return s 5185} 5186 5187// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 5188func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { 5189 s.NormalizedInstanceHours = &v 5190 return s 5191} 5192 5193// SetOutpostArn sets the OutpostArn field's value. 5194func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { 5195 s.OutpostArn = &v 5196 return s 5197} 5198 5199// SetStatus sets the Status field's value. 5200func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { 5201 s.Status = v 5202 return s 5203} 5204 5205// Represents the timeline of the cluster's lifecycle. 5206type ClusterTimeline struct { 5207 _ struct{} `type:"structure"` 5208 5209 // The creation date and time of the cluster. 5210 CreationDateTime *time.Time `type:"timestamp"` 5211 5212 // The date and time when the cluster was terminated. 5213 EndDateTime *time.Time `type:"timestamp"` 5214 5215 // The date and time when the cluster was ready to execute steps. 5216 ReadyDateTime *time.Time `type:"timestamp"` 5217} 5218 5219// String returns the string representation 5220func (s ClusterTimeline) String() string { 5221 return awsutil.Prettify(s) 5222} 5223 5224// GoString returns the string representation 5225func (s ClusterTimeline) GoString() string { 5226 return s.String() 5227} 5228 5229// SetCreationDateTime sets the CreationDateTime field's value. 5230func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline { 5231 s.CreationDateTime = &v 5232 return s 5233} 5234 5235// SetEndDateTime sets the EndDateTime field's value. 5236func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline { 5237 s.EndDateTime = &v 5238 return s 5239} 5240 5241// SetReadyDateTime sets the ReadyDateTime field's value. 5242func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline { 5243 s.ReadyDateTime = &v 5244 return s 5245} 5246 5247// An entity describing an executable that runs on a cluster. 5248type Command struct { 5249 _ struct{} `type:"structure"` 5250 5251 // Arguments for Amazon EMR to pass to the command for execution. 5252 Args []*string `type:"list"` 5253 5254 // The name of the command. 5255 Name *string `type:"string"` 5256 5257 // The Amazon S3 location of the command script. 5258 ScriptPath *string `type:"string"` 5259} 5260 5261// String returns the string representation 5262func (s Command) String() string { 5263 return awsutil.Prettify(s) 5264} 5265 5266// GoString returns the string representation 5267func (s Command) GoString() string { 5268 return s.String() 5269} 5270 5271// SetArgs sets the Args field's value. 5272func (s *Command) SetArgs(v []*string) *Command { 5273 s.Args = v 5274 return s 5275} 5276 5277// SetName sets the Name field's value. 5278func (s *Command) SetName(v string) *Command { 5279 s.Name = &v 5280 return s 5281} 5282 5283// SetScriptPath sets the ScriptPath field's value. 5284func (s *Command) SetScriptPath(v string) *Command { 5285 s.ScriptPath = &v 5286 return s 5287} 5288 5289// The EC2 unit limits for a managed scaling policy. The managed scaling activity 5290// of a cluster can not be above or below these limits. The limit only applies 5291// to the core and task nodes. The master node cannot be scaled after initial 5292// configuration. 5293type ComputeLimits struct { 5294 _ struct{} `type:"structure"` 5295 5296 // The upper boundary of EC2 units. It is measured through VCPU cores or instances 5297 // for instance groups and measured through units for instance fleets. Managed 5298 // scaling activities are not allowed beyond this boundary. The limit only applies 5299 // to the core and task nodes. The master node cannot be scaled after initial 5300 // configuration. 5301 // 5302 // MaximumCapacityUnits is a required field 5303 MaximumCapacityUnits *int64 `type:"integer" required:"true"` 5304 5305 // The upper boundary of EC2 units for core node type in a cluster. It is measured 5306 // through VCPU cores or instances for instance groups and measured through 5307 // units for instance fleets. The core units are not allowed to scale beyond 5308 // this boundary. The parameter is used to split capacity allocation between 5309 // core and task nodes. 5310 MaximumCoreCapacityUnits *int64 `type:"integer"` 5311 5312 // The upper boundary of On-Demand EC2 units. It is measured through VCPU cores 5313 // or instances for instance groups and measured through units for instance 5314 // fleets. The On-Demand units are not allowed to scale beyond this boundary. 5315 // The parameter is used to split capacity allocation between On-Demand and 5316 // Spot instances. 5317 MaximumOnDemandCapacityUnits *int64 `type:"integer"` 5318 5319 // The lower boundary of EC2 units. It is measured through VCPU cores or instances 5320 // for instance groups and measured through units for instance fleets. Managed 5321 // scaling activities are not allowed beyond this boundary. The limit only applies 5322 // to the core and task nodes. The master node cannot be scaled after initial 5323 // configuration. 5324 // 5325 // MinimumCapacityUnits is a required field 5326 MinimumCapacityUnits *int64 `type:"integer" required:"true"` 5327 5328 // The unit type used for specifying a managed scaling policy. 5329 // 5330 // UnitType is a required field 5331 UnitType *string `type:"string" required:"true" enum:"ComputeLimitsUnitType"` 5332} 5333 5334// String returns the string representation 5335func (s ComputeLimits) String() string { 5336 return awsutil.Prettify(s) 5337} 5338 5339// GoString returns the string representation 5340func (s ComputeLimits) GoString() string { 5341 return s.String() 5342} 5343 5344// Validate inspects the fields of the type to determine if they are valid. 5345func (s *ComputeLimits) Validate() error { 5346 invalidParams := request.ErrInvalidParams{Context: "ComputeLimits"} 5347 if s.MaximumCapacityUnits == nil { 5348 invalidParams.Add(request.NewErrParamRequired("MaximumCapacityUnits")) 5349 } 5350 if s.MinimumCapacityUnits == nil { 5351 invalidParams.Add(request.NewErrParamRequired("MinimumCapacityUnits")) 5352 } 5353 if s.UnitType == nil { 5354 invalidParams.Add(request.NewErrParamRequired("UnitType")) 5355 } 5356 5357 if invalidParams.Len() > 0 { 5358 return invalidParams 5359 } 5360 return nil 5361} 5362 5363// SetMaximumCapacityUnits sets the MaximumCapacityUnits field's value. 5364func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { 5365 s.MaximumCapacityUnits = &v 5366 return s 5367} 5368 5369// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. 5370func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { 5371 s.MaximumCoreCapacityUnits = &v 5372 return s 5373} 5374 5375// SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. 5376func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { 5377 s.MaximumOnDemandCapacityUnits = &v 5378 return s 5379} 5380 5381// SetMinimumCapacityUnits sets the MinimumCapacityUnits field's value. 5382func (s *ComputeLimits) SetMinimumCapacityUnits(v int64) *ComputeLimits { 5383 s.MinimumCapacityUnits = &v 5384 return s 5385} 5386 5387// SetUnitType sets the UnitType field's value. 5388func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { 5389 s.UnitType = &v 5390 return s 5391} 5392 5393// 5394// Amazon EMR releases 4.x or later. 5395// 5396// An optional configuration specification to be used when provisioning cluster 5397// instances, which can include configurations for applications and software 5398// bundled with Amazon EMR. A configuration consists of a classification, properties, 5399// and optional nested configurations. A classification refers to an application-specific 5400// configuration file. Properties are the settings you want to change in that 5401// file. For more information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 5402type Configuration struct { 5403 _ struct{} `type:"structure"` 5404 5405 // The classification within a configuration. 5406 Classification *string `type:"string"` 5407 5408 // A list of additional configurations to apply within a configuration object. 5409 Configurations []*Configuration `type:"list"` 5410 5411 // A set of properties specified within a configuration classification. 5412 Properties map[string]*string `type:"map"` 5413} 5414 5415// String returns the string representation 5416func (s Configuration) String() string { 5417 return awsutil.Prettify(s) 5418} 5419 5420// GoString returns the string representation 5421func (s Configuration) GoString() string { 5422 return s.String() 5423} 5424 5425// SetClassification sets the Classification field's value. 5426func (s *Configuration) SetClassification(v string) *Configuration { 5427 s.Classification = &v 5428 return s 5429} 5430 5431// SetConfigurations sets the Configurations field's value. 5432func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { 5433 s.Configurations = v 5434 return s 5435} 5436 5437// SetProperties sets the Properties field's value. 5438func (s *Configuration) SetProperties(v map[string]*string) *Configuration { 5439 s.Properties = v 5440 return s 5441} 5442 5443type CreateSecurityConfigurationInput struct { 5444 _ struct{} `type:"structure"` 5445 5446 // The name of the security configuration. 5447 // 5448 // Name is a required field 5449 Name *string `type:"string" required:"true"` 5450 5451 // The security configuration details in JSON format. For JSON parameters and 5452 // examples, see Use Security Configurations to Set Up Cluster Security (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) 5453 // in the Amazon EMR Management Guide. 5454 // 5455 // SecurityConfiguration is a required field 5456 SecurityConfiguration *string `type:"string" required:"true"` 5457} 5458 5459// String returns the string representation 5460func (s CreateSecurityConfigurationInput) String() string { 5461 return awsutil.Prettify(s) 5462} 5463 5464// GoString returns the string representation 5465func (s CreateSecurityConfigurationInput) GoString() string { 5466 return s.String() 5467} 5468 5469// Validate inspects the fields of the type to determine if they are valid. 5470func (s *CreateSecurityConfigurationInput) Validate() error { 5471 invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} 5472 if s.Name == nil { 5473 invalidParams.Add(request.NewErrParamRequired("Name")) 5474 } 5475 if s.SecurityConfiguration == nil { 5476 invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) 5477 } 5478 5479 if invalidParams.Len() > 0 { 5480 return invalidParams 5481 } 5482 return nil 5483} 5484 5485// SetName sets the Name field's value. 5486func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { 5487 s.Name = &v 5488 return s 5489} 5490 5491// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5492func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput { 5493 s.SecurityConfiguration = &v 5494 return s 5495} 5496 5497type CreateSecurityConfigurationOutput struct { 5498 _ struct{} `type:"structure"` 5499 5500 // The date and time the security configuration was created. 5501 // 5502 // CreationDateTime is a required field 5503 CreationDateTime *time.Time `type:"timestamp" required:"true"` 5504 5505 // The name of the security configuration. 5506 // 5507 // Name is a required field 5508 Name *string `type:"string" required:"true"` 5509} 5510 5511// String returns the string representation 5512func (s CreateSecurityConfigurationOutput) String() string { 5513 return awsutil.Prettify(s) 5514} 5515 5516// GoString returns the string representation 5517func (s CreateSecurityConfigurationOutput) GoString() string { 5518 return s.String() 5519} 5520 5521// SetCreationDateTime sets the CreationDateTime field's value. 5522func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput { 5523 s.CreationDateTime = &v 5524 return s 5525} 5526 5527// SetName sets the Name field's value. 5528func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { 5529 s.Name = &v 5530 return s 5531} 5532 5533type DeleteSecurityConfigurationInput struct { 5534 _ struct{} `type:"structure"` 5535 5536 // The name of the security configuration. 5537 // 5538 // Name is a required field 5539 Name *string `type:"string" required:"true"` 5540} 5541 5542// String returns the string representation 5543func (s DeleteSecurityConfigurationInput) String() string { 5544 return awsutil.Prettify(s) 5545} 5546 5547// GoString returns the string representation 5548func (s DeleteSecurityConfigurationInput) GoString() string { 5549 return s.String() 5550} 5551 5552// Validate inspects the fields of the type to determine if they are valid. 5553func (s *DeleteSecurityConfigurationInput) Validate() error { 5554 invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} 5555 if s.Name == nil { 5556 invalidParams.Add(request.NewErrParamRequired("Name")) 5557 } 5558 5559 if invalidParams.Len() > 0 { 5560 return invalidParams 5561 } 5562 return nil 5563} 5564 5565// SetName sets the Name field's value. 5566func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { 5567 s.Name = &v 5568 return s 5569} 5570 5571type DeleteSecurityConfigurationOutput struct { 5572 _ struct{} `type:"structure"` 5573} 5574 5575// String returns the string representation 5576func (s DeleteSecurityConfigurationOutput) String() string { 5577 return awsutil.Prettify(s) 5578} 5579 5580// GoString returns the string representation 5581func (s DeleteSecurityConfigurationOutput) GoString() string { 5582 return s.String() 5583} 5584 5585// This input determines which cluster to describe. 5586type DescribeClusterInput struct { 5587 _ struct{} `type:"structure"` 5588 5589 // The identifier of the cluster to describe. 5590 // 5591 // ClusterId is a required field 5592 ClusterId *string `type:"string" required:"true"` 5593} 5594 5595// String returns the string representation 5596func (s DescribeClusterInput) String() string { 5597 return awsutil.Prettify(s) 5598} 5599 5600// GoString returns the string representation 5601func (s DescribeClusterInput) GoString() string { 5602 return s.String() 5603} 5604 5605// Validate inspects the fields of the type to determine if they are valid. 5606func (s *DescribeClusterInput) Validate() error { 5607 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 5608 if s.ClusterId == nil { 5609 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5610 } 5611 5612 if invalidParams.Len() > 0 { 5613 return invalidParams 5614 } 5615 return nil 5616} 5617 5618// SetClusterId sets the ClusterId field's value. 5619func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput { 5620 s.ClusterId = &v 5621 return s 5622} 5623 5624// This output contains the description of the cluster. 5625type DescribeClusterOutput struct { 5626 _ struct{} `type:"structure"` 5627 5628 // This output contains the details for the requested cluster. 5629 Cluster *Cluster `type:"structure"` 5630} 5631 5632// String returns the string representation 5633func (s DescribeClusterOutput) String() string { 5634 return awsutil.Prettify(s) 5635} 5636 5637// GoString returns the string representation 5638func (s DescribeClusterOutput) GoString() string { 5639 return s.String() 5640} 5641 5642// SetCluster sets the Cluster field's value. 5643func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput { 5644 s.Cluster = v 5645 return s 5646} 5647 5648// The input for the DescribeJobFlows operation. 5649type DescribeJobFlowsInput struct { 5650 _ struct{} `type:"structure"` 5651 5652 // Return only job flows created after this date and time. 5653 CreatedAfter *time.Time `type:"timestamp"` 5654 5655 // Return only job flows created before this date and time. 5656 CreatedBefore *time.Time `type:"timestamp"` 5657 5658 // Return only job flows whose job flow ID is contained in this list. 5659 JobFlowIds []*string `type:"list"` 5660 5661 // Return only job flows whose state is contained in this list. 5662 JobFlowStates []*string `type:"list"` 5663} 5664 5665// String returns the string representation 5666func (s DescribeJobFlowsInput) String() string { 5667 return awsutil.Prettify(s) 5668} 5669 5670// GoString returns the string representation 5671func (s DescribeJobFlowsInput) GoString() string { 5672 return s.String() 5673} 5674 5675// SetCreatedAfter sets the CreatedAfter field's value. 5676func (s *DescribeJobFlowsInput) SetCreatedAfter(v time.Time) *DescribeJobFlowsInput { 5677 s.CreatedAfter = &v 5678 return s 5679} 5680 5681// SetCreatedBefore sets the CreatedBefore field's value. 5682func (s *DescribeJobFlowsInput) SetCreatedBefore(v time.Time) *DescribeJobFlowsInput { 5683 s.CreatedBefore = &v 5684 return s 5685} 5686 5687// SetJobFlowIds sets the JobFlowIds field's value. 5688func (s *DescribeJobFlowsInput) SetJobFlowIds(v []*string) *DescribeJobFlowsInput { 5689 s.JobFlowIds = v 5690 return s 5691} 5692 5693// SetJobFlowStates sets the JobFlowStates field's value. 5694func (s *DescribeJobFlowsInput) SetJobFlowStates(v []*string) *DescribeJobFlowsInput { 5695 s.JobFlowStates = v 5696 return s 5697} 5698 5699// The output for the DescribeJobFlows operation. 5700type DescribeJobFlowsOutput struct { 5701 _ struct{} `type:"structure"` 5702 5703 // A list of job flows matching the parameters supplied. 5704 JobFlows []*JobFlowDetail `type:"list"` 5705} 5706 5707// String returns the string representation 5708func (s DescribeJobFlowsOutput) String() string { 5709 return awsutil.Prettify(s) 5710} 5711 5712// GoString returns the string representation 5713func (s DescribeJobFlowsOutput) GoString() string { 5714 return s.String() 5715} 5716 5717// SetJobFlows sets the JobFlows field's value. 5718func (s *DescribeJobFlowsOutput) SetJobFlows(v []*JobFlowDetail) *DescribeJobFlowsOutput { 5719 s.JobFlows = v 5720 return s 5721} 5722 5723type DescribeNotebookExecutionInput struct { 5724 _ struct{} `type:"structure"` 5725 5726 // The unique identifier of the notebook execution. 5727 // 5728 // NotebookExecutionId is a required field 5729 NotebookExecutionId *string `type:"string" required:"true"` 5730} 5731 5732// String returns the string representation 5733func (s DescribeNotebookExecutionInput) String() string { 5734 return awsutil.Prettify(s) 5735} 5736 5737// GoString returns the string representation 5738func (s DescribeNotebookExecutionInput) GoString() string { 5739 return s.String() 5740} 5741 5742// Validate inspects the fields of the type to determine if they are valid. 5743func (s *DescribeNotebookExecutionInput) Validate() error { 5744 invalidParams := request.ErrInvalidParams{Context: "DescribeNotebookExecutionInput"} 5745 if s.NotebookExecutionId == nil { 5746 invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) 5747 } 5748 5749 if invalidParams.Len() > 0 { 5750 return invalidParams 5751 } 5752 return nil 5753} 5754 5755// SetNotebookExecutionId sets the NotebookExecutionId field's value. 5756func (s *DescribeNotebookExecutionInput) SetNotebookExecutionId(v string) *DescribeNotebookExecutionInput { 5757 s.NotebookExecutionId = &v 5758 return s 5759} 5760 5761type DescribeNotebookExecutionOutput struct { 5762 _ struct{} `type:"structure"` 5763 5764 // Properties of the notebook execution. 5765 NotebookExecution *NotebookExecution `type:"structure"` 5766} 5767 5768// String returns the string representation 5769func (s DescribeNotebookExecutionOutput) String() string { 5770 return awsutil.Prettify(s) 5771} 5772 5773// GoString returns the string representation 5774func (s DescribeNotebookExecutionOutput) GoString() string { 5775 return s.String() 5776} 5777 5778// SetNotebookExecution sets the NotebookExecution field's value. 5779func (s *DescribeNotebookExecutionOutput) SetNotebookExecution(v *NotebookExecution) *DescribeNotebookExecutionOutput { 5780 s.NotebookExecution = v 5781 return s 5782} 5783 5784type DescribeSecurityConfigurationInput struct { 5785 _ struct{} `type:"structure"` 5786 5787 // The name of the security configuration. 5788 // 5789 // Name is a required field 5790 Name *string `type:"string" required:"true"` 5791} 5792 5793// String returns the string representation 5794func (s DescribeSecurityConfigurationInput) String() string { 5795 return awsutil.Prettify(s) 5796} 5797 5798// GoString returns the string representation 5799func (s DescribeSecurityConfigurationInput) GoString() string { 5800 return s.String() 5801} 5802 5803// Validate inspects the fields of the type to determine if they are valid. 5804func (s *DescribeSecurityConfigurationInput) Validate() error { 5805 invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"} 5806 if s.Name == nil { 5807 invalidParams.Add(request.NewErrParamRequired("Name")) 5808 } 5809 5810 if invalidParams.Len() > 0 { 5811 return invalidParams 5812 } 5813 return nil 5814} 5815 5816// SetName sets the Name field's value. 5817func (s *DescribeSecurityConfigurationInput) SetName(v string) *DescribeSecurityConfigurationInput { 5818 s.Name = &v 5819 return s 5820} 5821 5822type DescribeSecurityConfigurationOutput struct { 5823 _ struct{} `type:"structure"` 5824 5825 // The date and time the security configuration was created 5826 CreationDateTime *time.Time `type:"timestamp"` 5827 5828 // The name of the security configuration. 5829 Name *string `type:"string"` 5830 5831 // The security configuration details in JSON format. 5832 SecurityConfiguration *string `type:"string"` 5833} 5834 5835// String returns the string representation 5836func (s DescribeSecurityConfigurationOutput) String() string { 5837 return awsutil.Prettify(s) 5838} 5839 5840// GoString returns the string representation 5841func (s DescribeSecurityConfigurationOutput) GoString() string { 5842 return s.String() 5843} 5844 5845// SetCreationDateTime sets the CreationDateTime field's value. 5846func (s *DescribeSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *DescribeSecurityConfigurationOutput { 5847 s.CreationDateTime = &v 5848 return s 5849} 5850 5851// SetName sets the Name field's value. 5852func (s *DescribeSecurityConfigurationOutput) SetName(v string) *DescribeSecurityConfigurationOutput { 5853 s.Name = &v 5854 return s 5855} 5856 5857// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5858func (s *DescribeSecurityConfigurationOutput) SetSecurityConfiguration(v string) *DescribeSecurityConfigurationOutput { 5859 s.SecurityConfiguration = &v 5860 return s 5861} 5862 5863// This input determines which step to describe. 5864type DescribeStepInput struct { 5865 _ struct{} `type:"structure"` 5866 5867 // The identifier of the cluster with steps to describe. 5868 // 5869 // ClusterId is a required field 5870 ClusterId *string `type:"string" required:"true"` 5871 5872 // The identifier of the step to describe. 5873 // 5874 // StepId is a required field 5875 StepId *string `type:"string" required:"true"` 5876} 5877 5878// String returns the string representation 5879func (s DescribeStepInput) String() string { 5880 return awsutil.Prettify(s) 5881} 5882 5883// GoString returns the string representation 5884func (s DescribeStepInput) GoString() string { 5885 return s.String() 5886} 5887 5888// Validate inspects the fields of the type to determine if they are valid. 5889func (s *DescribeStepInput) Validate() error { 5890 invalidParams := request.ErrInvalidParams{Context: "DescribeStepInput"} 5891 if s.ClusterId == nil { 5892 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5893 } 5894 if s.StepId == nil { 5895 invalidParams.Add(request.NewErrParamRequired("StepId")) 5896 } 5897 5898 if invalidParams.Len() > 0 { 5899 return invalidParams 5900 } 5901 return nil 5902} 5903 5904// SetClusterId sets the ClusterId field's value. 5905func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput { 5906 s.ClusterId = &v 5907 return s 5908} 5909 5910// SetStepId sets the StepId field's value. 5911func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput { 5912 s.StepId = &v 5913 return s 5914} 5915 5916// This output contains the description of the cluster step. 5917type DescribeStepOutput struct { 5918 _ struct{} `type:"structure"` 5919 5920 // The step details for the requested step identifier. 5921 Step *Step `type:"structure"` 5922} 5923 5924// String returns the string representation 5925func (s DescribeStepOutput) String() string { 5926 return awsutil.Prettify(s) 5927} 5928 5929// GoString returns the string representation 5930func (s DescribeStepOutput) GoString() string { 5931 return s.String() 5932} 5933 5934// SetStep sets the Step field's value. 5935func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput { 5936 s.Step = v 5937 return s 5938} 5939 5940// Configuration of requested EBS block device associated with the instance 5941// group. 5942type EbsBlockDevice struct { 5943 _ struct{} `type:"structure"` 5944 5945 // The device name that is exposed to the instance, such as /dev/sdh. 5946 Device *string `type:"string"` 5947 5948 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 5949 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 5950 VolumeSpecification *VolumeSpecification `type:"structure"` 5951} 5952 5953// String returns the string representation 5954func (s EbsBlockDevice) String() string { 5955 return awsutil.Prettify(s) 5956} 5957 5958// GoString returns the string representation 5959func (s EbsBlockDevice) GoString() string { 5960 return s.String() 5961} 5962 5963// SetDevice sets the Device field's value. 5964func (s *EbsBlockDevice) SetDevice(v string) *EbsBlockDevice { 5965 s.Device = &v 5966 return s 5967} 5968 5969// SetVolumeSpecification sets the VolumeSpecification field's value. 5970func (s *EbsBlockDevice) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDevice { 5971 s.VolumeSpecification = v 5972 return s 5973} 5974 5975// Configuration of requested EBS block device associated with the instance 5976// group with count of volumes that will be associated to every instance. 5977type EbsBlockDeviceConfig struct { 5978 _ struct{} `type:"structure"` 5979 5980 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 5981 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 5982 // 5983 // VolumeSpecification is a required field 5984 VolumeSpecification *VolumeSpecification `type:"structure" required:"true"` 5985 5986 // Number of EBS volumes with a specific volume configuration that will be associated 5987 // with every instance in the instance group 5988 VolumesPerInstance *int64 `type:"integer"` 5989} 5990 5991// String returns the string representation 5992func (s EbsBlockDeviceConfig) String() string { 5993 return awsutil.Prettify(s) 5994} 5995 5996// GoString returns the string representation 5997func (s EbsBlockDeviceConfig) GoString() string { 5998 return s.String() 5999} 6000 6001// Validate inspects the fields of the type to determine if they are valid. 6002func (s *EbsBlockDeviceConfig) Validate() error { 6003 invalidParams := request.ErrInvalidParams{Context: "EbsBlockDeviceConfig"} 6004 if s.VolumeSpecification == nil { 6005 invalidParams.Add(request.NewErrParamRequired("VolumeSpecification")) 6006 } 6007 if s.VolumeSpecification != nil { 6008 if err := s.VolumeSpecification.Validate(); err != nil { 6009 invalidParams.AddNested("VolumeSpecification", err.(request.ErrInvalidParams)) 6010 } 6011 } 6012 6013 if invalidParams.Len() > 0 { 6014 return invalidParams 6015 } 6016 return nil 6017} 6018 6019// SetVolumeSpecification sets the VolumeSpecification field's value. 6020func (s *EbsBlockDeviceConfig) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDeviceConfig { 6021 s.VolumeSpecification = v 6022 return s 6023} 6024 6025// SetVolumesPerInstance sets the VolumesPerInstance field's value. 6026func (s *EbsBlockDeviceConfig) SetVolumesPerInstance(v int64) *EbsBlockDeviceConfig { 6027 s.VolumesPerInstance = &v 6028 return s 6029} 6030 6031// The Amazon EBS configuration of a cluster instance. 6032type EbsConfiguration struct { 6033 _ struct{} `type:"structure"` 6034 6035 // An array of Amazon EBS volume specifications attached to a cluster instance. 6036 EbsBlockDeviceConfigs []*EbsBlockDeviceConfig `type:"list"` 6037 6038 // Indicates whether an Amazon EBS volume is EBS-optimized. 6039 EbsOptimized *bool `type:"boolean"` 6040} 6041 6042// String returns the string representation 6043func (s EbsConfiguration) String() string { 6044 return awsutil.Prettify(s) 6045} 6046 6047// GoString returns the string representation 6048func (s EbsConfiguration) GoString() string { 6049 return s.String() 6050} 6051 6052// Validate inspects the fields of the type to determine if they are valid. 6053func (s *EbsConfiguration) Validate() error { 6054 invalidParams := request.ErrInvalidParams{Context: "EbsConfiguration"} 6055 if s.EbsBlockDeviceConfigs != nil { 6056 for i, v := range s.EbsBlockDeviceConfigs { 6057 if v == nil { 6058 continue 6059 } 6060 if err := v.Validate(); err != nil { 6061 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EbsBlockDeviceConfigs", i), err.(request.ErrInvalidParams)) 6062 } 6063 } 6064 } 6065 6066 if invalidParams.Len() > 0 { 6067 return invalidParams 6068 } 6069 return nil 6070} 6071 6072// SetEbsBlockDeviceConfigs sets the EbsBlockDeviceConfigs field's value. 6073func (s *EbsConfiguration) SetEbsBlockDeviceConfigs(v []*EbsBlockDeviceConfig) *EbsConfiguration { 6074 s.EbsBlockDeviceConfigs = v 6075 return s 6076} 6077 6078// SetEbsOptimized sets the EbsOptimized field's value. 6079func (s *EbsConfiguration) SetEbsOptimized(v bool) *EbsConfiguration { 6080 s.EbsOptimized = &v 6081 return s 6082} 6083 6084// EBS block device that's attached to an EC2 instance. 6085type EbsVolume struct { 6086 _ struct{} `type:"structure"` 6087 6088 // The device name that is exposed to the instance, such as /dev/sdh. 6089 Device *string `type:"string"` 6090 6091 // The volume identifier of the EBS volume. 6092 VolumeId *string `type:"string"` 6093} 6094 6095// String returns the string representation 6096func (s EbsVolume) String() string { 6097 return awsutil.Prettify(s) 6098} 6099 6100// GoString returns the string representation 6101func (s EbsVolume) GoString() string { 6102 return s.String() 6103} 6104 6105// SetDevice sets the Device field's value. 6106func (s *EbsVolume) SetDevice(v string) *EbsVolume { 6107 s.Device = &v 6108 return s 6109} 6110 6111// SetVolumeId sets the VolumeId field's value. 6112func (s *EbsVolume) SetVolumeId(v string) *EbsVolume { 6113 s.VolumeId = &v 6114 return s 6115} 6116 6117// Provides information about the EC2 instances in a cluster grouped by category. 6118// For example, key name, subnet ID, IAM instance profile, and so on. 6119type Ec2InstanceAttributes struct { 6120 _ struct{} `type:"structure"` 6121 6122 // A list of additional Amazon EC2 security group IDs for the master node. 6123 AdditionalMasterSecurityGroups []*string `type:"list"` 6124 6125 // A list of additional Amazon EC2 security group IDs for the core and task 6126 // nodes. 6127 AdditionalSlaveSecurityGroups []*string `type:"list"` 6128 6129 // The Availability Zone in which the cluster will run. 6130 Ec2AvailabilityZone *string `type:"string"` 6131 6132 // The name of the Amazon EC2 key pair to use when connecting with SSH into 6133 // the master node as a user named "hadoop". 6134 Ec2KeyName *string `type:"string"` 6135 6136 // Set this parameter to the identifier of the Amazon VPC subnet where you want 6137 // the cluster to launch. If you do not specify this value, and your account 6138 // supports EC2-Classic, the cluster launches in EC2-Classic. 6139 Ec2SubnetId *string `type:"string"` 6140 6141 // The identifier of the Amazon EC2 security group for the master node. 6142 EmrManagedMasterSecurityGroup *string `type:"string"` 6143 6144 // The identifier of the Amazon EC2 security group for the core and task nodes. 6145 EmrManagedSlaveSecurityGroup *string `type:"string"` 6146 6147 // The IAM role that was specified when the cluster was launched. The EC2 instances 6148 // of the cluster assume this role. 6149 IamInstanceProfile *string `type:"string"` 6150 6151 // Applies to clusters configured with the instance fleets option. Specifies 6152 // one or more Availability Zones in which to launch EC2 cluster instances when 6153 // the EC2-Classic network configuration is supported. Amazon EMR chooses the 6154 // Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, 6155 // and then launches all cluster instances within that Availability Zone. If 6156 // you do not specify this value, Amazon EMR chooses the Availability Zone for 6157 // you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified 6158 // together. 6159 RequestedEc2AvailabilityZones []*string `type:"list"` 6160 6161 // Applies to clusters configured with the instance fleets option. Specifies 6162 // the unique identifier of one or more Amazon EC2 subnets in which to launch 6163 // EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR 6164 // chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, 6165 // and then launches all cluster instances within that Subnet. If this value 6166 // is not specified, and the account and Region support EC2-Classic networks, 6167 // the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones 6168 // instead of this setting. If EC2-Classic is not supported, and no Subnet is 6169 // specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and 6170 // RequestedEc2AvailabilityZones cannot be specified together. 6171 RequestedEc2SubnetIds []*string `type:"list"` 6172 6173 // The identifier of the Amazon EC2 security group for the Amazon EMR service 6174 // to access clusters in VPC private subnets. 6175 ServiceAccessSecurityGroup *string `type:"string"` 6176} 6177 6178// String returns the string representation 6179func (s Ec2InstanceAttributes) String() string { 6180 return awsutil.Prettify(s) 6181} 6182 6183// GoString returns the string representation 6184func (s Ec2InstanceAttributes) GoString() string { 6185 return s.String() 6186} 6187 6188// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 6189func (s *Ec2InstanceAttributes) SetAdditionalMasterSecurityGroups(v []*string) *Ec2InstanceAttributes { 6190 s.AdditionalMasterSecurityGroups = v 6191 return s 6192} 6193 6194// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 6195func (s *Ec2InstanceAttributes) SetAdditionalSlaveSecurityGroups(v []*string) *Ec2InstanceAttributes { 6196 s.AdditionalSlaveSecurityGroups = v 6197 return s 6198} 6199 6200// SetEc2AvailabilityZone sets the Ec2AvailabilityZone field's value. 6201func (s *Ec2InstanceAttributes) SetEc2AvailabilityZone(v string) *Ec2InstanceAttributes { 6202 s.Ec2AvailabilityZone = &v 6203 return s 6204} 6205 6206// SetEc2KeyName sets the Ec2KeyName field's value. 6207func (s *Ec2InstanceAttributes) SetEc2KeyName(v string) *Ec2InstanceAttributes { 6208 s.Ec2KeyName = &v 6209 return s 6210} 6211 6212// SetEc2SubnetId sets the Ec2SubnetId field's value. 6213func (s *Ec2InstanceAttributes) SetEc2SubnetId(v string) *Ec2InstanceAttributes { 6214 s.Ec2SubnetId = &v 6215 return s 6216} 6217 6218// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 6219func (s *Ec2InstanceAttributes) SetEmrManagedMasterSecurityGroup(v string) *Ec2InstanceAttributes { 6220 s.EmrManagedMasterSecurityGroup = &v 6221 return s 6222} 6223 6224// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 6225func (s *Ec2InstanceAttributes) SetEmrManagedSlaveSecurityGroup(v string) *Ec2InstanceAttributes { 6226 s.EmrManagedSlaveSecurityGroup = &v 6227 return s 6228} 6229 6230// SetIamInstanceProfile sets the IamInstanceProfile field's value. 6231func (s *Ec2InstanceAttributes) SetIamInstanceProfile(v string) *Ec2InstanceAttributes { 6232 s.IamInstanceProfile = &v 6233 return s 6234} 6235 6236// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value. 6237func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes { 6238 s.RequestedEc2AvailabilityZones = v 6239 return s 6240} 6241 6242// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value. 6243func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes { 6244 s.RequestedEc2SubnetIds = v 6245 return s 6246} 6247 6248// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 6249func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes { 6250 s.ServiceAccessSecurityGroup = &v 6251 return s 6252} 6253 6254// Specifies the execution engine (cluster) to run the notebook and perform 6255// the notebook execution, for example, an EMR cluster. 6256type ExecutionEngineConfig struct { 6257 _ struct{} `type:"structure"` 6258 6259 // The unique identifier of the execution engine. For an EMR cluster, this is 6260 // the cluster ID. 6261 // 6262 // Id is a required field 6263 Id *string `type:"string" required:"true"` 6264 6265 // An optional unique ID of an EC2 security group to associate with the master 6266 // instance of the EMR cluster for this notebook execution. For more information 6267 // see Specifying EC2 Security Groups for EMR Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) 6268 // in the EMR Management Guide. 6269 MasterInstanceSecurityGroupId *string `type:"string"` 6270 6271 // The type of execution engine. A value of EMR specifies an EMR cluster. 6272 Type *string `type:"string" enum:"ExecutionEngineType"` 6273} 6274 6275// String returns the string representation 6276func (s ExecutionEngineConfig) String() string { 6277 return awsutil.Prettify(s) 6278} 6279 6280// GoString returns the string representation 6281func (s ExecutionEngineConfig) GoString() string { 6282 return s.String() 6283} 6284 6285// Validate inspects the fields of the type to determine if they are valid. 6286func (s *ExecutionEngineConfig) Validate() error { 6287 invalidParams := request.ErrInvalidParams{Context: "ExecutionEngineConfig"} 6288 if s.Id == nil { 6289 invalidParams.Add(request.NewErrParamRequired("Id")) 6290 } 6291 6292 if invalidParams.Len() > 0 { 6293 return invalidParams 6294 } 6295 return nil 6296} 6297 6298// SetId sets the Id field's value. 6299func (s *ExecutionEngineConfig) SetId(v string) *ExecutionEngineConfig { 6300 s.Id = &v 6301 return s 6302} 6303 6304// SetMasterInstanceSecurityGroupId sets the MasterInstanceSecurityGroupId field's value. 6305func (s *ExecutionEngineConfig) SetMasterInstanceSecurityGroupId(v string) *ExecutionEngineConfig { 6306 s.MasterInstanceSecurityGroupId = &v 6307 return s 6308} 6309 6310// SetType sets the Type field's value. 6311func (s *ExecutionEngineConfig) SetType(v string) *ExecutionEngineConfig { 6312 s.Type = &v 6313 return s 6314} 6315 6316// The details of the step failure. The service attempts to detect the root 6317// cause for many common failures. 6318type FailureDetails struct { 6319 _ struct{} `type:"structure"` 6320 6321 // The path to the log file where the step failure root cause was originally 6322 // recorded. 6323 LogFile *string `type:"string"` 6324 6325 // The descriptive message including the error the EMR service has identified 6326 // as the cause of step failure. This is text from an error log that describes 6327 // the root cause of the failure. 6328 Message *string `type:"string"` 6329 6330 // The reason for the step failure. In the case where the service cannot successfully 6331 // determine the root cause of the failure, it returns "Unknown Error" as a 6332 // reason. 6333 Reason *string `type:"string"` 6334} 6335 6336// String returns the string representation 6337func (s FailureDetails) String() string { 6338 return awsutil.Prettify(s) 6339} 6340 6341// GoString returns the string representation 6342func (s FailureDetails) GoString() string { 6343 return s.String() 6344} 6345 6346// SetLogFile sets the LogFile field's value. 6347func (s *FailureDetails) SetLogFile(v string) *FailureDetails { 6348 s.LogFile = &v 6349 return s 6350} 6351 6352// SetMessage sets the Message field's value. 6353func (s *FailureDetails) SetMessage(v string) *FailureDetails { 6354 s.Message = &v 6355 return s 6356} 6357 6358// SetReason sets the Reason field's value. 6359func (s *FailureDetails) SetReason(v string) *FailureDetails { 6360 s.Reason = &v 6361 return s 6362} 6363 6364type GetBlockPublicAccessConfigurationInput struct { 6365 _ struct{} `type:"structure"` 6366} 6367 6368// String returns the string representation 6369func (s GetBlockPublicAccessConfigurationInput) String() string { 6370 return awsutil.Prettify(s) 6371} 6372 6373// GoString returns the string representation 6374func (s GetBlockPublicAccessConfigurationInput) GoString() string { 6375 return s.String() 6376} 6377 6378type GetBlockPublicAccessConfigurationOutput struct { 6379 _ struct{} `type:"structure"` 6380 6381 // A configuration for Amazon EMR block public access. The configuration applies 6382 // to all clusters created in your account for the current Region. The configuration 6383 // specifies whether block public access is enabled. If block public access 6384 // is enabled, security groups associated with the cluster cannot have rules 6385 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 6386 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 6387 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 6388 // and public access is allowed on this port. You can change this by updating 6389 // the block public access configuration to remove the exception. 6390 // 6391 // For accounts that created clusters in a Region before November 25, 2019, 6392 // block public access is disabled by default in that Region. To use this feature, 6393 // you must manually enable and configure it. For accounts that did not create 6394 // an EMR cluster in a Region before this date, block public access is enabled 6395 // by default in that Region. 6396 // 6397 // BlockPublicAccessConfiguration is a required field 6398 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 6399 6400 // Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 6401 // using the PutBlockPublicAccessConfiguration action as well as the date and 6402 // time that the configuration was created. Each time a configuration for block 6403 // public access is updated, Amazon EMR updates this metadata. 6404 // 6405 // BlockPublicAccessConfigurationMetadata is a required field 6406 BlockPublicAccessConfigurationMetadata *BlockPublicAccessConfigurationMetadata `type:"structure" required:"true"` 6407} 6408 6409// String returns the string representation 6410func (s GetBlockPublicAccessConfigurationOutput) String() string { 6411 return awsutil.Prettify(s) 6412} 6413 6414// GoString returns the string representation 6415func (s GetBlockPublicAccessConfigurationOutput) GoString() string { 6416 return s.String() 6417} 6418 6419// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 6420func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *GetBlockPublicAccessConfigurationOutput { 6421 s.BlockPublicAccessConfiguration = v 6422 return s 6423} 6424 6425// SetBlockPublicAccessConfigurationMetadata sets the BlockPublicAccessConfigurationMetadata field's value. 6426func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfigurationMetadata(v *BlockPublicAccessConfigurationMetadata) *GetBlockPublicAccessConfigurationOutput { 6427 s.BlockPublicAccessConfigurationMetadata = v 6428 return s 6429} 6430 6431type GetManagedScalingPolicyInput struct { 6432 _ struct{} `type:"structure"` 6433 6434 // Specifies the ID of the cluster for which the managed scaling policy will 6435 // be fetched. 6436 // 6437 // ClusterId is a required field 6438 ClusterId *string `type:"string" required:"true"` 6439} 6440 6441// String returns the string representation 6442func (s GetManagedScalingPolicyInput) String() string { 6443 return awsutil.Prettify(s) 6444} 6445 6446// GoString returns the string representation 6447func (s GetManagedScalingPolicyInput) GoString() string { 6448 return s.String() 6449} 6450 6451// Validate inspects the fields of the type to determine if they are valid. 6452func (s *GetManagedScalingPolicyInput) Validate() error { 6453 invalidParams := request.ErrInvalidParams{Context: "GetManagedScalingPolicyInput"} 6454 if s.ClusterId == nil { 6455 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 6456 } 6457 6458 if invalidParams.Len() > 0 { 6459 return invalidParams 6460 } 6461 return nil 6462} 6463 6464// SetClusterId sets the ClusterId field's value. 6465func (s *GetManagedScalingPolicyInput) SetClusterId(v string) *GetManagedScalingPolicyInput { 6466 s.ClusterId = &v 6467 return s 6468} 6469 6470type GetManagedScalingPolicyOutput struct { 6471 _ struct{} `type:"structure"` 6472 6473 // Specifies the managed scaling policy that is attached to an Amazon EMR cluster. 6474 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 6475} 6476 6477// String returns the string representation 6478func (s GetManagedScalingPolicyOutput) String() string { 6479 return awsutil.Prettify(s) 6480} 6481 6482// GoString returns the string representation 6483func (s GetManagedScalingPolicyOutput) GoString() string { 6484 return s.String() 6485} 6486 6487// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 6488func (s *GetManagedScalingPolicyOutput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *GetManagedScalingPolicyOutput { 6489 s.ManagedScalingPolicy = v 6490 return s 6491} 6492 6493// A job flow step consisting of a JAR file whose main function will be executed. 6494// The main function submits a job for Hadoop to execute and waits for the job 6495// to finish or fail. 6496type HadoopJarStepConfig struct { 6497 _ struct{} `type:"structure"` 6498 6499 // A list of command line arguments passed to the JAR file's main function when 6500 // executed. 6501 Args []*string `type:"list"` 6502 6503 // A path to a JAR file run during the step. 6504 // 6505 // Jar is a required field 6506 Jar *string `type:"string" required:"true"` 6507 6508 // The name of the main class in the specified Java file. If not specified, 6509 // the JAR file should specify a Main-Class in its manifest file. 6510 MainClass *string `type:"string"` 6511 6512 // A list of Java properties that are set when the step runs. You can use these 6513 // properties to pass key value pairs to your main function. 6514 Properties []*KeyValue `type:"list"` 6515} 6516 6517// String returns the string representation 6518func (s HadoopJarStepConfig) String() string { 6519 return awsutil.Prettify(s) 6520} 6521 6522// GoString returns the string representation 6523func (s HadoopJarStepConfig) GoString() string { 6524 return s.String() 6525} 6526 6527// Validate inspects the fields of the type to determine if they are valid. 6528func (s *HadoopJarStepConfig) Validate() error { 6529 invalidParams := request.ErrInvalidParams{Context: "HadoopJarStepConfig"} 6530 if s.Jar == nil { 6531 invalidParams.Add(request.NewErrParamRequired("Jar")) 6532 } 6533 6534 if invalidParams.Len() > 0 { 6535 return invalidParams 6536 } 6537 return nil 6538} 6539 6540// SetArgs sets the Args field's value. 6541func (s *HadoopJarStepConfig) SetArgs(v []*string) *HadoopJarStepConfig { 6542 s.Args = v 6543 return s 6544} 6545 6546// SetJar sets the Jar field's value. 6547func (s *HadoopJarStepConfig) SetJar(v string) *HadoopJarStepConfig { 6548 s.Jar = &v 6549 return s 6550} 6551 6552// SetMainClass sets the MainClass field's value. 6553func (s *HadoopJarStepConfig) SetMainClass(v string) *HadoopJarStepConfig { 6554 s.MainClass = &v 6555 return s 6556} 6557 6558// SetProperties sets the Properties field's value. 6559func (s *HadoopJarStepConfig) SetProperties(v []*KeyValue) *HadoopJarStepConfig { 6560 s.Properties = v 6561 return s 6562} 6563 6564// A cluster step consisting of a JAR file whose main function will be executed. 6565// The main function submits a job for Hadoop to execute and waits for the job 6566// to finish or fail. 6567type HadoopStepConfig struct { 6568 _ struct{} `type:"structure"` 6569 6570 // The list of command line arguments to pass to the JAR file's main function 6571 // for execution. 6572 Args []*string `type:"list"` 6573 6574 // The path to the JAR file that runs during the step. 6575 Jar *string `type:"string"` 6576 6577 // The name of the main class in the specified Java file. If not specified, 6578 // the JAR file should specify a main class in its manifest file. 6579 MainClass *string `type:"string"` 6580 6581 // The list of Java properties that are set when the step runs. You can use 6582 // these properties to pass key value pairs to your main function. 6583 Properties map[string]*string `type:"map"` 6584} 6585 6586// String returns the string representation 6587func (s HadoopStepConfig) String() string { 6588 return awsutil.Prettify(s) 6589} 6590 6591// GoString returns the string representation 6592func (s HadoopStepConfig) GoString() string { 6593 return s.String() 6594} 6595 6596// SetArgs sets the Args field's value. 6597func (s *HadoopStepConfig) SetArgs(v []*string) *HadoopStepConfig { 6598 s.Args = v 6599 return s 6600} 6601 6602// SetJar sets the Jar field's value. 6603func (s *HadoopStepConfig) SetJar(v string) *HadoopStepConfig { 6604 s.Jar = &v 6605 return s 6606} 6607 6608// SetMainClass sets the MainClass field's value. 6609func (s *HadoopStepConfig) SetMainClass(v string) *HadoopStepConfig { 6610 s.MainClass = &v 6611 return s 6612} 6613 6614// SetProperties sets the Properties field's value. 6615func (s *HadoopStepConfig) SetProperties(v map[string]*string) *HadoopStepConfig { 6616 s.Properties = v 6617 return s 6618} 6619 6620// Represents an EC2 instance provisioned as part of cluster. 6621type Instance struct { 6622 _ struct{} `type:"structure"` 6623 6624 // The list of EBS volumes that are attached to this instance. 6625 EbsVolumes []*EbsVolume `type:"list"` 6626 6627 // The unique identifier of the instance in Amazon EC2. 6628 Ec2InstanceId *string `type:"string"` 6629 6630 // The unique identifier for the instance in Amazon EMR. 6631 Id *string `type:"string"` 6632 6633 // The unique identifier of the instance fleet to which an EC2 instance belongs. 6634 InstanceFleetId *string `type:"string"` 6635 6636 // The identifier of the instance group to which this instance belongs. 6637 InstanceGroupId *string `type:"string"` 6638 6639 // The EC2 instance type, for example m3.xlarge. 6640 InstanceType *string `min:"1" type:"string"` 6641 6642 // The instance purchasing option. Valid values are ON_DEMAND or SPOT. 6643 Market *string `type:"string" enum:"MarketType"` 6644 6645 // The private DNS name of the instance. 6646 PrivateDnsName *string `type:"string"` 6647 6648 // The private IP address of the instance. 6649 PrivateIpAddress *string `type:"string"` 6650 6651 // The public DNS name of the instance. 6652 PublicDnsName *string `type:"string"` 6653 6654 // The public IP address of the instance. 6655 PublicIpAddress *string `type:"string"` 6656 6657 // The current status of the instance. 6658 Status *InstanceStatus `type:"structure"` 6659} 6660 6661// String returns the string representation 6662func (s Instance) String() string { 6663 return awsutil.Prettify(s) 6664} 6665 6666// GoString returns the string representation 6667func (s Instance) GoString() string { 6668 return s.String() 6669} 6670 6671// SetEbsVolumes sets the EbsVolumes field's value. 6672func (s *Instance) SetEbsVolumes(v []*EbsVolume) *Instance { 6673 s.EbsVolumes = v 6674 return s 6675} 6676 6677// SetEc2InstanceId sets the Ec2InstanceId field's value. 6678func (s *Instance) SetEc2InstanceId(v string) *Instance { 6679 s.Ec2InstanceId = &v 6680 return s 6681} 6682 6683// SetId sets the Id field's value. 6684func (s *Instance) SetId(v string) *Instance { 6685 s.Id = &v 6686 return s 6687} 6688 6689// SetInstanceFleetId sets the InstanceFleetId field's value. 6690func (s *Instance) SetInstanceFleetId(v string) *Instance { 6691 s.InstanceFleetId = &v 6692 return s 6693} 6694 6695// SetInstanceGroupId sets the InstanceGroupId field's value. 6696func (s *Instance) SetInstanceGroupId(v string) *Instance { 6697 s.InstanceGroupId = &v 6698 return s 6699} 6700 6701// SetInstanceType sets the InstanceType field's value. 6702func (s *Instance) SetInstanceType(v string) *Instance { 6703 s.InstanceType = &v 6704 return s 6705} 6706 6707// SetMarket sets the Market field's value. 6708func (s *Instance) SetMarket(v string) *Instance { 6709 s.Market = &v 6710 return s 6711} 6712 6713// SetPrivateDnsName sets the PrivateDnsName field's value. 6714func (s *Instance) SetPrivateDnsName(v string) *Instance { 6715 s.PrivateDnsName = &v 6716 return s 6717} 6718 6719// SetPrivateIpAddress sets the PrivateIpAddress field's value. 6720func (s *Instance) SetPrivateIpAddress(v string) *Instance { 6721 s.PrivateIpAddress = &v 6722 return s 6723} 6724 6725// SetPublicDnsName sets the PublicDnsName field's value. 6726func (s *Instance) SetPublicDnsName(v string) *Instance { 6727 s.PublicDnsName = &v 6728 return s 6729} 6730 6731// SetPublicIpAddress sets the PublicIpAddress field's value. 6732func (s *Instance) SetPublicIpAddress(v string) *Instance { 6733 s.PublicIpAddress = &v 6734 return s 6735} 6736 6737// SetStatus sets the Status field's value. 6738func (s *Instance) SetStatus(v *InstanceStatus) *Instance { 6739 s.Status = v 6740 return s 6741} 6742 6743// Describes an instance fleet, which is a group of EC2 instances that host 6744// a particular node type (master, core, or task) in an Amazon EMR cluster. 6745// Instance fleets can consist of a mix of instance types and On-Demand and 6746// Spot instances, which are provisioned to meet a defined target capacity. 6747// 6748// The instance fleet configuration is available only in Amazon EMR versions 6749// 4.8.0 and later, excluding 5.0.x versions. 6750type InstanceFleet struct { 6751 _ struct{} `type:"structure"` 6752 6753 // The unique identifier of the instance fleet. 6754 Id *string `type:"string"` 6755 6756 // The node type that the instance fleet hosts. Valid values are MASTER, CORE, 6757 // or TASK. 6758 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 6759 6760 // The specification for the instance types that comprise an instance fleet. 6761 // Up to five unique instance specifications may be defined for each instance 6762 // fleet. 6763 InstanceTypeSpecifications []*InstanceTypeSpecification `type:"list"` 6764 6765 // Describes the launch specification for an instance fleet. 6766 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 6767 6768 // A friendly name for the instance fleet. 6769 Name *string `type:"string"` 6770 6771 // The number of On-Demand units that have been provisioned for the instance 6772 // fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might 6773 // be less than or greater than TargetOnDemandCapacity. 6774 ProvisionedOnDemandCapacity *int64 `type:"integer"` 6775 6776 // The number of Spot units that have been provisioned for this instance fleet 6777 // to fulfill TargetSpotCapacity. This provisioned capacity might be less than 6778 // or greater than TargetSpotCapacity. 6779 ProvisionedSpotCapacity *int64 `type:"integer"` 6780 6781 // The current status of the instance fleet. 6782 Status *InstanceFleetStatus `type:"structure"` 6783 6784 // The target capacity of On-Demand units for the instance fleet, which determines 6785 // how many On-Demand instances to provision. When the instance fleet launches, 6786 // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. 6787 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 6788 // instance is provisioned, the WeightedCapacity units count toward the target 6789 // capacity. Amazon EMR provisions instances until the target capacity is totally 6790 // fulfilled, even if this results in an overage. For example, if there are 6791 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6792 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6793 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity 6794 // to determine the Spot capacity units that have been provisioned for the instance 6795 // fleet. 6796 // 6797 // If not specified or set to 0, only Spot instances are provisioned for the 6798 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 6799 // and TargetOnDemandCapacity should be greater than 0. For a master instance 6800 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 6801 // and its value must be 1. 6802 TargetOnDemandCapacity *int64 `type:"integer"` 6803 6804 // The target capacity of Spot units for the instance fleet, which determines 6805 // how many Spot instances to provision. When the instance fleet launches, Amazon 6806 // EMR tries to provision Spot instances as specified by InstanceTypeConfig. 6807 // Each instance configuration has a specified WeightedCapacity. When a Spot 6808 // instance is provisioned, the WeightedCapacity units count toward the target 6809 // capacity. Amazon EMR provisions instances until the target capacity is totally 6810 // fulfilled, even if this results in an overage. For example, if there are 6811 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6812 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6813 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity 6814 // to determine the Spot capacity units that have been provisioned for the instance 6815 // fleet. 6816 // 6817 // If not specified or set to 0, only On-Demand instances are provisioned for 6818 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 6819 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 6820 // and TargetOnDemandCapacity can be specified, and its value must be 1. 6821 TargetSpotCapacity *int64 `type:"integer"` 6822} 6823 6824// String returns the string representation 6825func (s InstanceFleet) String() string { 6826 return awsutil.Prettify(s) 6827} 6828 6829// GoString returns the string representation 6830func (s InstanceFleet) GoString() string { 6831 return s.String() 6832} 6833 6834// SetId sets the Id field's value. 6835func (s *InstanceFleet) SetId(v string) *InstanceFleet { 6836 s.Id = &v 6837 return s 6838} 6839 6840// SetInstanceFleetType sets the InstanceFleetType field's value. 6841func (s *InstanceFleet) SetInstanceFleetType(v string) *InstanceFleet { 6842 s.InstanceFleetType = &v 6843 return s 6844} 6845 6846// SetInstanceTypeSpecifications sets the InstanceTypeSpecifications field's value. 6847func (s *InstanceFleet) SetInstanceTypeSpecifications(v []*InstanceTypeSpecification) *InstanceFleet { 6848 s.InstanceTypeSpecifications = v 6849 return s 6850} 6851 6852// SetLaunchSpecifications sets the LaunchSpecifications field's value. 6853func (s *InstanceFleet) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleet { 6854 s.LaunchSpecifications = v 6855 return s 6856} 6857 6858// SetName sets the Name field's value. 6859func (s *InstanceFleet) SetName(v string) *InstanceFleet { 6860 s.Name = &v 6861 return s 6862} 6863 6864// SetProvisionedOnDemandCapacity sets the ProvisionedOnDemandCapacity field's value. 6865func (s *InstanceFleet) SetProvisionedOnDemandCapacity(v int64) *InstanceFleet { 6866 s.ProvisionedOnDemandCapacity = &v 6867 return s 6868} 6869 6870// SetProvisionedSpotCapacity sets the ProvisionedSpotCapacity field's value. 6871func (s *InstanceFleet) SetProvisionedSpotCapacity(v int64) *InstanceFleet { 6872 s.ProvisionedSpotCapacity = &v 6873 return s 6874} 6875 6876// SetStatus sets the Status field's value. 6877func (s *InstanceFleet) SetStatus(v *InstanceFleetStatus) *InstanceFleet { 6878 s.Status = v 6879 return s 6880} 6881 6882// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 6883func (s *InstanceFleet) SetTargetOnDemandCapacity(v int64) *InstanceFleet { 6884 s.TargetOnDemandCapacity = &v 6885 return s 6886} 6887 6888// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 6889func (s *InstanceFleet) SetTargetSpotCapacity(v int64) *InstanceFleet { 6890 s.TargetSpotCapacity = &v 6891 return s 6892} 6893 6894// The configuration that defines an instance fleet. 6895// 6896// The instance fleet configuration is available only in Amazon EMR versions 6897// 4.8.0 and later, excluding 5.0.x versions. 6898type InstanceFleetConfig struct { 6899 _ struct{} `type:"structure"` 6900 6901 // The node type that the instance fleet hosts. Valid values are MASTER,CORE,and 6902 // TASK. 6903 // 6904 // InstanceFleetType is a required field 6905 InstanceFleetType *string `type:"string" required:"true" enum:"InstanceFleetType"` 6906 6907 // The instance type configurations that define the EC2 instances in the instance 6908 // fleet. 6909 InstanceTypeConfigs []*InstanceTypeConfig `type:"list"` 6910 6911 // The launch specification for the instance fleet. 6912 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 6913 6914 // The friendly name of the instance fleet. 6915 Name *string `type:"string"` 6916 6917 // The target capacity of On-Demand units for the instance fleet, which determines 6918 // how many On-Demand instances to provision. When the instance fleet launches, 6919 // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. 6920 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 6921 // instance is provisioned, the WeightedCapacity units count toward the target 6922 // capacity. Amazon EMR provisions instances until the target capacity is totally 6923 // fulfilled, even if this results in an overage. For example, if there are 6924 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6925 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6926 // and the target capacity is exceeded by 3 units. 6927 // 6928 // If not specified or set to 0, only Spot instances are provisioned for the 6929 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 6930 // and TargetOnDemandCapacity should be greater than 0. For a master instance 6931 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 6932 // and its value must be 1. 6933 TargetOnDemandCapacity *int64 `type:"integer"` 6934 6935 // The target capacity of Spot units for the instance fleet, which determines 6936 // how many Spot instances to provision. When the instance fleet launches, Amazon 6937 // EMR tries to provision Spot instances as specified by InstanceTypeConfig. 6938 // Each instance configuration has a specified WeightedCapacity. When a Spot 6939 // instance is provisioned, the WeightedCapacity units count toward the target 6940 // capacity. Amazon EMR provisions instances until the target capacity is totally 6941 // fulfilled, even if this results in an overage. For example, if there are 6942 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6943 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6944 // and the target capacity is exceeded by 3 units. 6945 // 6946 // If not specified or set to 0, only On-Demand instances are provisioned for 6947 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 6948 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 6949 // and TargetOnDemandCapacity can be specified, and its value must be 1. 6950 TargetSpotCapacity *int64 `type:"integer"` 6951} 6952 6953// String returns the string representation 6954func (s InstanceFleetConfig) String() string { 6955 return awsutil.Prettify(s) 6956} 6957 6958// GoString returns the string representation 6959func (s InstanceFleetConfig) GoString() string { 6960 return s.String() 6961} 6962 6963// Validate inspects the fields of the type to determine if they are valid. 6964func (s *InstanceFleetConfig) Validate() error { 6965 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetConfig"} 6966 if s.InstanceFleetType == nil { 6967 invalidParams.Add(request.NewErrParamRequired("InstanceFleetType")) 6968 } 6969 if s.InstanceTypeConfigs != nil { 6970 for i, v := range s.InstanceTypeConfigs { 6971 if v == nil { 6972 continue 6973 } 6974 if err := v.Validate(); err != nil { 6975 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTypeConfigs", i), err.(request.ErrInvalidParams)) 6976 } 6977 } 6978 } 6979 if s.LaunchSpecifications != nil { 6980 if err := s.LaunchSpecifications.Validate(); err != nil { 6981 invalidParams.AddNested("LaunchSpecifications", err.(request.ErrInvalidParams)) 6982 } 6983 } 6984 6985 if invalidParams.Len() > 0 { 6986 return invalidParams 6987 } 6988 return nil 6989} 6990 6991// SetInstanceFleetType sets the InstanceFleetType field's value. 6992func (s *InstanceFleetConfig) SetInstanceFleetType(v string) *InstanceFleetConfig { 6993 s.InstanceFleetType = &v 6994 return s 6995} 6996 6997// SetInstanceTypeConfigs sets the InstanceTypeConfigs field's value. 6998func (s *InstanceFleetConfig) SetInstanceTypeConfigs(v []*InstanceTypeConfig) *InstanceFleetConfig { 6999 s.InstanceTypeConfigs = v 7000 return s 7001} 7002 7003// SetLaunchSpecifications sets the LaunchSpecifications field's value. 7004func (s *InstanceFleetConfig) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleetConfig { 7005 s.LaunchSpecifications = v 7006 return s 7007} 7008 7009// SetName sets the Name field's value. 7010func (s *InstanceFleetConfig) SetName(v string) *InstanceFleetConfig { 7011 s.Name = &v 7012 return s 7013} 7014 7015// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 7016func (s *InstanceFleetConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetConfig { 7017 s.TargetOnDemandCapacity = &v 7018 return s 7019} 7020 7021// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 7022func (s *InstanceFleetConfig) SetTargetSpotCapacity(v int64) *InstanceFleetConfig { 7023 s.TargetSpotCapacity = &v 7024 return s 7025} 7026 7027// Configuration parameters for an instance fleet modification request. 7028// 7029// The instance fleet configuration is available only in Amazon EMR versions 7030// 4.8.0 and later, excluding 5.0.x versions. 7031type InstanceFleetModifyConfig struct { 7032 _ struct{} `type:"structure"` 7033 7034 // A unique identifier for the instance fleet. 7035 // 7036 // InstanceFleetId is a required field 7037 InstanceFleetId *string `type:"string" required:"true"` 7038 7039 // The target capacity of On-Demand units for the instance fleet. For more information 7040 // see InstanceFleetConfig$TargetOnDemandCapacity. 7041 TargetOnDemandCapacity *int64 `type:"integer"` 7042 7043 // The target capacity of Spot units for the instance fleet. For more information, 7044 // see InstanceFleetConfig$TargetSpotCapacity. 7045 TargetSpotCapacity *int64 `type:"integer"` 7046} 7047 7048// String returns the string representation 7049func (s InstanceFleetModifyConfig) String() string { 7050 return awsutil.Prettify(s) 7051} 7052 7053// GoString returns the string representation 7054func (s InstanceFleetModifyConfig) GoString() string { 7055 return s.String() 7056} 7057 7058// Validate inspects the fields of the type to determine if they are valid. 7059func (s *InstanceFleetModifyConfig) Validate() error { 7060 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetModifyConfig"} 7061 if s.InstanceFleetId == nil { 7062 invalidParams.Add(request.NewErrParamRequired("InstanceFleetId")) 7063 } 7064 7065 if invalidParams.Len() > 0 { 7066 return invalidParams 7067 } 7068 return nil 7069} 7070 7071// SetInstanceFleetId sets the InstanceFleetId field's value. 7072func (s *InstanceFleetModifyConfig) SetInstanceFleetId(v string) *InstanceFleetModifyConfig { 7073 s.InstanceFleetId = &v 7074 return s 7075} 7076 7077// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 7078func (s *InstanceFleetModifyConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetModifyConfig { 7079 s.TargetOnDemandCapacity = &v 7080 return s 7081} 7082 7083// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 7084func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFleetModifyConfig { 7085 s.TargetSpotCapacity = &v 7086 return s 7087} 7088 7089// The launch specification for Spot instances in the fleet, which determines 7090// the defined duration, provisioning timeout behavior, and allocation strategy. 7091// 7092// The instance fleet configuration is available only in Amazon EMR versions 7093// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation 7094// strategies are available in Amazon EMR version 5.12.1 and later. 7095type InstanceFleetProvisioningSpecifications struct { 7096 _ struct{} `type:"structure"` 7097 7098 // The launch specification for On-Demand instances in the instance fleet, which 7099 // determines the allocation strategy. 7100 // 7101 // The instance fleet configuration is available only in Amazon EMR versions 7102 // 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation 7103 // strategy is available in Amazon EMR version 5.12.1 and later. 7104 OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` 7105 7106 // The launch specification for Spot instances in the fleet, which determines 7107 // the defined duration, provisioning timeout behavior, and allocation strategy. 7108 SpotSpecification *SpotProvisioningSpecification `type:"structure"` 7109} 7110 7111// String returns the string representation 7112func (s InstanceFleetProvisioningSpecifications) String() string { 7113 return awsutil.Prettify(s) 7114} 7115 7116// GoString returns the string representation 7117func (s InstanceFleetProvisioningSpecifications) GoString() string { 7118 return s.String() 7119} 7120 7121// Validate inspects the fields of the type to determine if they are valid. 7122func (s *InstanceFleetProvisioningSpecifications) Validate() error { 7123 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetProvisioningSpecifications"} 7124 if s.OnDemandSpecification != nil { 7125 if err := s.OnDemandSpecification.Validate(); err != nil { 7126 invalidParams.AddNested("OnDemandSpecification", err.(request.ErrInvalidParams)) 7127 } 7128 } 7129 if s.SpotSpecification != nil { 7130 if err := s.SpotSpecification.Validate(); err != nil { 7131 invalidParams.AddNested("SpotSpecification", err.(request.ErrInvalidParams)) 7132 } 7133 } 7134 7135 if invalidParams.Len() > 0 { 7136 return invalidParams 7137 } 7138 return nil 7139} 7140 7141// SetOnDemandSpecification sets the OnDemandSpecification field's value. 7142func (s *InstanceFleetProvisioningSpecifications) SetOnDemandSpecification(v *OnDemandProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 7143 s.OnDemandSpecification = v 7144 return s 7145} 7146 7147// SetSpotSpecification sets the SpotSpecification field's value. 7148func (s *InstanceFleetProvisioningSpecifications) SetSpotSpecification(v *SpotProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 7149 s.SpotSpecification = v 7150 return s 7151} 7152 7153// Provides status change reason details for the instance fleet. 7154// 7155// The instance fleet configuration is available only in Amazon EMR versions 7156// 4.8.0 and later, excluding 5.0.x versions. 7157type InstanceFleetStateChangeReason struct { 7158 _ struct{} `type:"structure"` 7159 7160 // A code corresponding to the reason the state change occurred. 7161 Code *string `type:"string" enum:"InstanceFleetStateChangeReasonCode"` 7162 7163 // An explanatory message. 7164 Message *string `type:"string"` 7165} 7166 7167// String returns the string representation 7168func (s InstanceFleetStateChangeReason) String() string { 7169 return awsutil.Prettify(s) 7170} 7171 7172// GoString returns the string representation 7173func (s InstanceFleetStateChangeReason) GoString() string { 7174 return s.String() 7175} 7176 7177// SetCode sets the Code field's value. 7178func (s *InstanceFleetStateChangeReason) SetCode(v string) *InstanceFleetStateChangeReason { 7179 s.Code = &v 7180 return s 7181} 7182 7183// SetMessage sets the Message field's value. 7184func (s *InstanceFleetStateChangeReason) SetMessage(v string) *InstanceFleetStateChangeReason { 7185 s.Message = &v 7186 return s 7187} 7188 7189// The status of the instance fleet. 7190// 7191// The instance fleet configuration is available only in Amazon EMR versions 7192// 4.8.0 and later, excluding 5.0.x versions. 7193type InstanceFleetStatus struct { 7194 _ struct{} `type:"structure"` 7195 7196 // A code representing the instance fleet status. 7197 // 7198 // * PROVISIONING—The instance fleet is provisioning EC2 resources and 7199 // is not yet ready to run jobs. 7200 // 7201 // * BOOTSTRAPPING—EC2 instances and other resources have been provisioned 7202 // and the bootstrap actions specified for the instances are underway. 7203 // 7204 // * RUNNING—EC2 instances and other resources are running. They are either 7205 // executing jobs or waiting to execute jobs. 7206 // 7207 // * RESIZING—A resize operation is underway. EC2 instances are either 7208 // being added or removed. 7209 // 7210 // * SUSPENDED—A resize operation could not complete. Existing EC2 instances 7211 // are running, but instances can't be added or removed. 7212 // 7213 // * TERMINATING—The instance fleet is terminating EC2 instances. 7214 // 7215 // * TERMINATED—The instance fleet is no longer active, and all EC2 instances 7216 // have been terminated. 7217 State *string `type:"string" enum:"InstanceFleetState"` 7218 7219 // Provides status change reason details for the instance fleet. 7220 StateChangeReason *InstanceFleetStateChangeReason `type:"structure"` 7221 7222 // Provides historical timestamps for the instance fleet, including the time 7223 // of creation, the time it became ready to run jobs, and the time of termination. 7224 Timeline *InstanceFleetTimeline `type:"structure"` 7225} 7226 7227// String returns the string representation 7228func (s InstanceFleetStatus) String() string { 7229 return awsutil.Prettify(s) 7230} 7231 7232// GoString returns the string representation 7233func (s InstanceFleetStatus) GoString() string { 7234 return s.String() 7235} 7236 7237// SetState sets the State field's value. 7238func (s *InstanceFleetStatus) SetState(v string) *InstanceFleetStatus { 7239 s.State = &v 7240 return s 7241} 7242 7243// SetStateChangeReason sets the StateChangeReason field's value. 7244func (s *InstanceFleetStatus) SetStateChangeReason(v *InstanceFleetStateChangeReason) *InstanceFleetStatus { 7245 s.StateChangeReason = v 7246 return s 7247} 7248 7249// SetTimeline sets the Timeline field's value. 7250func (s *InstanceFleetStatus) SetTimeline(v *InstanceFleetTimeline) *InstanceFleetStatus { 7251 s.Timeline = v 7252 return s 7253} 7254 7255// Provides historical timestamps for the instance fleet, including the time 7256// of creation, the time it became ready to run jobs, and the time of termination. 7257// 7258// The instance fleet configuration is available only in Amazon EMR versions 7259// 4.8.0 and later, excluding 5.0.x versions. 7260type InstanceFleetTimeline struct { 7261 _ struct{} `type:"structure"` 7262 7263 // The time and date the instance fleet was created. 7264 CreationDateTime *time.Time `type:"timestamp"` 7265 7266 // The time and date the instance fleet terminated. 7267 EndDateTime *time.Time `type:"timestamp"` 7268 7269 // The time and date the instance fleet was ready to run jobs. 7270 ReadyDateTime *time.Time `type:"timestamp"` 7271} 7272 7273// String returns the string representation 7274func (s InstanceFleetTimeline) String() string { 7275 return awsutil.Prettify(s) 7276} 7277 7278// GoString returns the string representation 7279func (s InstanceFleetTimeline) GoString() string { 7280 return s.String() 7281} 7282 7283// SetCreationDateTime sets the CreationDateTime field's value. 7284func (s *InstanceFleetTimeline) SetCreationDateTime(v time.Time) *InstanceFleetTimeline { 7285 s.CreationDateTime = &v 7286 return s 7287} 7288 7289// SetEndDateTime sets the EndDateTime field's value. 7290func (s *InstanceFleetTimeline) SetEndDateTime(v time.Time) *InstanceFleetTimeline { 7291 s.EndDateTime = &v 7292 return s 7293} 7294 7295// SetReadyDateTime sets the ReadyDateTime field's value. 7296func (s *InstanceFleetTimeline) SetReadyDateTime(v time.Time) *InstanceFleetTimeline { 7297 s.ReadyDateTime = &v 7298 return s 7299} 7300 7301// This entity represents an instance group, which is a group of instances that 7302// have common purpose. For example, CORE instance group is used for HDFS. 7303type InstanceGroup struct { 7304 _ struct{} `type:"structure"` 7305 7306 // An automatic scaling policy for a core instance group or task instance group 7307 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 7308 // group dynamically adds and terminates EC2 instances in response to the value 7309 // of a CloudWatch metric. See PutAutoScalingPolicy. 7310 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 7311 7312 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7313 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 7314 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7315 BidPrice *string `type:"string"` 7316 7317 // 7318 // Amazon EMR releases 4.x or later. 7319 // 7320 // The list of configurations supplied for an EMR cluster instance group. You 7321 // can specify a separate configuration for each instance group (master, core, 7322 // and task). 7323 Configurations []*Configuration `type:"list"` 7324 7325 // The version number of the requested configuration specification for this 7326 // instance group. 7327 ConfigurationsVersion *int64 `type:"long"` 7328 7329 // The EBS block devices that are mapped to this instance group. 7330 EbsBlockDevices []*EbsBlockDevice `type:"list"` 7331 7332 // If the instance group is EBS-optimized. An Amazon EBS-optimized instance 7333 // uses an optimized configuration stack and provides additional, dedicated 7334 // capacity for Amazon EBS I/O. 7335 EbsOptimized *bool `type:"boolean"` 7336 7337 // The identifier of the instance group. 7338 Id *string `type:"string"` 7339 7340 // The type of the instance group. Valid values are MASTER, CORE or TASK. 7341 InstanceGroupType *string `type:"string" enum:"InstanceGroupType"` 7342 7343 // The EC2 instance type for all instances in the instance group. 7344 InstanceType *string `min:"1" type:"string"` 7345 7346 // A list of configurations that were successfully applied for an instance group 7347 // last time. 7348 LastSuccessfullyAppliedConfigurations []*Configuration `type:"list"` 7349 7350 // The version number of a configuration specification that was successfully 7351 // applied for an instance group last time. 7352 LastSuccessfullyAppliedConfigurationsVersion *int64 `type:"long"` 7353 7354 // The marketplace to provision instances for this group. Valid values are ON_DEMAND 7355 // or SPOT. 7356 Market *string `type:"string" enum:"MarketType"` 7357 7358 // The name of the instance group. 7359 Name *string `type:"string"` 7360 7361 // The target number of instances for the instance group. 7362 RequestedInstanceCount *int64 `type:"integer"` 7363 7364 // The number of instances currently running in this instance group. 7365 RunningInstanceCount *int64 `type:"integer"` 7366 7367 // Policy for customizing shrink operations. 7368 ShrinkPolicy *ShrinkPolicy `type:"structure"` 7369 7370 // The current status of the instance group. 7371 Status *InstanceGroupStatus `type:"structure"` 7372} 7373 7374// String returns the string representation 7375func (s InstanceGroup) String() string { 7376 return awsutil.Prettify(s) 7377} 7378 7379// GoString returns the string representation 7380func (s InstanceGroup) GoString() string { 7381 return s.String() 7382} 7383 7384// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 7385func (s *InstanceGroup) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *InstanceGroup { 7386 s.AutoScalingPolicy = v 7387 return s 7388} 7389 7390// SetBidPrice sets the BidPrice field's value. 7391func (s *InstanceGroup) SetBidPrice(v string) *InstanceGroup { 7392 s.BidPrice = &v 7393 return s 7394} 7395 7396// SetConfigurations sets the Configurations field's value. 7397func (s *InstanceGroup) SetConfigurations(v []*Configuration) *InstanceGroup { 7398 s.Configurations = v 7399 return s 7400} 7401 7402// SetConfigurationsVersion sets the ConfigurationsVersion field's value. 7403func (s *InstanceGroup) SetConfigurationsVersion(v int64) *InstanceGroup { 7404 s.ConfigurationsVersion = &v 7405 return s 7406} 7407 7408// SetEbsBlockDevices sets the EbsBlockDevices field's value. 7409func (s *InstanceGroup) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceGroup { 7410 s.EbsBlockDevices = v 7411 return s 7412} 7413 7414// SetEbsOptimized sets the EbsOptimized field's value. 7415func (s *InstanceGroup) SetEbsOptimized(v bool) *InstanceGroup { 7416 s.EbsOptimized = &v 7417 return s 7418} 7419 7420// SetId sets the Id field's value. 7421func (s *InstanceGroup) SetId(v string) *InstanceGroup { 7422 s.Id = &v 7423 return s 7424} 7425 7426// SetInstanceGroupType sets the InstanceGroupType field's value. 7427func (s *InstanceGroup) SetInstanceGroupType(v string) *InstanceGroup { 7428 s.InstanceGroupType = &v 7429 return s 7430} 7431 7432// SetInstanceType sets the InstanceType field's value. 7433func (s *InstanceGroup) SetInstanceType(v string) *InstanceGroup { 7434 s.InstanceType = &v 7435 return s 7436} 7437 7438// SetLastSuccessfullyAppliedConfigurations sets the LastSuccessfullyAppliedConfigurations field's value. 7439func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurations(v []*Configuration) *InstanceGroup { 7440 s.LastSuccessfullyAppliedConfigurations = v 7441 return s 7442} 7443 7444// SetLastSuccessfullyAppliedConfigurationsVersion sets the LastSuccessfullyAppliedConfigurationsVersion field's value. 7445func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurationsVersion(v int64) *InstanceGroup { 7446 s.LastSuccessfullyAppliedConfigurationsVersion = &v 7447 return s 7448} 7449 7450// SetMarket sets the Market field's value. 7451func (s *InstanceGroup) SetMarket(v string) *InstanceGroup { 7452 s.Market = &v 7453 return s 7454} 7455 7456// SetName sets the Name field's value. 7457func (s *InstanceGroup) SetName(v string) *InstanceGroup { 7458 s.Name = &v 7459 return s 7460} 7461 7462// SetRequestedInstanceCount sets the RequestedInstanceCount field's value. 7463func (s *InstanceGroup) SetRequestedInstanceCount(v int64) *InstanceGroup { 7464 s.RequestedInstanceCount = &v 7465 return s 7466} 7467 7468// SetRunningInstanceCount sets the RunningInstanceCount field's value. 7469func (s *InstanceGroup) SetRunningInstanceCount(v int64) *InstanceGroup { 7470 s.RunningInstanceCount = &v 7471 return s 7472} 7473 7474// SetShrinkPolicy sets the ShrinkPolicy field's value. 7475func (s *InstanceGroup) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroup { 7476 s.ShrinkPolicy = v 7477 return s 7478} 7479 7480// SetStatus sets the Status field's value. 7481func (s *InstanceGroup) SetStatus(v *InstanceGroupStatus) *InstanceGroup { 7482 s.Status = v 7483 return s 7484} 7485 7486// Configuration defining a new instance group. 7487type InstanceGroupConfig struct { 7488 _ struct{} `type:"structure"` 7489 7490 // An automatic scaling policy for a core instance group or task instance group 7491 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 7492 // group dynamically adds and terminates EC2 instances in response to the value 7493 // of a CloudWatch metric. See PutAutoScalingPolicy. 7494 AutoScalingPolicy *AutoScalingPolicy `type:"structure"` 7495 7496 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7497 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 7498 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7499 BidPrice *string `type:"string"` 7500 7501 // 7502 // Amazon EMR releases 4.x or later. 7503 // 7504 // The list of configurations supplied for an EMR cluster instance group. You 7505 // can specify a separate configuration for each instance group (master, core, 7506 // and task). 7507 Configurations []*Configuration `type:"list"` 7508 7509 // EBS configurations that will be attached to each EC2 instance in the instance 7510 // group. 7511 EbsConfiguration *EbsConfiguration `type:"structure"` 7512 7513 // Target number of instances for the instance group. 7514 // 7515 // InstanceCount is a required field 7516 InstanceCount *int64 `type:"integer" required:"true"` 7517 7518 // The role of the instance group in the cluster. 7519 // 7520 // InstanceRole is a required field 7521 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 7522 7523 // The EC2 instance type for all instances in the instance group. 7524 // 7525 // InstanceType is a required field 7526 InstanceType *string `min:"1" type:"string" required:"true"` 7527 7528 // Market type of the EC2 instances used to create a cluster node. 7529 Market *string `type:"string" enum:"MarketType"` 7530 7531 // Friendly name given to the instance group. 7532 Name *string `type:"string"` 7533} 7534 7535// String returns the string representation 7536func (s InstanceGroupConfig) String() string { 7537 return awsutil.Prettify(s) 7538} 7539 7540// GoString returns the string representation 7541func (s InstanceGroupConfig) GoString() string { 7542 return s.String() 7543} 7544 7545// Validate inspects the fields of the type to determine if they are valid. 7546func (s *InstanceGroupConfig) Validate() error { 7547 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupConfig"} 7548 if s.InstanceCount == nil { 7549 invalidParams.Add(request.NewErrParamRequired("InstanceCount")) 7550 } 7551 if s.InstanceRole == nil { 7552 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 7553 } 7554 if s.InstanceType == nil { 7555 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 7556 } 7557 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 7558 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 7559 } 7560 if s.AutoScalingPolicy != nil { 7561 if err := s.AutoScalingPolicy.Validate(); err != nil { 7562 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 7563 } 7564 } 7565 if s.EbsConfiguration != nil { 7566 if err := s.EbsConfiguration.Validate(); err != nil { 7567 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 7568 } 7569 } 7570 7571 if invalidParams.Len() > 0 { 7572 return invalidParams 7573 } 7574 return nil 7575} 7576 7577// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 7578func (s *InstanceGroupConfig) SetAutoScalingPolicy(v *AutoScalingPolicy) *InstanceGroupConfig { 7579 s.AutoScalingPolicy = v 7580 return s 7581} 7582 7583// SetBidPrice sets the BidPrice field's value. 7584func (s *InstanceGroupConfig) SetBidPrice(v string) *InstanceGroupConfig { 7585 s.BidPrice = &v 7586 return s 7587} 7588 7589// SetConfigurations sets the Configurations field's value. 7590func (s *InstanceGroupConfig) SetConfigurations(v []*Configuration) *InstanceGroupConfig { 7591 s.Configurations = v 7592 return s 7593} 7594 7595// SetEbsConfiguration sets the EbsConfiguration field's value. 7596func (s *InstanceGroupConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceGroupConfig { 7597 s.EbsConfiguration = v 7598 return s 7599} 7600 7601// SetInstanceCount sets the InstanceCount field's value. 7602func (s *InstanceGroupConfig) SetInstanceCount(v int64) *InstanceGroupConfig { 7603 s.InstanceCount = &v 7604 return s 7605} 7606 7607// SetInstanceRole sets the InstanceRole field's value. 7608func (s *InstanceGroupConfig) SetInstanceRole(v string) *InstanceGroupConfig { 7609 s.InstanceRole = &v 7610 return s 7611} 7612 7613// SetInstanceType sets the InstanceType field's value. 7614func (s *InstanceGroupConfig) SetInstanceType(v string) *InstanceGroupConfig { 7615 s.InstanceType = &v 7616 return s 7617} 7618 7619// SetMarket sets the Market field's value. 7620func (s *InstanceGroupConfig) SetMarket(v string) *InstanceGroupConfig { 7621 s.Market = &v 7622 return s 7623} 7624 7625// SetName sets the Name field's value. 7626func (s *InstanceGroupConfig) SetName(v string) *InstanceGroupConfig { 7627 s.Name = &v 7628 return s 7629} 7630 7631// Detailed information about an instance group. 7632type InstanceGroupDetail struct { 7633 _ struct{} `type:"structure"` 7634 7635 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7636 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 7637 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7638 BidPrice *string `type:"string"` 7639 7640 // The date/time the instance group was created. 7641 // 7642 // CreationDateTime is a required field 7643 CreationDateTime *time.Time `type:"timestamp" required:"true"` 7644 7645 // The date/time the instance group was terminated. 7646 EndDateTime *time.Time `type:"timestamp"` 7647 7648 // Unique identifier for the instance group. 7649 InstanceGroupId *string `type:"string"` 7650 7651 // Target number of instances to run in the instance group. 7652 // 7653 // InstanceRequestCount is a required field 7654 InstanceRequestCount *int64 `type:"integer" required:"true"` 7655 7656 // Instance group role in the cluster 7657 // 7658 // InstanceRole is a required field 7659 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 7660 7661 // Actual count of running instances. 7662 // 7663 // InstanceRunningCount is a required field 7664 InstanceRunningCount *int64 `type:"integer" required:"true"` 7665 7666 // EC2 instance type. 7667 // 7668 // InstanceType is a required field 7669 InstanceType *string `min:"1" type:"string" required:"true"` 7670 7671 // Details regarding the state of the instance group. 7672 LastStateChangeReason *string `type:"string"` 7673 7674 // Market type of the EC2 instances used to create a cluster node. 7675 // 7676 // Market is a required field 7677 Market *string `type:"string" required:"true" enum:"MarketType"` 7678 7679 // Friendly name for the instance group. 7680 Name *string `type:"string"` 7681 7682 // The date/time the instance group was available to the cluster. 7683 ReadyDateTime *time.Time `type:"timestamp"` 7684 7685 // The date/time the instance group was started. 7686 StartDateTime *time.Time `type:"timestamp"` 7687 7688 // State of instance group. The following values are deprecated: STARTING, TERMINATED, 7689 // and FAILED. 7690 // 7691 // State is a required field 7692 State *string `type:"string" required:"true" enum:"InstanceGroupState"` 7693} 7694 7695// String returns the string representation 7696func (s InstanceGroupDetail) String() string { 7697 return awsutil.Prettify(s) 7698} 7699 7700// GoString returns the string representation 7701func (s InstanceGroupDetail) GoString() string { 7702 return s.String() 7703} 7704 7705// SetBidPrice sets the BidPrice field's value. 7706func (s *InstanceGroupDetail) SetBidPrice(v string) *InstanceGroupDetail { 7707 s.BidPrice = &v 7708 return s 7709} 7710 7711// SetCreationDateTime sets the CreationDateTime field's value. 7712func (s *InstanceGroupDetail) SetCreationDateTime(v time.Time) *InstanceGroupDetail { 7713 s.CreationDateTime = &v 7714 return s 7715} 7716 7717// SetEndDateTime sets the EndDateTime field's value. 7718func (s *InstanceGroupDetail) SetEndDateTime(v time.Time) *InstanceGroupDetail { 7719 s.EndDateTime = &v 7720 return s 7721} 7722 7723// SetInstanceGroupId sets the InstanceGroupId field's value. 7724func (s *InstanceGroupDetail) SetInstanceGroupId(v string) *InstanceGroupDetail { 7725 s.InstanceGroupId = &v 7726 return s 7727} 7728 7729// SetInstanceRequestCount sets the InstanceRequestCount field's value. 7730func (s *InstanceGroupDetail) SetInstanceRequestCount(v int64) *InstanceGroupDetail { 7731 s.InstanceRequestCount = &v 7732 return s 7733} 7734 7735// SetInstanceRole sets the InstanceRole field's value. 7736func (s *InstanceGroupDetail) SetInstanceRole(v string) *InstanceGroupDetail { 7737 s.InstanceRole = &v 7738 return s 7739} 7740 7741// SetInstanceRunningCount sets the InstanceRunningCount field's value. 7742func (s *InstanceGroupDetail) SetInstanceRunningCount(v int64) *InstanceGroupDetail { 7743 s.InstanceRunningCount = &v 7744 return s 7745} 7746 7747// SetInstanceType sets the InstanceType field's value. 7748func (s *InstanceGroupDetail) SetInstanceType(v string) *InstanceGroupDetail { 7749 s.InstanceType = &v 7750 return s 7751} 7752 7753// SetLastStateChangeReason sets the LastStateChangeReason field's value. 7754func (s *InstanceGroupDetail) SetLastStateChangeReason(v string) *InstanceGroupDetail { 7755 s.LastStateChangeReason = &v 7756 return s 7757} 7758 7759// SetMarket sets the Market field's value. 7760func (s *InstanceGroupDetail) SetMarket(v string) *InstanceGroupDetail { 7761 s.Market = &v 7762 return s 7763} 7764 7765// SetName sets the Name field's value. 7766func (s *InstanceGroupDetail) SetName(v string) *InstanceGroupDetail { 7767 s.Name = &v 7768 return s 7769} 7770 7771// SetReadyDateTime sets the ReadyDateTime field's value. 7772func (s *InstanceGroupDetail) SetReadyDateTime(v time.Time) *InstanceGroupDetail { 7773 s.ReadyDateTime = &v 7774 return s 7775} 7776 7777// SetStartDateTime sets the StartDateTime field's value. 7778func (s *InstanceGroupDetail) SetStartDateTime(v time.Time) *InstanceGroupDetail { 7779 s.StartDateTime = &v 7780 return s 7781} 7782 7783// SetState sets the State field's value. 7784func (s *InstanceGroupDetail) SetState(v string) *InstanceGroupDetail { 7785 s.State = &v 7786 return s 7787} 7788 7789// Modify the size or configurations of an instance group. 7790type InstanceGroupModifyConfig struct { 7791 _ struct{} `type:"structure"` 7792 7793 // A list of new or modified configurations to apply for an instance group. 7794 Configurations []*Configuration `type:"list"` 7795 7796 // The EC2 InstanceIds to terminate. After you terminate the instances, the 7797 // instance group will not return to its original requested size. 7798 EC2InstanceIdsToTerminate []*string `type:"list"` 7799 7800 // Target size for the instance group. 7801 InstanceCount *int64 `type:"integer"` 7802 7803 // Unique ID of the instance group to expand or shrink. 7804 // 7805 // InstanceGroupId is a required field 7806 InstanceGroupId *string `type:"string" required:"true"` 7807 7808 // Policy for customizing shrink operations. 7809 ShrinkPolicy *ShrinkPolicy `type:"structure"` 7810} 7811 7812// String returns the string representation 7813func (s InstanceGroupModifyConfig) String() string { 7814 return awsutil.Prettify(s) 7815} 7816 7817// GoString returns the string representation 7818func (s InstanceGroupModifyConfig) GoString() string { 7819 return s.String() 7820} 7821 7822// Validate inspects the fields of the type to determine if they are valid. 7823func (s *InstanceGroupModifyConfig) Validate() error { 7824 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupModifyConfig"} 7825 if s.InstanceGroupId == nil { 7826 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 7827 } 7828 7829 if invalidParams.Len() > 0 { 7830 return invalidParams 7831 } 7832 return nil 7833} 7834 7835// SetConfigurations sets the Configurations field's value. 7836func (s *InstanceGroupModifyConfig) SetConfigurations(v []*Configuration) *InstanceGroupModifyConfig { 7837 s.Configurations = v 7838 return s 7839} 7840 7841// SetEC2InstanceIdsToTerminate sets the EC2InstanceIdsToTerminate field's value. 7842func (s *InstanceGroupModifyConfig) SetEC2InstanceIdsToTerminate(v []*string) *InstanceGroupModifyConfig { 7843 s.EC2InstanceIdsToTerminate = v 7844 return s 7845} 7846 7847// SetInstanceCount sets the InstanceCount field's value. 7848func (s *InstanceGroupModifyConfig) SetInstanceCount(v int64) *InstanceGroupModifyConfig { 7849 s.InstanceCount = &v 7850 return s 7851} 7852 7853// SetInstanceGroupId sets the InstanceGroupId field's value. 7854func (s *InstanceGroupModifyConfig) SetInstanceGroupId(v string) *InstanceGroupModifyConfig { 7855 s.InstanceGroupId = &v 7856 return s 7857} 7858 7859// SetShrinkPolicy sets the ShrinkPolicy field's value. 7860func (s *InstanceGroupModifyConfig) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroupModifyConfig { 7861 s.ShrinkPolicy = v 7862 return s 7863} 7864 7865// The status change reason details for the instance group. 7866type InstanceGroupStateChangeReason struct { 7867 _ struct{} `type:"structure"` 7868 7869 // The programmable code for the state change reason. 7870 Code *string `type:"string" enum:"InstanceGroupStateChangeReasonCode"` 7871 7872 // The status change reason description. 7873 Message *string `type:"string"` 7874} 7875 7876// String returns the string representation 7877func (s InstanceGroupStateChangeReason) String() string { 7878 return awsutil.Prettify(s) 7879} 7880 7881// GoString returns the string representation 7882func (s InstanceGroupStateChangeReason) GoString() string { 7883 return s.String() 7884} 7885 7886// SetCode sets the Code field's value. 7887func (s *InstanceGroupStateChangeReason) SetCode(v string) *InstanceGroupStateChangeReason { 7888 s.Code = &v 7889 return s 7890} 7891 7892// SetMessage sets the Message field's value. 7893func (s *InstanceGroupStateChangeReason) SetMessage(v string) *InstanceGroupStateChangeReason { 7894 s.Message = &v 7895 return s 7896} 7897 7898// The details of the instance group status. 7899type InstanceGroupStatus struct { 7900 _ struct{} `type:"structure"` 7901 7902 // The current state of the instance group. 7903 State *string `type:"string" enum:"InstanceGroupState"` 7904 7905 // The status change reason details for the instance group. 7906 StateChangeReason *InstanceGroupStateChangeReason `type:"structure"` 7907 7908 // The timeline of the instance group status over time. 7909 Timeline *InstanceGroupTimeline `type:"structure"` 7910} 7911 7912// String returns the string representation 7913func (s InstanceGroupStatus) String() string { 7914 return awsutil.Prettify(s) 7915} 7916 7917// GoString returns the string representation 7918func (s InstanceGroupStatus) GoString() string { 7919 return s.String() 7920} 7921 7922// SetState sets the State field's value. 7923func (s *InstanceGroupStatus) SetState(v string) *InstanceGroupStatus { 7924 s.State = &v 7925 return s 7926} 7927 7928// SetStateChangeReason sets the StateChangeReason field's value. 7929func (s *InstanceGroupStatus) SetStateChangeReason(v *InstanceGroupStateChangeReason) *InstanceGroupStatus { 7930 s.StateChangeReason = v 7931 return s 7932} 7933 7934// SetTimeline sets the Timeline field's value. 7935func (s *InstanceGroupStatus) SetTimeline(v *InstanceGroupTimeline) *InstanceGroupStatus { 7936 s.Timeline = v 7937 return s 7938} 7939 7940// The timeline of the instance group lifecycle. 7941type InstanceGroupTimeline struct { 7942 _ struct{} `type:"structure"` 7943 7944 // The creation date and time of the instance group. 7945 CreationDateTime *time.Time `type:"timestamp"` 7946 7947 // The date and time when the instance group terminated. 7948 EndDateTime *time.Time `type:"timestamp"` 7949 7950 // The date and time when the instance group became ready to perform tasks. 7951 ReadyDateTime *time.Time `type:"timestamp"` 7952} 7953 7954// String returns the string representation 7955func (s InstanceGroupTimeline) String() string { 7956 return awsutil.Prettify(s) 7957} 7958 7959// GoString returns the string representation 7960func (s InstanceGroupTimeline) GoString() string { 7961 return s.String() 7962} 7963 7964// SetCreationDateTime sets the CreationDateTime field's value. 7965func (s *InstanceGroupTimeline) SetCreationDateTime(v time.Time) *InstanceGroupTimeline { 7966 s.CreationDateTime = &v 7967 return s 7968} 7969 7970// SetEndDateTime sets the EndDateTime field's value. 7971func (s *InstanceGroupTimeline) SetEndDateTime(v time.Time) *InstanceGroupTimeline { 7972 s.EndDateTime = &v 7973 return s 7974} 7975 7976// SetReadyDateTime sets the ReadyDateTime field's value. 7977func (s *InstanceGroupTimeline) SetReadyDateTime(v time.Time) *InstanceGroupTimeline { 7978 s.ReadyDateTime = &v 7979 return s 7980} 7981 7982// Custom policy for requesting termination protection or termination of specific 7983// instances when shrinking an instance group. 7984type InstanceResizePolicy struct { 7985 _ struct{} `type:"structure"` 7986 7987 // Decommissioning timeout override for the specific list of instances to be 7988 // terminated. 7989 InstanceTerminationTimeout *int64 `type:"integer"` 7990 7991 // Specific list of instances to be protected when shrinking an instance group. 7992 InstancesToProtect []*string `type:"list"` 7993 7994 // Specific list of instances to be terminated when shrinking an instance group. 7995 InstancesToTerminate []*string `type:"list"` 7996} 7997 7998// String returns the string representation 7999func (s InstanceResizePolicy) String() string { 8000 return awsutil.Prettify(s) 8001} 8002 8003// GoString returns the string representation 8004func (s InstanceResizePolicy) GoString() string { 8005 return s.String() 8006} 8007 8008// SetInstanceTerminationTimeout sets the InstanceTerminationTimeout field's value. 8009func (s *InstanceResizePolicy) SetInstanceTerminationTimeout(v int64) *InstanceResizePolicy { 8010 s.InstanceTerminationTimeout = &v 8011 return s 8012} 8013 8014// SetInstancesToProtect sets the InstancesToProtect field's value. 8015func (s *InstanceResizePolicy) SetInstancesToProtect(v []*string) *InstanceResizePolicy { 8016 s.InstancesToProtect = v 8017 return s 8018} 8019 8020// SetInstancesToTerminate sets the InstancesToTerminate field's value. 8021func (s *InstanceResizePolicy) SetInstancesToTerminate(v []*string) *InstanceResizePolicy { 8022 s.InstancesToTerminate = v 8023 return s 8024} 8025 8026// The details of the status change reason for the instance. 8027type InstanceStateChangeReason struct { 8028 _ struct{} `type:"structure"` 8029 8030 // The programmable code for the state change reason. 8031 Code *string `type:"string" enum:"InstanceStateChangeReasonCode"` 8032 8033 // The status change reason description. 8034 Message *string `type:"string"` 8035} 8036 8037// String returns the string representation 8038func (s InstanceStateChangeReason) String() string { 8039 return awsutil.Prettify(s) 8040} 8041 8042// GoString returns the string representation 8043func (s InstanceStateChangeReason) GoString() string { 8044 return s.String() 8045} 8046 8047// SetCode sets the Code field's value. 8048func (s *InstanceStateChangeReason) SetCode(v string) *InstanceStateChangeReason { 8049 s.Code = &v 8050 return s 8051} 8052 8053// SetMessage sets the Message field's value. 8054func (s *InstanceStateChangeReason) SetMessage(v string) *InstanceStateChangeReason { 8055 s.Message = &v 8056 return s 8057} 8058 8059// The instance status details. 8060type InstanceStatus struct { 8061 _ struct{} `type:"structure"` 8062 8063 // The current state of the instance. 8064 State *string `type:"string" enum:"InstanceState"` 8065 8066 // The details of the status change reason for the instance. 8067 StateChangeReason *InstanceStateChangeReason `type:"structure"` 8068 8069 // The timeline of the instance status over time. 8070 Timeline *InstanceTimeline `type:"structure"` 8071} 8072 8073// String returns the string representation 8074func (s InstanceStatus) String() string { 8075 return awsutil.Prettify(s) 8076} 8077 8078// GoString returns the string representation 8079func (s InstanceStatus) GoString() string { 8080 return s.String() 8081} 8082 8083// SetState sets the State field's value. 8084func (s *InstanceStatus) SetState(v string) *InstanceStatus { 8085 s.State = &v 8086 return s 8087} 8088 8089// SetStateChangeReason sets the StateChangeReason field's value. 8090func (s *InstanceStatus) SetStateChangeReason(v *InstanceStateChangeReason) *InstanceStatus { 8091 s.StateChangeReason = v 8092 return s 8093} 8094 8095// SetTimeline sets the Timeline field's value. 8096func (s *InstanceStatus) SetTimeline(v *InstanceTimeline) *InstanceStatus { 8097 s.Timeline = v 8098 return s 8099} 8100 8101// The timeline of the instance lifecycle. 8102type InstanceTimeline struct { 8103 _ struct{} `type:"structure"` 8104 8105 // The creation date and time of the instance. 8106 CreationDateTime *time.Time `type:"timestamp"` 8107 8108 // The date and time when the instance was terminated. 8109 EndDateTime *time.Time `type:"timestamp"` 8110 8111 // The date and time when the instance was ready to perform tasks. 8112 ReadyDateTime *time.Time `type:"timestamp"` 8113} 8114 8115// String returns the string representation 8116func (s InstanceTimeline) String() string { 8117 return awsutil.Prettify(s) 8118} 8119 8120// GoString returns the string representation 8121func (s InstanceTimeline) GoString() string { 8122 return s.String() 8123} 8124 8125// SetCreationDateTime sets the CreationDateTime field's value. 8126func (s *InstanceTimeline) SetCreationDateTime(v time.Time) *InstanceTimeline { 8127 s.CreationDateTime = &v 8128 return s 8129} 8130 8131// SetEndDateTime sets the EndDateTime field's value. 8132func (s *InstanceTimeline) SetEndDateTime(v time.Time) *InstanceTimeline { 8133 s.EndDateTime = &v 8134 return s 8135} 8136 8137// SetReadyDateTime sets the ReadyDateTime field's value. 8138func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { 8139 s.ReadyDateTime = &v 8140 return s 8141} 8142 8143// An instance type configuration for each instance type in an instance fleet, 8144// which determines the EC2 instances Amazon EMR attempts to provision to fulfill 8145// On-Demand and Spot target capacities. There can be a maximum of 5 instance 8146// type configurations in a fleet. 8147// 8148// The instance fleet configuration is available only in Amazon EMR versions 8149// 4.8.0 and later, excluding 5.0.x versions. 8150type InstanceTypeConfig struct { 8151 _ struct{} `type:"structure"` 8152 8153 // The bid price for each EC2 Spot instance type as defined by InstanceType. 8154 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 8155 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 8156 BidPrice *string `type:"string"` 8157 8158 // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance 8159 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 8160 // 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, 8161 // BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 8162 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 8163 8164 // A configuration classification that applies when provisioning cluster instances, 8165 // which can include configurations for applications and software that run on 8166 // the cluster. 8167 Configurations []*Configuration `type:"list"` 8168 8169 // The configuration of Amazon Elastic Block Storage (EBS) attached to each 8170 // instance as defined by InstanceType. 8171 EbsConfiguration *EbsConfiguration `type:"structure"` 8172 8173 // An EC2 instance type, such as m3.xlarge. 8174 // 8175 // InstanceType is a required field 8176 InstanceType *string `min:"1" type:"string" required:"true"` 8177 8178 // The number of units that a provisioned instance of this type provides toward 8179 // fulfilling the target capacities defined in InstanceFleetConfig. This value 8180 // is 1 for a master instance fleet, and must be 1 or greater for core and task 8181 // instance fleets. Defaults to 1 if not specified. 8182 WeightedCapacity *int64 `type:"integer"` 8183} 8184 8185// String returns the string representation 8186func (s InstanceTypeConfig) String() string { 8187 return awsutil.Prettify(s) 8188} 8189 8190// GoString returns the string representation 8191func (s InstanceTypeConfig) GoString() string { 8192 return s.String() 8193} 8194 8195// Validate inspects the fields of the type to determine if they are valid. 8196func (s *InstanceTypeConfig) Validate() error { 8197 invalidParams := request.ErrInvalidParams{Context: "InstanceTypeConfig"} 8198 if s.InstanceType == nil { 8199 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 8200 } 8201 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 8202 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 8203 } 8204 if s.EbsConfiguration != nil { 8205 if err := s.EbsConfiguration.Validate(); err != nil { 8206 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 8207 } 8208 } 8209 8210 if invalidParams.Len() > 0 { 8211 return invalidParams 8212 } 8213 return nil 8214} 8215 8216// SetBidPrice sets the BidPrice field's value. 8217func (s *InstanceTypeConfig) SetBidPrice(v string) *InstanceTypeConfig { 8218 s.BidPrice = &v 8219 return s 8220} 8221 8222// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 8223func (s *InstanceTypeConfig) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeConfig { 8224 s.BidPriceAsPercentageOfOnDemandPrice = &v 8225 return s 8226} 8227 8228// SetConfigurations sets the Configurations field's value. 8229func (s *InstanceTypeConfig) SetConfigurations(v []*Configuration) *InstanceTypeConfig { 8230 s.Configurations = v 8231 return s 8232} 8233 8234// SetEbsConfiguration sets the EbsConfiguration field's value. 8235func (s *InstanceTypeConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceTypeConfig { 8236 s.EbsConfiguration = v 8237 return s 8238} 8239 8240// SetInstanceType sets the InstanceType field's value. 8241func (s *InstanceTypeConfig) SetInstanceType(v string) *InstanceTypeConfig { 8242 s.InstanceType = &v 8243 return s 8244} 8245 8246// SetWeightedCapacity sets the WeightedCapacity field's value. 8247func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig { 8248 s.WeightedCapacity = &v 8249 return s 8250} 8251 8252// The configuration specification for each instance type in an instance fleet. 8253// 8254// The instance fleet configuration is available only in Amazon EMR versions 8255// 4.8.0 and later, excluding 5.0.x versions. 8256type InstanceTypeSpecification struct { 8257 _ struct{} `type:"structure"` 8258 8259 // The bid price for each EC2 Spot instance type as defined by InstanceType. 8260 // Expressed in USD. 8261 BidPrice *string `type:"string"` 8262 8263 // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance 8264 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 8265 // 20%). 8266 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 8267 8268 // A configuration classification that applies when provisioning cluster instances, 8269 // which can include configurations for applications and software bundled with 8270 // Amazon EMR. 8271 Configurations []*Configuration `type:"list"` 8272 8273 // The configuration of Amazon Elastic Block Storage (EBS) attached to each 8274 // instance as defined by InstanceType. 8275 EbsBlockDevices []*EbsBlockDevice `type:"list"` 8276 8277 // Evaluates to TRUE when the specified InstanceType is EBS-optimized. 8278 EbsOptimized *bool `type:"boolean"` 8279 8280 // The EC2 instance type, for example m3.xlarge. 8281 InstanceType *string `min:"1" type:"string"` 8282 8283 // The number of units that a provisioned instance of this type provides toward 8284 // fulfilling the target capacities defined in InstanceFleetConfig. Capacity 8285 // values represent performance characteristics such as vCPUs, memory, or I/O. 8286 // If not specified, the default value is 1. 8287 WeightedCapacity *int64 `type:"integer"` 8288} 8289 8290// String returns the string representation 8291func (s InstanceTypeSpecification) String() string { 8292 return awsutil.Prettify(s) 8293} 8294 8295// GoString returns the string representation 8296func (s InstanceTypeSpecification) GoString() string { 8297 return s.String() 8298} 8299 8300// SetBidPrice sets the BidPrice field's value. 8301func (s *InstanceTypeSpecification) SetBidPrice(v string) *InstanceTypeSpecification { 8302 s.BidPrice = &v 8303 return s 8304} 8305 8306// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 8307func (s *InstanceTypeSpecification) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeSpecification { 8308 s.BidPriceAsPercentageOfOnDemandPrice = &v 8309 return s 8310} 8311 8312// SetConfigurations sets the Configurations field's value. 8313func (s *InstanceTypeSpecification) SetConfigurations(v []*Configuration) *InstanceTypeSpecification { 8314 s.Configurations = v 8315 return s 8316} 8317 8318// SetEbsBlockDevices sets the EbsBlockDevices field's value. 8319func (s *InstanceTypeSpecification) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceTypeSpecification { 8320 s.EbsBlockDevices = v 8321 return s 8322} 8323 8324// SetEbsOptimized sets the EbsOptimized field's value. 8325func (s *InstanceTypeSpecification) SetEbsOptimized(v bool) *InstanceTypeSpecification { 8326 s.EbsOptimized = &v 8327 return s 8328} 8329 8330// SetInstanceType sets the InstanceType field's value. 8331func (s *InstanceTypeSpecification) SetInstanceType(v string) *InstanceTypeSpecification { 8332 s.InstanceType = &v 8333 return s 8334} 8335 8336// SetWeightedCapacity sets the WeightedCapacity field's value. 8337func (s *InstanceTypeSpecification) SetWeightedCapacity(v int64) *InstanceTypeSpecification { 8338 s.WeightedCapacity = &v 8339 return s 8340} 8341 8342// Indicates that an error occurred while processing the request and that the 8343// request was not completed. 8344type InternalServerError struct { 8345 _ struct{} `type:"structure"` 8346 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8347 8348 Message_ *string `locationName:"message" type:"string"` 8349} 8350 8351// String returns the string representation 8352func (s InternalServerError) String() string { 8353 return awsutil.Prettify(s) 8354} 8355 8356// GoString returns the string representation 8357func (s InternalServerError) GoString() string { 8358 return s.String() 8359} 8360 8361func newErrorInternalServerError(v protocol.ResponseMetadata) error { 8362 return &InternalServerError{ 8363 RespMetadata: v, 8364 } 8365} 8366 8367// Code returns the exception type name. 8368func (s *InternalServerError) Code() string { 8369 return "InternalServerError" 8370} 8371 8372// Message returns the exception's message. 8373func (s *InternalServerError) Message() string { 8374 if s.Message_ != nil { 8375 return *s.Message_ 8376 } 8377 return "" 8378} 8379 8380// OrigErr always returns nil, satisfies awserr.Error interface. 8381func (s *InternalServerError) OrigErr() error { 8382 return nil 8383} 8384 8385func (s *InternalServerError) Error() string { 8386 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8387} 8388 8389// Status code returns the HTTP status code for the request's response error. 8390func (s *InternalServerError) StatusCode() int { 8391 return s.RespMetadata.StatusCode 8392} 8393 8394// RequestID returns the service's response RequestID for request. 8395func (s *InternalServerError) RequestID() string { 8396 return s.RespMetadata.RequestID 8397} 8398 8399// This exception occurs when there is an internal failure in the EMR service. 8400type InternalServerException struct { 8401 _ struct{} `type:"structure"` 8402 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8403 8404 // The message associated with the exception. 8405 Message_ *string `locationName:"Message" type:"string"` 8406} 8407 8408// String returns the string representation 8409func (s InternalServerException) String() string { 8410 return awsutil.Prettify(s) 8411} 8412 8413// GoString returns the string representation 8414func (s InternalServerException) GoString() string { 8415 return s.String() 8416} 8417 8418func newErrorInternalServerException(v protocol.ResponseMetadata) error { 8419 return &InternalServerException{ 8420 RespMetadata: v, 8421 } 8422} 8423 8424// Code returns the exception type name. 8425func (s *InternalServerException) Code() string { 8426 return "InternalServerException" 8427} 8428 8429// Message returns the exception's message. 8430func (s *InternalServerException) Message() string { 8431 if s.Message_ != nil { 8432 return *s.Message_ 8433 } 8434 return "" 8435} 8436 8437// OrigErr always returns nil, satisfies awserr.Error interface. 8438func (s *InternalServerException) OrigErr() error { 8439 return nil 8440} 8441 8442func (s *InternalServerException) Error() string { 8443 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 8444} 8445 8446// Status code returns the HTTP status code for the request's response error. 8447func (s *InternalServerException) StatusCode() int { 8448 return s.RespMetadata.StatusCode 8449} 8450 8451// RequestID returns the service's response RequestID for request. 8452func (s *InternalServerException) RequestID() string { 8453 return s.RespMetadata.RequestID 8454} 8455 8456// This exception occurs when there is something wrong with user input. 8457type InvalidRequestException struct { 8458 _ struct{} `type:"structure"` 8459 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 8460 8461 // The error code associated with the exception. 8462 ErrorCode *string `min:"1" type:"string"` 8463 8464 // The message associated with the exception. 8465 Message_ *string `locationName:"Message" type:"string"` 8466} 8467 8468// String returns the string representation 8469func (s InvalidRequestException) String() string { 8470 return awsutil.Prettify(s) 8471} 8472 8473// GoString returns the string representation 8474func (s InvalidRequestException) GoString() string { 8475 return s.String() 8476} 8477 8478func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 8479 return &InvalidRequestException{ 8480 RespMetadata: v, 8481 } 8482} 8483 8484// Code returns the exception type name. 8485func (s *InvalidRequestException) Code() string { 8486 return "InvalidRequestException" 8487} 8488 8489// Message returns the exception's message. 8490func (s *InvalidRequestException) Message() string { 8491 if s.Message_ != nil { 8492 return *s.Message_ 8493 } 8494 return "" 8495} 8496 8497// OrigErr always returns nil, satisfies awserr.Error interface. 8498func (s *InvalidRequestException) OrigErr() error { 8499 return nil 8500} 8501 8502func (s *InvalidRequestException) Error() string { 8503 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 8504} 8505 8506// Status code returns the HTTP status code for the request's response error. 8507func (s *InvalidRequestException) StatusCode() int { 8508 return s.RespMetadata.StatusCode 8509} 8510 8511// RequestID returns the service's response RequestID for request. 8512func (s *InvalidRequestException) RequestID() string { 8513 return s.RespMetadata.RequestID 8514} 8515 8516// A description of a cluster (job flow). 8517type JobFlowDetail struct { 8518 _ struct{} `type:"structure"` 8519 8520 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 8521 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 8522 AmiVersion *string `type:"string"` 8523 8524 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 8525 // The IAM role provides a way for the automatic scaling feature to get the 8526 // required permissions it needs to launch and terminate EC2 instances in an 8527 // instance group. 8528 AutoScalingRole *string `type:"string"` 8529 8530 // A list of the bootstrap actions run by the job flow. 8531 BootstrapActions []*BootstrapActionDetail `type:"list"` 8532 8533 // Describes the execution status of the job flow. 8534 // 8535 // ExecutionStatusDetail is a required field 8536 ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"` 8537 8538 // Describes the Amazon EC2 instances of the job flow. 8539 // 8540 // Instances is a required field 8541 Instances *JobFlowInstancesDetail `type:"structure" required:"true"` 8542 8543 // The job flow identifier. 8544 // 8545 // JobFlowId is a required field 8546 JobFlowId *string `type:"string" required:"true"` 8547 8548 // The IAM role that was specified when the job flow was launched. The EC2 instances 8549 // of the job flow assume this role. 8550 JobFlowRole *string `type:"string"` 8551 8552 // The AWS KMS customer master key (CMK) used for encrypting log files. This 8553 // attribute is only available with EMR version 5.30.0 and later, excluding 8554 // EMR 6.0.0. 8555 LogEncryptionKmsKeyId *string `type:"string"` 8556 8557 // The location in Amazon S3 where log files for the job are stored. 8558 LogUri *string `type:"string"` 8559 8560 // The name of the job flow. 8561 // 8562 // Name is a required field 8563 Name *string `type:"string" required:"true"` 8564 8565 // The way that individual Amazon EC2 instances terminate when an automatic 8566 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 8567 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 8568 // regardless of when the request to terminate the instance was submitted. This 8569 // option is only available with Amazon EMR 5.1.0 and later and is the default 8570 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 8571 // that Amazon EMR blacklists and drains tasks from nodes before terminating 8572 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 8573 // either behavior, Amazon EMR removes the least active nodes first and blocks 8574 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 8575 // available only in Amazon EMR version 4.1.0 and later, and is the default 8576 // for versions of Amazon EMR earlier than 5.1.0. 8577 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 8578 8579 // The IAM role that will be assumed by the Amazon EMR service to access AWS 8580 // resources on your behalf. 8581 ServiceRole *string `type:"string"` 8582 8583 // A list of steps run by the job flow. 8584 Steps []*StepDetail `type:"list"` 8585 8586 // A list of strings set by third party software when the job flow is launched. 8587 // If you are not using third party software to manage the job flow this value 8588 // is empty. 8589 SupportedProducts []*string `type:"list"` 8590 8591 // Indicates whether the cluster is visible to all IAM users of the AWS account 8592 // associated with the cluster. The default value, true, indicates that all 8593 // IAM users in the AWS account can perform cluster actions if they have the 8594 // proper IAM policy permissions. If this value is false, only the IAM user 8595 // that created the cluster can perform actions. This value can be changed on 8596 // a running cluster by using the SetVisibleToAllUsers action. You can override 8597 // the default value of true when you create a cluster by using the VisibleToAllUsers 8598 // parameter of the RunJobFlow action. 8599 VisibleToAllUsers *bool `type:"boolean"` 8600} 8601 8602// String returns the string representation 8603func (s JobFlowDetail) String() string { 8604 return awsutil.Prettify(s) 8605} 8606 8607// GoString returns the string representation 8608func (s JobFlowDetail) GoString() string { 8609 return s.String() 8610} 8611 8612// SetAmiVersion sets the AmiVersion field's value. 8613func (s *JobFlowDetail) SetAmiVersion(v string) *JobFlowDetail { 8614 s.AmiVersion = &v 8615 return s 8616} 8617 8618// SetAutoScalingRole sets the AutoScalingRole field's value. 8619func (s *JobFlowDetail) SetAutoScalingRole(v string) *JobFlowDetail { 8620 s.AutoScalingRole = &v 8621 return s 8622} 8623 8624// SetBootstrapActions sets the BootstrapActions field's value. 8625func (s *JobFlowDetail) SetBootstrapActions(v []*BootstrapActionDetail) *JobFlowDetail { 8626 s.BootstrapActions = v 8627 return s 8628} 8629 8630// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 8631func (s *JobFlowDetail) SetExecutionStatusDetail(v *JobFlowExecutionStatusDetail) *JobFlowDetail { 8632 s.ExecutionStatusDetail = v 8633 return s 8634} 8635 8636// SetInstances sets the Instances field's value. 8637func (s *JobFlowDetail) SetInstances(v *JobFlowInstancesDetail) *JobFlowDetail { 8638 s.Instances = v 8639 return s 8640} 8641 8642// SetJobFlowId sets the JobFlowId field's value. 8643func (s *JobFlowDetail) SetJobFlowId(v string) *JobFlowDetail { 8644 s.JobFlowId = &v 8645 return s 8646} 8647 8648// SetJobFlowRole sets the JobFlowRole field's value. 8649func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail { 8650 s.JobFlowRole = &v 8651 return s 8652} 8653 8654// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 8655func (s *JobFlowDetail) SetLogEncryptionKmsKeyId(v string) *JobFlowDetail { 8656 s.LogEncryptionKmsKeyId = &v 8657 return s 8658} 8659 8660// SetLogUri sets the LogUri field's value. 8661func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail { 8662 s.LogUri = &v 8663 return s 8664} 8665 8666// SetName sets the Name field's value. 8667func (s *JobFlowDetail) SetName(v string) *JobFlowDetail { 8668 s.Name = &v 8669 return s 8670} 8671 8672// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 8673func (s *JobFlowDetail) SetScaleDownBehavior(v string) *JobFlowDetail { 8674 s.ScaleDownBehavior = &v 8675 return s 8676} 8677 8678// SetServiceRole sets the ServiceRole field's value. 8679func (s *JobFlowDetail) SetServiceRole(v string) *JobFlowDetail { 8680 s.ServiceRole = &v 8681 return s 8682} 8683 8684// SetSteps sets the Steps field's value. 8685func (s *JobFlowDetail) SetSteps(v []*StepDetail) *JobFlowDetail { 8686 s.Steps = v 8687 return s 8688} 8689 8690// SetSupportedProducts sets the SupportedProducts field's value. 8691func (s *JobFlowDetail) SetSupportedProducts(v []*string) *JobFlowDetail { 8692 s.SupportedProducts = v 8693 return s 8694} 8695 8696// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 8697func (s *JobFlowDetail) SetVisibleToAllUsers(v bool) *JobFlowDetail { 8698 s.VisibleToAllUsers = &v 8699 return s 8700} 8701 8702// Describes the status of the cluster (job flow). 8703type JobFlowExecutionStatusDetail struct { 8704 _ struct{} `type:"structure"` 8705 8706 // The creation date and time of the job flow. 8707 // 8708 // CreationDateTime is a required field 8709 CreationDateTime *time.Time `type:"timestamp" required:"true"` 8710 8711 // The completion date and time of the job flow. 8712 EndDateTime *time.Time `type:"timestamp"` 8713 8714 // Description of the job flow last changed state. 8715 LastStateChangeReason *string `type:"string"` 8716 8717 // The date and time when the job flow was ready to start running bootstrap 8718 // actions. 8719 ReadyDateTime *time.Time `type:"timestamp"` 8720 8721 // The start date and time of the job flow. 8722 StartDateTime *time.Time `type:"timestamp"` 8723 8724 // The state of the job flow. 8725 // 8726 // State is a required field 8727 State *string `type:"string" required:"true" enum:"JobFlowExecutionState"` 8728} 8729 8730// String returns the string representation 8731func (s JobFlowExecutionStatusDetail) String() string { 8732 return awsutil.Prettify(s) 8733} 8734 8735// GoString returns the string representation 8736func (s JobFlowExecutionStatusDetail) GoString() string { 8737 return s.String() 8738} 8739 8740// SetCreationDateTime sets the CreationDateTime field's value. 8741func (s *JobFlowExecutionStatusDetail) SetCreationDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8742 s.CreationDateTime = &v 8743 return s 8744} 8745 8746// SetEndDateTime sets the EndDateTime field's value. 8747func (s *JobFlowExecutionStatusDetail) SetEndDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8748 s.EndDateTime = &v 8749 return s 8750} 8751 8752// SetLastStateChangeReason sets the LastStateChangeReason field's value. 8753func (s *JobFlowExecutionStatusDetail) SetLastStateChangeReason(v string) *JobFlowExecutionStatusDetail { 8754 s.LastStateChangeReason = &v 8755 return s 8756} 8757 8758// SetReadyDateTime sets the ReadyDateTime field's value. 8759func (s *JobFlowExecutionStatusDetail) SetReadyDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8760 s.ReadyDateTime = &v 8761 return s 8762} 8763 8764// SetStartDateTime sets the StartDateTime field's value. 8765func (s *JobFlowExecutionStatusDetail) SetStartDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8766 s.StartDateTime = &v 8767 return s 8768} 8769 8770// SetState sets the State field's value. 8771func (s *JobFlowExecutionStatusDetail) SetState(v string) *JobFlowExecutionStatusDetail { 8772 s.State = &v 8773 return s 8774} 8775 8776// A description of the Amazon EC2 instance on which the cluster (job flow) 8777// runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or 8778// InstanceFleets, which is the recommended configuration. They cannot be used 8779// together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount 8780// (all three must be present), but we don't recommend this configuration. 8781type JobFlowInstancesConfig struct { 8782 _ struct{} `type:"structure"` 8783 8784 // A list of additional Amazon EC2 security group IDs for the master node. 8785 AdditionalMasterSecurityGroups []*string `type:"list"` 8786 8787 // A list of additional Amazon EC2 security group IDs for the core and task 8788 // nodes. 8789 AdditionalSlaveSecurityGroups []*string `type:"list"` 8790 8791 // The name of the EC2 key pair that can be used to ssh to the master node as 8792 // the user called "hadoop." 8793 Ec2KeyName *string `type:"string"` 8794 8795 // Applies to clusters that use the uniform instance group configuration. To 8796 // launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this 8797 // parameter to the identifier of the Amazon VPC subnet where you want the cluster 8798 // to launch. If you do not specify this value and your account supports EC2-Classic, 8799 // the cluster launches in EC2-Classic. 8800 Ec2SubnetId *string `type:"string"` 8801 8802 // Applies to clusters that use the instance fleet configuration. When multiple 8803 // EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances 8804 // in the optimal subnet. 8805 // 8806 // The instance fleet configuration is available only in Amazon EMR versions 8807 // 4.8.0 and later, excluding 5.0.x versions. 8808 Ec2SubnetIds []*string `type:"list"` 8809 8810 // The identifier of the Amazon EC2 security group for the master node. 8811 EmrManagedMasterSecurityGroup *string `type:"string"` 8812 8813 // The identifier of the Amazon EC2 security group for the core and task nodes. 8814 EmrManagedSlaveSecurityGroup *string `type:"string"` 8815 8816 // Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop 8817 // version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), 8818 // "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set 8819 // this value, the default of 0.18 is used, unless the AmiVersion parameter 8820 // is set in the RunJobFlow call, in which case the default version of Hadoop 8821 // for that AMI version is used. 8822 HadoopVersion *string `type:"string"` 8823 8824 // The number of EC2 instances in the cluster. 8825 InstanceCount *int64 `type:"integer"` 8826 8827 // 8828 // The instance fleet configuration is available only in Amazon EMR versions 8829 // 4.8.0 and later, excluding 5.0.x versions. 8830 // 8831 // Describes the EC2 instances and instance configurations for clusters that 8832 // use the instance fleet configuration. 8833 InstanceFleets []*InstanceFleetConfig `type:"list"` 8834 8835 // Configuration for the instance groups in a cluster. 8836 InstanceGroups []*InstanceGroupConfig `type:"list"` 8837 8838 // Specifies whether the cluster should remain available after completing all 8839 // steps. 8840 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 8841 8842 // The EC2 instance type of the master node. 8843 MasterInstanceType *string `min:"1" type:"string"` 8844 8845 // The Availability Zone in which the cluster runs. 8846 Placement *PlacementType `type:"structure"` 8847 8848 // The identifier of the Amazon EC2 security group for the Amazon EMR service 8849 // to access clusters in VPC private subnets. 8850 ServiceAccessSecurityGroup *string `type:"string"` 8851 8852 // The EC2 instance type of the core and task nodes. 8853 SlaveInstanceType *string `min:"1" type:"string"` 8854 8855 // Specifies whether to lock the cluster to prevent the Amazon EC2 instances 8856 // from being terminated by API call, user intervention, or in the event of 8857 // a job-flow error. 8858 TerminationProtected *bool `type:"boolean"` 8859} 8860 8861// String returns the string representation 8862func (s JobFlowInstancesConfig) String() string { 8863 return awsutil.Prettify(s) 8864} 8865 8866// GoString returns the string representation 8867func (s JobFlowInstancesConfig) GoString() string { 8868 return s.String() 8869} 8870 8871// Validate inspects the fields of the type to determine if they are valid. 8872func (s *JobFlowInstancesConfig) Validate() error { 8873 invalidParams := request.ErrInvalidParams{Context: "JobFlowInstancesConfig"} 8874 if s.MasterInstanceType != nil && len(*s.MasterInstanceType) < 1 { 8875 invalidParams.Add(request.NewErrParamMinLen("MasterInstanceType", 1)) 8876 } 8877 if s.SlaveInstanceType != nil && len(*s.SlaveInstanceType) < 1 { 8878 invalidParams.Add(request.NewErrParamMinLen("SlaveInstanceType", 1)) 8879 } 8880 if s.InstanceFleets != nil { 8881 for i, v := range s.InstanceFleets { 8882 if v == nil { 8883 continue 8884 } 8885 if err := v.Validate(); err != nil { 8886 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceFleets", i), err.(request.ErrInvalidParams)) 8887 } 8888 } 8889 } 8890 if s.InstanceGroups != nil { 8891 for i, v := range s.InstanceGroups { 8892 if v == nil { 8893 continue 8894 } 8895 if err := v.Validate(); err != nil { 8896 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 8897 } 8898 } 8899 } 8900 8901 if invalidParams.Len() > 0 { 8902 return invalidParams 8903 } 8904 return nil 8905} 8906 8907// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 8908func (s *JobFlowInstancesConfig) SetAdditionalMasterSecurityGroups(v []*string) *JobFlowInstancesConfig { 8909 s.AdditionalMasterSecurityGroups = v 8910 return s 8911} 8912 8913// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 8914func (s *JobFlowInstancesConfig) SetAdditionalSlaveSecurityGroups(v []*string) *JobFlowInstancesConfig { 8915 s.AdditionalSlaveSecurityGroups = v 8916 return s 8917} 8918 8919// SetEc2KeyName sets the Ec2KeyName field's value. 8920func (s *JobFlowInstancesConfig) SetEc2KeyName(v string) *JobFlowInstancesConfig { 8921 s.Ec2KeyName = &v 8922 return s 8923} 8924 8925// SetEc2SubnetId sets the Ec2SubnetId field's value. 8926func (s *JobFlowInstancesConfig) SetEc2SubnetId(v string) *JobFlowInstancesConfig { 8927 s.Ec2SubnetId = &v 8928 return s 8929} 8930 8931// SetEc2SubnetIds sets the Ec2SubnetIds field's value. 8932func (s *JobFlowInstancesConfig) SetEc2SubnetIds(v []*string) *JobFlowInstancesConfig { 8933 s.Ec2SubnetIds = v 8934 return s 8935} 8936 8937// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 8938func (s *JobFlowInstancesConfig) SetEmrManagedMasterSecurityGroup(v string) *JobFlowInstancesConfig { 8939 s.EmrManagedMasterSecurityGroup = &v 8940 return s 8941} 8942 8943// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 8944func (s *JobFlowInstancesConfig) SetEmrManagedSlaveSecurityGroup(v string) *JobFlowInstancesConfig { 8945 s.EmrManagedSlaveSecurityGroup = &v 8946 return s 8947} 8948 8949// SetHadoopVersion sets the HadoopVersion field's value. 8950func (s *JobFlowInstancesConfig) SetHadoopVersion(v string) *JobFlowInstancesConfig { 8951 s.HadoopVersion = &v 8952 return s 8953} 8954 8955// SetInstanceCount sets the InstanceCount field's value. 8956func (s *JobFlowInstancesConfig) SetInstanceCount(v int64) *JobFlowInstancesConfig { 8957 s.InstanceCount = &v 8958 return s 8959} 8960 8961// SetInstanceFleets sets the InstanceFleets field's value. 8962func (s *JobFlowInstancesConfig) SetInstanceFleets(v []*InstanceFleetConfig) *JobFlowInstancesConfig { 8963 s.InstanceFleets = v 8964 return s 8965} 8966 8967// SetInstanceGroups sets the InstanceGroups field's value. 8968func (s *JobFlowInstancesConfig) SetInstanceGroups(v []*InstanceGroupConfig) *JobFlowInstancesConfig { 8969 s.InstanceGroups = v 8970 return s 8971} 8972 8973// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 8974func (s *JobFlowInstancesConfig) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesConfig { 8975 s.KeepJobFlowAliveWhenNoSteps = &v 8976 return s 8977} 8978 8979// SetMasterInstanceType sets the MasterInstanceType field's value. 8980func (s *JobFlowInstancesConfig) SetMasterInstanceType(v string) *JobFlowInstancesConfig { 8981 s.MasterInstanceType = &v 8982 return s 8983} 8984 8985// SetPlacement sets the Placement field's value. 8986func (s *JobFlowInstancesConfig) SetPlacement(v *PlacementType) *JobFlowInstancesConfig { 8987 s.Placement = v 8988 return s 8989} 8990 8991// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 8992func (s *JobFlowInstancesConfig) SetServiceAccessSecurityGroup(v string) *JobFlowInstancesConfig { 8993 s.ServiceAccessSecurityGroup = &v 8994 return s 8995} 8996 8997// SetSlaveInstanceType sets the SlaveInstanceType field's value. 8998func (s *JobFlowInstancesConfig) SetSlaveInstanceType(v string) *JobFlowInstancesConfig { 8999 s.SlaveInstanceType = &v 9000 return s 9001} 9002 9003// SetTerminationProtected sets the TerminationProtected field's value. 9004func (s *JobFlowInstancesConfig) SetTerminationProtected(v bool) *JobFlowInstancesConfig { 9005 s.TerminationProtected = &v 9006 return s 9007} 9008 9009// Specify the type of Amazon EC2 instances that the cluster (job flow) runs 9010// on. 9011type JobFlowInstancesDetail struct { 9012 _ struct{} `type:"structure"` 9013 9014 // The name of an Amazon EC2 key pair that can be used to ssh to the master 9015 // node. 9016 Ec2KeyName *string `type:"string"` 9017 9018 // For clusters launched within Amazon Virtual Private Cloud, this is the identifier 9019 // of the subnet where the cluster was launched. 9020 Ec2SubnetId *string `type:"string"` 9021 9022 // The Hadoop version for the cluster. 9023 HadoopVersion *string `type:"string"` 9024 9025 // The number of Amazon EC2 instances in the cluster. If the value is 1, the 9026 // same instance serves as both the master and core and task node. If the value 9027 // is greater than 1, one instance is the master node and all others are core 9028 // and task nodes. 9029 // 9030 // InstanceCount is a required field 9031 InstanceCount *int64 `type:"integer" required:"true"` 9032 9033 // Details about the instance groups in a cluster. 9034 InstanceGroups []*InstanceGroupDetail `type:"list"` 9035 9036 // Specifies whether the cluster should remain available after completing all 9037 // steps. 9038 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 9039 9040 // The Amazon EC2 instance identifier of the master node. 9041 MasterInstanceId *string `type:"string"` 9042 9043 // The Amazon EC2 master node instance type. 9044 // 9045 // MasterInstanceType is a required field 9046 MasterInstanceType *string `min:"1" type:"string" required:"true"` 9047 9048 // The DNS name of the master node. If the cluster is on a private subnet, this 9049 // is the private DNS name. On a public subnet, this is the public DNS name. 9050 MasterPublicDnsName *string `type:"string"` 9051 9052 // An approximation of the cost of the cluster, represented in m1.small/hours. 9053 // This value is incremented one time for every hour that an m1.small runs. 9054 // Larger instances are weighted more, so an Amazon EC2 instance that is roughly 9055 // four times more expensive would result in the normalized instance hours being 9056 // incremented by four. This result is only an approximation and does not reflect 9057 // the actual billing rate. 9058 NormalizedInstanceHours *int64 `type:"integer"` 9059 9060 // The Amazon EC2 Availability Zone for the cluster. 9061 Placement *PlacementType `type:"structure"` 9062 9063 // The Amazon EC2 core and task node instance type. 9064 // 9065 // SlaveInstanceType is a required field 9066 SlaveInstanceType *string `min:"1" type:"string" required:"true"` 9067 9068 // Specifies whether the Amazon EC2 instances in the cluster are protected from 9069 // termination by API calls, user intervention, or in the event of a job-flow 9070 // error. 9071 TerminationProtected *bool `type:"boolean"` 9072} 9073 9074// String returns the string representation 9075func (s JobFlowInstancesDetail) String() string { 9076 return awsutil.Prettify(s) 9077} 9078 9079// GoString returns the string representation 9080func (s JobFlowInstancesDetail) GoString() string { 9081 return s.String() 9082} 9083 9084// SetEc2KeyName sets the Ec2KeyName field's value. 9085func (s *JobFlowInstancesDetail) SetEc2KeyName(v string) *JobFlowInstancesDetail { 9086 s.Ec2KeyName = &v 9087 return s 9088} 9089 9090// SetEc2SubnetId sets the Ec2SubnetId field's value. 9091func (s *JobFlowInstancesDetail) SetEc2SubnetId(v string) *JobFlowInstancesDetail { 9092 s.Ec2SubnetId = &v 9093 return s 9094} 9095 9096// SetHadoopVersion sets the HadoopVersion field's value. 9097func (s *JobFlowInstancesDetail) SetHadoopVersion(v string) *JobFlowInstancesDetail { 9098 s.HadoopVersion = &v 9099 return s 9100} 9101 9102// SetInstanceCount sets the InstanceCount field's value. 9103func (s *JobFlowInstancesDetail) SetInstanceCount(v int64) *JobFlowInstancesDetail { 9104 s.InstanceCount = &v 9105 return s 9106} 9107 9108// SetInstanceGroups sets the InstanceGroups field's value. 9109func (s *JobFlowInstancesDetail) SetInstanceGroups(v []*InstanceGroupDetail) *JobFlowInstancesDetail { 9110 s.InstanceGroups = v 9111 return s 9112} 9113 9114// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 9115func (s *JobFlowInstancesDetail) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesDetail { 9116 s.KeepJobFlowAliveWhenNoSteps = &v 9117 return s 9118} 9119 9120// SetMasterInstanceId sets the MasterInstanceId field's value. 9121func (s *JobFlowInstancesDetail) SetMasterInstanceId(v string) *JobFlowInstancesDetail { 9122 s.MasterInstanceId = &v 9123 return s 9124} 9125 9126// SetMasterInstanceType sets the MasterInstanceType field's value. 9127func (s *JobFlowInstancesDetail) SetMasterInstanceType(v string) *JobFlowInstancesDetail { 9128 s.MasterInstanceType = &v 9129 return s 9130} 9131 9132// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 9133func (s *JobFlowInstancesDetail) SetMasterPublicDnsName(v string) *JobFlowInstancesDetail { 9134 s.MasterPublicDnsName = &v 9135 return s 9136} 9137 9138// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 9139func (s *JobFlowInstancesDetail) SetNormalizedInstanceHours(v int64) *JobFlowInstancesDetail { 9140 s.NormalizedInstanceHours = &v 9141 return s 9142} 9143 9144// SetPlacement sets the Placement field's value. 9145func (s *JobFlowInstancesDetail) SetPlacement(v *PlacementType) *JobFlowInstancesDetail { 9146 s.Placement = v 9147 return s 9148} 9149 9150// SetSlaveInstanceType sets the SlaveInstanceType field's value. 9151func (s *JobFlowInstancesDetail) SetSlaveInstanceType(v string) *JobFlowInstancesDetail { 9152 s.SlaveInstanceType = &v 9153 return s 9154} 9155 9156// SetTerminationProtected sets the TerminationProtected field's value. 9157func (s *JobFlowInstancesDetail) SetTerminationProtected(v bool) *JobFlowInstancesDetail { 9158 s.TerminationProtected = &v 9159 return s 9160} 9161 9162// Attributes for Kerberos configuration when Kerberos authentication is enabled 9163// using a security configuration. For more information see Use Kerberos Authentication 9164// (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 9165// in the EMR Management Guide. 9166type KerberosAttributes struct { 9167 _ struct{} `type:"structure"` 9168 9169 // The Active Directory password for ADDomainJoinUser. 9170 ADDomainJoinPassword *string `type:"string"` 9171 9172 // Required only when establishing a cross-realm trust with an Active Directory 9173 // domain. A user with sufficient privileges to join resources to the domain. 9174 ADDomainJoinUser *string `type:"string"` 9175 9176 // Required only when establishing a cross-realm trust with a KDC in a different 9177 // realm. The cross-realm principal password, which must be identical across 9178 // realms. 9179 CrossRealmTrustPrincipalPassword *string `type:"string"` 9180 9181 // The password used within the cluster for the kadmin service on the cluster-dedicated 9182 // KDC, which maintains Kerberos principals, password policies, and keytabs 9183 // for the cluster. 9184 // 9185 // KdcAdminPassword is a required field 9186 KdcAdminPassword *string `type:"string" required:"true"` 9187 9188 // The name of the Kerberos realm to which all nodes in a cluster belong. For 9189 // example, EC2.INTERNAL. 9190 // 9191 // Realm is a required field 9192 Realm *string `type:"string" required:"true"` 9193} 9194 9195// String returns the string representation 9196func (s KerberosAttributes) String() string { 9197 return awsutil.Prettify(s) 9198} 9199 9200// GoString returns the string representation 9201func (s KerberosAttributes) GoString() string { 9202 return s.String() 9203} 9204 9205// Validate inspects the fields of the type to determine if they are valid. 9206func (s *KerberosAttributes) Validate() error { 9207 invalidParams := request.ErrInvalidParams{Context: "KerberosAttributes"} 9208 if s.KdcAdminPassword == nil { 9209 invalidParams.Add(request.NewErrParamRequired("KdcAdminPassword")) 9210 } 9211 if s.Realm == nil { 9212 invalidParams.Add(request.NewErrParamRequired("Realm")) 9213 } 9214 9215 if invalidParams.Len() > 0 { 9216 return invalidParams 9217 } 9218 return nil 9219} 9220 9221// SetADDomainJoinPassword sets the ADDomainJoinPassword field's value. 9222func (s *KerberosAttributes) SetADDomainJoinPassword(v string) *KerberosAttributes { 9223 s.ADDomainJoinPassword = &v 9224 return s 9225} 9226 9227// SetADDomainJoinUser sets the ADDomainJoinUser field's value. 9228func (s *KerberosAttributes) SetADDomainJoinUser(v string) *KerberosAttributes { 9229 s.ADDomainJoinUser = &v 9230 return s 9231} 9232 9233// SetCrossRealmTrustPrincipalPassword sets the CrossRealmTrustPrincipalPassword field's value. 9234func (s *KerberosAttributes) SetCrossRealmTrustPrincipalPassword(v string) *KerberosAttributes { 9235 s.CrossRealmTrustPrincipalPassword = &v 9236 return s 9237} 9238 9239// SetKdcAdminPassword sets the KdcAdminPassword field's value. 9240func (s *KerberosAttributes) SetKdcAdminPassword(v string) *KerberosAttributes { 9241 s.KdcAdminPassword = &v 9242 return s 9243} 9244 9245// SetRealm sets the Realm field's value. 9246func (s *KerberosAttributes) SetRealm(v string) *KerberosAttributes { 9247 s.Realm = &v 9248 return s 9249} 9250 9251// A key value pair. 9252type KeyValue struct { 9253 _ struct{} `type:"structure"` 9254 9255 // The unique identifier of a key value pair. 9256 Key *string `type:"string"` 9257 9258 // The value part of the identified key. 9259 Value *string `type:"string"` 9260} 9261 9262// String returns the string representation 9263func (s KeyValue) String() string { 9264 return awsutil.Prettify(s) 9265} 9266 9267// GoString returns the string representation 9268func (s KeyValue) GoString() string { 9269 return s.String() 9270} 9271 9272// SetKey sets the Key field's value. 9273func (s *KeyValue) SetKey(v string) *KeyValue { 9274 s.Key = &v 9275 return s 9276} 9277 9278// SetValue sets the Value field's value. 9279func (s *KeyValue) SetValue(v string) *KeyValue { 9280 s.Value = &v 9281 return s 9282} 9283 9284// This input determines which bootstrap actions to retrieve. 9285type ListBootstrapActionsInput struct { 9286 _ struct{} `type:"structure"` 9287 9288 // The cluster identifier for the bootstrap actions to list. 9289 // 9290 // ClusterId is a required field 9291 ClusterId *string `type:"string" required:"true"` 9292 9293 // The pagination token that indicates the next set of results to retrieve. 9294 Marker *string `type:"string"` 9295} 9296 9297// String returns the string representation 9298func (s ListBootstrapActionsInput) String() string { 9299 return awsutil.Prettify(s) 9300} 9301 9302// GoString returns the string representation 9303func (s ListBootstrapActionsInput) GoString() string { 9304 return s.String() 9305} 9306 9307// Validate inspects the fields of the type to determine if they are valid. 9308func (s *ListBootstrapActionsInput) Validate() error { 9309 invalidParams := request.ErrInvalidParams{Context: "ListBootstrapActionsInput"} 9310 if s.ClusterId == nil { 9311 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9312 } 9313 9314 if invalidParams.Len() > 0 { 9315 return invalidParams 9316 } 9317 return nil 9318} 9319 9320// SetClusterId sets the ClusterId field's value. 9321func (s *ListBootstrapActionsInput) SetClusterId(v string) *ListBootstrapActionsInput { 9322 s.ClusterId = &v 9323 return s 9324} 9325 9326// SetMarker sets the Marker field's value. 9327func (s *ListBootstrapActionsInput) SetMarker(v string) *ListBootstrapActionsInput { 9328 s.Marker = &v 9329 return s 9330} 9331 9332// This output contains the bootstrap actions detail. 9333type ListBootstrapActionsOutput struct { 9334 _ struct{} `type:"structure"` 9335 9336 // The bootstrap actions associated with the cluster. 9337 BootstrapActions []*Command `type:"list"` 9338 9339 // The pagination token that indicates the next set of results to retrieve. 9340 Marker *string `type:"string"` 9341} 9342 9343// String returns the string representation 9344func (s ListBootstrapActionsOutput) String() string { 9345 return awsutil.Prettify(s) 9346} 9347 9348// GoString returns the string representation 9349func (s ListBootstrapActionsOutput) GoString() string { 9350 return s.String() 9351} 9352 9353// SetBootstrapActions sets the BootstrapActions field's value. 9354func (s *ListBootstrapActionsOutput) SetBootstrapActions(v []*Command) *ListBootstrapActionsOutput { 9355 s.BootstrapActions = v 9356 return s 9357} 9358 9359// SetMarker sets the Marker field's value. 9360func (s *ListBootstrapActionsOutput) SetMarker(v string) *ListBootstrapActionsOutput { 9361 s.Marker = &v 9362 return s 9363} 9364 9365// This input determines how the ListClusters action filters the list of clusters 9366// that it returns. 9367type ListClustersInput struct { 9368 _ struct{} `type:"structure"` 9369 9370 // The cluster state filters to apply when listing clusters. 9371 ClusterStates []*string `type:"list"` 9372 9373 // The creation date and time beginning value filter for listing clusters. 9374 CreatedAfter *time.Time `type:"timestamp"` 9375 9376 // The creation date and time end value filter for listing clusters. 9377 CreatedBefore *time.Time `type:"timestamp"` 9378 9379 // The pagination token that indicates the next set of results to retrieve. 9380 Marker *string `type:"string"` 9381} 9382 9383// String returns the string representation 9384func (s ListClustersInput) String() string { 9385 return awsutil.Prettify(s) 9386} 9387 9388// GoString returns the string representation 9389func (s ListClustersInput) GoString() string { 9390 return s.String() 9391} 9392 9393// SetClusterStates sets the ClusterStates field's value. 9394func (s *ListClustersInput) SetClusterStates(v []*string) *ListClustersInput { 9395 s.ClusterStates = v 9396 return s 9397} 9398 9399// SetCreatedAfter sets the CreatedAfter field's value. 9400func (s *ListClustersInput) SetCreatedAfter(v time.Time) *ListClustersInput { 9401 s.CreatedAfter = &v 9402 return s 9403} 9404 9405// SetCreatedBefore sets the CreatedBefore field's value. 9406func (s *ListClustersInput) SetCreatedBefore(v time.Time) *ListClustersInput { 9407 s.CreatedBefore = &v 9408 return s 9409} 9410 9411// SetMarker sets the Marker field's value. 9412func (s *ListClustersInput) SetMarker(v string) *ListClustersInput { 9413 s.Marker = &v 9414 return s 9415} 9416 9417// This contains a ClusterSummaryList with the cluster details; for example, 9418// the cluster IDs, names, and status. 9419type ListClustersOutput struct { 9420 _ struct{} `type:"structure"` 9421 9422 // The list of clusters for the account based on the given filters. 9423 Clusters []*ClusterSummary `type:"list"` 9424 9425 // The pagination token that indicates the next set of results to retrieve. 9426 Marker *string `type:"string"` 9427} 9428 9429// String returns the string representation 9430func (s ListClustersOutput) String() string { 9431 return awsutil.Prettify(s) 9432} 9433 9434// GoString returns the string representation 9435func (s ListClustersOutput) GoString() string { 9436 return s.String() 9437} 9438 9439// SetClusters sets the Clusters field's value. 9440func (s *ListClustersOutput) SetClusters(v []*ClusterSummary) *ListClustersOutput { 9441 s.Clusters = v 9442 return s 9443} 9444 9445// SetMarker sets the Marker field's value. 9446func (s *ListClustersOutput) SetMarker(v string) *ListClustersOutput { 9447 s.Marker = &v 9448 return s 9449} 9450 9451type ListInstanceFleetsInput struct { 9452 _ struct{} `type:"structure"` 9453 9454 // The unique identifier of the cluster. 9455 // 9456 // ClusterId is a required field 9457 ClusterId *string `type:"string" required:"true"` 9458 9459 // The pagination token that indicates the next set of results to retrieve. 9460 Marker *string `type:"string"` 9461} 9462 9463// String returns the string representation 9464func (s ListInstanceFleetsInput) String() string { 9465 return awsutil.Prettify(s) 9466} 9467 9468// GoString returns the string representation 9469func (s ListInstanceFleetsInput) GoString() string { 9470 return s.String() 9471} 9472 9473// Validate inspects the fields of the type to determine if they are valid. 9474func (s *ListInstanceFleetsInput) Validate() error { 9475 invalidParams := request.ErrInvalidParams{Context: "ListInstanceFleetsInput"} 9476 if s.ClusterId == nil { 9477 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9478 } 9479 9480 if invalidParams.Len() > 0 { 9481 return invalidParams 9482 } 9483 return nil 9484} 9485 9486// SetClusterId sets the ClusterId field's value. 9487func (s *ListInstanceFleetsInput) SetClusterId(v string) *ListInstanceFleetsInput { 9488 s.ClusterId = &v 9489 return s 9490} 9491 9492// SetMarker sets the Marker field's value. 9493func (s *ListInstanceFleetsInput) SetMarker(v string) *ListInstanceFleetsInput { 9494 s.Marker = &v 9495 return s 9496} 9497 9498type ListInstanceFleetsOutput struct { 9499 _ struct{} `type:"structure"` 9500 9501 // The list of instance fleets for the cluster and given filters. 9502 InstanceFleets []*InstanceFleet `type:"list"` 9503 9504 // The pagination token that indicates the next set of results to retrieve. 9505 Marker *string `type:"string"` 9506} 9507 9508// String returns the string representation 9509func (s ListInstanceFleetsOutput) String() string { 9510 return awsutil.Prettify(s) 9511} 9512 9513// GoString returns the string representation 9514func (s ListInstanceFleetsOutput) GoString() string { 9515 return s.String() 9516} 9517 9518// SetInstanceFleets sets the InstanceFleets field's value. 9519func (s *ListInstanceFleetsOutput) SetInstanceFleets(v []*InstanceFleet) *ListInstanceFleetsOutput { 9520 s.InstanceFleets = v 9521 return s 9522} 9523 9524// SetMarker sets the Marker field's value. 9525func (s *ListInstanceFleetsOutput) SetMarker(v string) *ListInstanceFleetsOutput { 9526 s.Marker = &v 9527 return s 9528} 9529 9530// This input determines which instance groups to retrieve. 9531type ListInstanceGroupsInput struct { 9532 _ struct{} `type:"structure"` 9533 9534 // The identifier of the cluster for which to list the instance groups. 9535 // 9536 // ClusterId is a required field 9537 ClusterId *string `type:"string" required:"true"` 9538 9539 // The pagination token that indicates the next set of results to retrieve. 9540 Marker *string `type:"string"` 9541} 9542 9543// String returns the string representation 9544func (s ListInstanceGroupsInput) String() string { 9545 return awsutil.Prettify(s) 9546} 9547 9548// GoString returns the string representation 9549func (s ListInstanceGroupsInput) GoString() string { 9550 return s.String() 9551} 9552 9553// Validate inspects the fields of the type to determine if they are valid. 9554func (s *ListInstanceGroupsInput) Validate() error { 9555 invalidParams := request.ErrInvalidParams{Context: "ListInstanceGroupsInput"} 9556 if s.ClusterId == nil { 9557 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9558 } 9559 9560 if invalidParams.Len() > 0 { 9561 return invalidParams 9562 } 9563 return nil 9564} 9565 9566// SetClusterId sets the ClusterId field's value. 9567func (s *ListInstanceGroupsInput) SetClusterId(v string) *ListInstanceGroupsInput { 9568 s.ClusterId = &v 9569 return s 9570} 9571 9572// SetMarker sets the Marker field's value. 9573func (s *ListInstanceGroupsInput) SetMarker(v string) *ListInstanceGroupsInput { 9574 s.Marker = &v 9575 return s 9576} 9577 9578// This input determines which instance groups to retrieve. 9579type ListInstanceGroupsOutput struct { 9580 _ struct{} `type:"structure"` 9581 9582 // The list of instance groups for the cluster and given filters. 9583 InstanceGroups []*InstanceGroup `type:"list"` 9584 9585 // The pagination token that indicates the next set of results to retrieve. 9586 Marker *string `type:"string"` 9587} 9588 9589// String returns the string representation 9590func (s ListInstanceGroupsOutput) String() string { 9591 return awsutil.Prettify(s) 9592} 9593 9594// GoString returns the string representation 9595func (s ListInstanceGroupsOutput) GoString() string { 9596 return s.String() 9597} 9598 9599// SetInstanceGroups sets the InstanceGroups field's value. 9600func (s *ListInstanceGroupsOutput) SetInstanceGroups(v []*InstanceGroup) *ListInstanceGroupsOutput { 9601 s.InstanceGroups = v 9602 return s 9603} 9604 9605// SetMarker sets the Marker field's value. 9606func (s *ListInstanceGroupsOutput) SetMarker(v string) *ListInstanceGroupsOutput { 9607 s.Marker = &v 9608 return s 9609} 9610 9611// This input determines which instances to list. 9612type ListInstancesInput struct { 9613 _ struct{} `type:"structure"` 9614 9615 // The identifier of the cluster for which to list the instances. 9616 // 9617 // ClusterId is a required field 9618 ClusterId *string `type:"string" required:"true"` 9619 9620 // The unique identifier of the instance fleet. 9621 InstanceFleetId *string `type:"string"` 9622 9623 // The node type of the instance fleet. For example MASTER, CORE, or TASK. 9624 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 9625 9626 // The identifier of the instance group for which to list the instances. 9627 InstanceGroupId *string `type:"string"` 9628 9629 // The type of instance group for which to list the instances. 9630 InstanceGroupTypes []*string `type:"list"` 9631 9632 // A list of instance states that will filter the instances returned with this 9633 // request. 9634 InstanceStates []*string `type:"list"` 9635 9636 // The pagination token that indicates the next set of results to retrieve. 9637 Marker *string `type:"string"` 9638} 9639 9640// String returns the string representation 9641func (s ListInstancesInput) String() string { 9642 return awsutil.Prettify(s) 9643} 9644 9645// GoString returns the string representation 9646func (s ListInstancesInput) GoString() string { 9647 return s.String() 9648} 9649 9650// Validate inspects the fields of the type to determine if they are valid. 9651func (s *ListInstancesInput) Validate() error { 9652 invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"} 9653 if s.ClusterId == nil { 9654 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9655 } 9656 9657 if invalidParams.Len() > 0 { 9658 return invalidParams 9659 } 9660 return nil 9661} 9662 9663// SetClusterId sets the ClusterId field's value. 9664func (s *ListInstancesInput) SetClusterId(v string) *ListInstancesInput { 9665 s.ClusterId = &v 9666 return s 9667} 9668 9669// SetInstanceFleetId sets the InstanceFleetId field's value. 9670func (s *ListInstancesInput) SetInstanceFleetId(v string) *ListInstancesInput { 9671 s.InstanceFleetId = &v 9672 return s 9673} 9674 9675// SetInstanceFleetType sets the InstanceFleetType field's value. 9676func (s *ListInstancesInput) SetInstanceFleetType(v string) *ListInstancesInput { 9677 s.InstanceFleetType = &v 9678 return s 9679} 9680 9681// SetInstanceGroupId sets the InstanceGroupId field's value. 9682func (s *ListInstancesInput) SetInstanceGroupId(v string) *ListInstancesInput { 9683 s.InstanceGroupId = &v 9684 return s 9685} 9686 9687// SetInstanceGroupTypes sets the InstanceGroupTypes field's value. 9688func (s *ListInstancesInput) SetInstanceGroupTypes(v []*string) *ListInstancesInput { 9689 s.InstanceGroupTypes = v 9690 return s 9691} 9692 9693// SetInstanceStates sets the InstanceStates field's value. 9694func (s *ListInstancesInput) SetInstanceStates(v []*string) *ListInstancesInput { 9695 s.InstanceStates = v 9696 return s 9697} 9698 9699// SetMarker sets the Marker field's value. 9700func (s *ListInstancesInput) SetMarker(v string) *ListInstancesInput { 9701 s.Marker = &v 9702 return s 9703} 9704 9705// This output contains the list of instances. 9706type ListInstancesOutput struct { 9707 _ struct{} `type:"structure"` 9708 9709 // The list of instances for the cluster and given filters. 9710 Instances []*Instance `type:"list"` 9711 9712 // The pagination token that indicates the next set of results to retrieve. 9713 Marker *string `type:"string"` 9714} 9715 9716// String returns the string representation 9717func (s ListInstancesOutput) String() string { 9718 return awsutil.Prettify(s) 9719} 9720 9721// GoString returns the string representation 9722func (s ListInstancesOutput) GoString() string { 9723 return s.String() 9724} 9725 9726// SetInstances sets the Instances field's value. 9727func (s *ListInstancesOutput) SetInstances(v []*Instance) *ListInstancesOutput { 9728 s.Instances = v 9729 return s 9730} 9731 9732// SetMarker sets the Marker field's value. 9733func (s *ListInstancesOutput) SetMarker(v string) *ListInstancesOutput { 9734 s.Marker = &v 9735 return s 9736} 9737 9738type ListNotebookExecutionsInput struct { 9739 _ struct{} `type:"structure"` 9740 9741 // The unique ID of the editor associated with the notebook execution. 9742 EditorId *string `type:"string"` 9743 9744 // The beginning of time range filter for listing notebook executions. The default 9745 // is the timestamp of 30 days ago. 9746 From *time.Time `type:"timestamp"` 9747 9748 // The pagination token, returned by a previous ListNotebookExecutions call, 9749 // that indicates the start of the list for this ListNotebookExecutions call. 9750 Marker *string `type:"string"` 9751 9752 // The status filter for listing notebook executions. 9753 // 9754 // * START_PENDING indicates that the cluster has received the execution 9755 // request but execution has not begun. 9756 // 9757 // * STARTING indicates that the execution is starting on the cluster. 9758 // 9759 // * RUNNING indicates that the execution is being processed by the cluster. 9760 // 9761 // * FINISHING indicates that execution processing is in the final stages. 9762 // 9763 // * FINISHED indicates that the execution has completed without error. 9764 // 9765 // * FAILING indicates that the execution is failing and will not finish 9766 // successfully. 9767 // 9768 // * FAILED indicates that the execution failed. 9769 // 9770 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 9771 // request and the stop is pending. 9772 // 9773 // * STOPPING indicates that the cluster is in the process of stopping the 9774 // execution as a result of a StopNotebookExecution request. 9775 // 9776 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 9777 // request. 9778 Status *string `type:"string" enum:"NotebookExecutionStatus"` 9779 9780 // The end of time range filter for listing notebook executions. The default 9781 // is the current timestamp. 9782 To *time.Time `type:"timestamp"` 9783} 9784 9785// String returns the string representation 9786func (s ListNotebookExecutionsInput) String() string { 9787 return awsutil.Prettify(s) 9788} 9789 9790// GoString returns the string representation 9791func (s ListNotebookExecutionsInput) GoString() string { 9792 return s.String() 9793} 9794 9795// SetEditorId sets the EditorId field's value. 9796func (s *ListNotebookExecutionsInput) SetEditorId(v string) *ListNotebookExecutionsInput { 9797 s.EditorId = &v 9798 return s 9799} 9800 9801// SetFrom sets the From field's value. 9802func (s *ListNotebookExecutionsInput) SetFrom(v time.Time) *ListNotebookExecutionsInput { 9803 s.From = &v 9804 return s 9805} 9806 9807// SetMarker sets the Marker field's value. 9808func (s *ListNotebookExecutionsInput) SetMarker(v string) *ListNotebookExecutionsInput { 9809 s.Marker = &v 9810 return s 9811} 9812 9813// SetStatus sets the Status field's value. 9814func (s *ListNotebookExecutionsInput) SetStatus(v string) *ListNotebookExecutionsInput { 9815 s.Status = &v 9816 return s 9817} 9818 9819// SetTo sets the To field's value. 9820func (s *ListNotebookExecutionsInput) SetTo(v time.Time) *ListNotebookExecutionsInput { 9821 s.To = &v 9822 return s 9823} 9824 9825type ListNotebookExecutionsOutput struct { 9826 _ struct{} `type:"structure"` 9827 9828 // A pagination token that a subsequent ListNotebookExecutions can use to determine 9829 // the next set of results to retrieve. 9830 Marker *string `type:"string"` 9831 9832 // A list of notebook executions. 9833 NotebookExecutions []*NotebookExecutionSummary `type:"list"` 9834} 9835 9836// String returns the string representation 9837func (s ListNotebookExecutionsOutput) String() string { 9838 return awsutil.Prettify(s) 9839} 9840 9841// GoString returns the string representation 9842func (s ListNotebookExecutionsOutput) GoString() string { 9843 return s.String() 9844} 9845 9846// SetMarker sets the Marker field's value. 9847func (s *ListNotebookExecutionsOutput) SetMarker(v string) *ListNotebookExecutionsOutput { 9848 s.Marker = &v 9849 return s 9850} 9851 9852// SetNotebookExecutions sets the NotebookExecutions field's value. 9853func (s *ListNotebookExecutionsOutput) SetNotebookExecutions(v []*NotebookExecutionSummary) *ListNotebookExecutionsOutput { 9854 s.NotebookExecutions = v 9855 return s 9856} 9857 9858type ListSecurityConfigurationsInput struct { 9859 _ struct{} `type:"structure"` 9860 9861 // The pagination token that indicates the set of results to retrieve. 9862 Marker *string `type:"string"` 9863} 9864 9865// String returns the string representation 9866func (s ListSecurityConfigurationsInput) String() string { 9867 return awsutil.Prettify(s) 9868} 9869 9870// GoString returns the string representation 9871func (s ListSecurityConfigurationsInput) GoString() string { 9872 return s.String() 9873} 9874 9875// SetMarker sets the Marker field's value. 9876func (s *ListSecurityConfigurationsInput) SetMarker(v string) *ListSecurityConfigurationsInput { 9877 s.Marker = &v 9878 return s 9879} 9880 9881type ListSecurityConfigurationsOutput struct { 9882 _ struct{} `type:"structure"` 9883 9884 // A pagination token that indicates the next set of results to retrieve. Include 9885 // the marker in the next ListSecurityConfiguration call to retrieve the next 9886 // page of results, if required. 9887 Marker *string `type:"string"` 9888 9889 // The creation date and time, and name, of each security configuration. 9890 SecurityConfigurations []*SecurityConfigurationSummary `type:"list"` 9891} 9892 9893// String returns the string representation 9894func (s ListSecurityConfigurationsOutput) String() string { 9895 return awsutil.Prettify(s) 9896} 9897 9898// GoString returns the string representation 9899func (s ListSecurityConfigurationsOutput) GoString() string { 9900 return s.String() 9901} 9902 9903// SetMarker sets the Marker field's value. 9904func (s *ListSecurityConfigurationsOutput) SetMarker(v string) *ListSecurityConfigurationsOutput { 9905 s.Marker = &v 9906 return s 9907} 9908 9909// SetSecurityConfigurations sets the SecurityConfigurations field's value. 9910func (s *ListSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfigurationSummary) *ListSecurityConfigurationsOutput { 9911 s.SecurityConfigurations = v 9912 return s 9913} 9914 9915// This input determines which steps to list. 9916type ListStepsInput struct { 9917 _ struct{} `type:"structure"` 9918 9919 // The identifier of the cluster for which to list the steps. 9920 // 9921 // ClusterId is a required field 9922 ClusterId *string `type:"string" required:"true"` 9923 9924 // The pagination token that indicates the next set of results to retrieve. 9925 Marker *string `type:"string"` 9926 9927 // The filter to limit the step list based on the identifier of the steps. You 9928 // can specify a maximum of ten Step IDs. The character constraint applies to 9929 // the overall length of the array. 9930 StepIds []*string `type:"list"` 9931 9932 // The filter to limit the step list based on certain states. 9933 StepStates []*string `type:"list"` 9934} 9935 9936// String returns the string representation 9937func (s ListStepsInput) String() string { 9938 return awsutil.Prettify(s) 9939} 9940 9941// GoString returns the string representation 9942func (s ListStepsInput) GoString() string { 9943 return s.String() 9944} 9945 9946// Validate inspects the fields of the type to determine if they are valid. 9947func (s *ListStepsInput) Validate() error { 9948 invalidParams := request.ErrInvalidParams{Context: "ListStepsInput"} 9949 if s.ClusterId == nil { 9950 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9951 } 9952 9953 if invalidParams.Len() > 0 { 9954 return invalidParams 9955 } 9956 return nil 9957} 9958 9959// SetClusterId sets the ClusterId field's value. 9960func (s *ListStepsInput) SetClusterId(v string) *ListStepsInput { 9961 s.ClusterId = &v 9962 return s 9963} 9964 9965// SetMarker sets the Marker field's value. 9966func (s *ListStepsInput) SetMarker(v string) *ListStepsInput { 9967 s.Marker = &v 9968 return s 9969} 9970 9971// SetStepIds sets the StepIds field's value. 9972func (s *ListStepsInput) SetStepIds(v []*string) *ListStepsInput { 9973 s.StepIds = v 9974 return s 9975} 9976 9977// SetStepStates sets the StepStates field's value. 9978func (s *ListStepsInput) SetStepStates(v []*string) *ListStepsInput { 9979 s.StepStates = v 9980 return s 9981} 9982 9983// This output contains the list of steps returned in reverse order. This means 9984// that the last step is the first element in the list. 9985type ListStepsOutput struct { 9986 _ struct{} `type:"structure"` 9987 9988 // The pagination token that indicates the next set of results to retrieve. 9989 Marker *string `type:"string"` 9990 9991 // The filtered list of steps for the cluster. 9992 Steps []*StepSummary `type:"list"` 9993} 9994 9995// String returns the string representation 9996func (s ListStepsOutput) String() string { 9997 return awsutil.Prettify(s) 9998} 9999 10000// GoString returns the string representation 10001func (s ListStepsOutput) GoString() string { 10002 return s.String() 10003} 10004 10005// SetMarker sets the Marker field's value. 10006func (s *ListStepsOutput) SetMarker(v string) *ListStepsOutput { 10007 s.Marker = &v 10008 return s 10009} 10010 10011// SetSteps sets the Steps field's value. 10012func (s *ListStepsOutput) SetSteps(v []*StepSummary) *ListStepsOutput { 10013 s.Steps = v 10014 return s 10015} 10016 10017// Managed scaling policy for an Amazon EMR cluster. The policy specifies the 10018// limits for resources that can be added or terminated from a cluster. The 10019// policy only applies to the core and task nodes. The master node cannot be 10020// scaled after initial configuration. 10021type ManagedScalingPolicy struct { 10022 _ struct{} `type:"structure"` 10023 10024 // The EC2 unit limits for a managed scaling policy. The managed scaling activity 10025 // of a cluster is not allowed to go above or below these limits. The limit 10026 // only applies to the core and task nodes. The master node cannot be scaled 10027 // after initial configuration. 10028 ComputeLimits *ComputeLimits `type:"structure"` 10029} 10030 10031// String returns the string representation 10032func (s ManagedScalingPolicy) String() string { 10033 return awsutil.Prettify(s) 10034} 10035 10036// GoString returns the string representation 10037func (s ManagedScalingPolicy) GoString() string { 10038 return s.String() 10039} 10040 10041// Validate inspects the fields of the type to determine if they are valid. 10042func (s *ManagedScalingPolicy) Validate() error { 10043 invalidParams := request.ErrInvalidParams{Context: "ManagedScalingPolicy"} 10044 if s.ComputeLimits != nil { 10045 if err := s.ComputeLimits.Validate(); err != nil { 10046 invalidParams.AddNested("ComputeLimits", err.(request.ErrInvalidParams)) 10047 } 10048 } 10049 10050 if invalidParams.Len() > 0 { 10051 return invalidParams 10052 } 10053 return nil 10054} 10055 10056// SetComputeLimits sets the ComputeLimits field's value. 10057func (s *ManagedScalingPolicy) SetComputeLimits(v *ComputeLimits) *ManagedScalingPolicy { 10058 s.ComputeLimits = v 10059 return s 10060} 10061 10062// A CloudWatch dimension, which is specified using a Key (known as a Name in 10063// CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose 10064// Key is JobFlowID and Value is a variable representing the cluster ID, which 10065// is ${emr.clusterId}. This enables the rule to bootstrap when the cluster 10066// ID becomes available. 10067type MetricDimension struct { 10068 _ struct{} `type:"structure"` 10069 10070 // The dimension name. 10071 Key *string `type:"string"` 10072 10073 // The dimension value. 10074 Value *string `type:"string"` 10075} 10076 10077// String returns the string representation 10078func (s MetricDimension) String() string { 10079 return awsutil.Prettify(s) 10080} 10081 10082// GoString returns the string representation 10083func (s MetricDimension) GoString() string { 10084 return s.String() 10085} 10086 10087// SetKey sets the Key field's value. 10088func (s *MetricDimension) SetKey(v string) *MetricDimension { 10089 s.Key = &v 10090 return s 10091} 10092 10093// SetValue sets the Value field's value. 10094func (s *MetricDimension) SetValue(v string) *MetricDimension { 10095 s.Value = &v 10096 return s 10097} 10098 10099type ModifyClusterInput struct { 10100 _ struct{} `type:"structure"` 10101 10102 // The unique identifier of the cluster. 10103 // 10104 // ClusterId is a required field 10105 ClusterId *string `type:"string" required:"true"` 10106 10107 // The number of steps that can be executed concurrently. You can specify a 10108 // maximum of 256 steps. 10109 StepConcurrencyLevel *int64 `type:"integer"` 10110} 10111 10112// String returns the string representation 10113func (s ModifyClusterInput) String() string { 10114 return awsutil.Prettify(s) 10115} 10116 10117// GoString returns the string representation 10118func (s ModifyClusterInput) GoString() string { 10119 return s.String() 10120} 10121 10122// Validate inspects the fields of the type to determine if they are valid. 10123func (s *ModifyClusterInput) Validate() error { 10124 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"} 10125 if s.ClusterId == nil { 10126 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10127 } 10128 10129 if invalidParams.Len() > 0 { 10130 return invalidParams 10131 } 10132 return nil 10133} 10134 10135// SetClusterId sets the ClusterId field's value. 10136func (s *ModifyClusterInput) SetClusterId(v string) *ModifyClusterInput { 10137 s.ClusterId = &v 10138 return s 10139} 10140 10141// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 10142func (s *ModifyClusterInput) SetStepConcurrencyLevel(v int64) *ModifyClusterInput { 10143 s.StepConcurrencyLevel = &v 10144 return s 10145} 10146 10147type ModifyClusterOutput struct { 10148 _ struct{} `type:"structure"` 10149 10150 // The number of steps that can be executed concurrently. 10151 StepConcurrencyLevel *int64 `type:"integer"` 10152} 10153 10154// String returns the string representation 10155func (s ModifyClusterOutput) String() string { 10156 return awsutil.Prettify(s) 10157} 10158 10159// GoString returns the string representation 10160func (s ModifyClusterOutput) GoString() string { 10161 return s.String() 10162} 10163 10164// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 10165func (s *ModifyClusterOutput) SetStepConcurrencyLevel(v int64) *ModifyClusterOutput { 10166 s.StepConcurrencyLevel = &v 10167 return s 10168} 10169 10170type ModifyInstanceFleetInput struct { 10171 _ struct{} `type:"structure"` 10172 10173 // The unique identifier of the cluster. 10174 // 10175 // ClusterId is a required field 10176 ClusterId *string `type:"string" required:"true"` 10177 10178 // The unique identifier of the instance fleet. 10179 // 10180 // InstanceFleet is a required field 10181 InstanceFleet *InstanceFleetModifyConfig `type:"structure" required:"true"` 10182} 10183 10184// String returns the string representation 10185func (s ModifyInstanceFleetInput) String() string { 10186 return awsutil.Prettify(s) 10187} 10188 10189// GoString returns the string representation 10190func (s ModifyInstanceFleetInput) GoString() string { 10191 return s.String() 10192} 10193 10194// Validate inspects the fields of the type to determine if they are valid. 10195func (s *ModifyInstanceFleetInput) Validate() error { 10196 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"} 10197 if s.ClusterId == nil { 10198 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10199 } 10200 if s.InstanceFleet == nil { 10201 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 10202 } 10203 if s.InstanceFleet != nil { 10204 if err := s.InstanceFleet.Validate(); err != nil { 10205 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 10206 } 10207 } 10208 10209 if invalidParams.Len() > 0 { 10210 return invalidParams 10211 } 10212 return nil 10213} 10214 10215// SetClusterId sets the ClusterId field's value. 10216func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput { 10217 s.ClusterId = &v 10218 return s 10219} 10220 10221// SetInstanceFleet sets the InstanceFleet field's value. 10222func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput { 10223 s.InstanceFleet = v 10224 return s 10225} 10226 10227type ModifyInstanceFleetOutput struct { 10228 _ struct{} `type:"structure"` 10229} 10230 10231// String returns the string representation 10232func (s ModifyInstanceFleetOutput) String() string { 10233 return awsutil.Prettify(s) 10234} 10235 10236// GoString returns the string representation 10237func (s ModifyInstanceFleetOutput) GoString() string { 10238 return s.String() 10239} 10240 10241// Change the size of some instance groups. 10242type ModifyInstanceGroupsInput struct { 10243 _ struct{} `type:"structure"` 10244 10245 // The ID of the cluster to which the instance group belongs. 10246 ClusterId *string `type:"string"` 10247 10248 // Instance groups to change. 10249 InstanceGroups []*InstanceGroupModifyConfig `type:"list"` 10250} 10251 10252// String returns the string representation 10253func (s ModifyInstanceGroupsInput) String() string { 10254 return awsutil.Prettify(s) 10255} 10256 10257// GoString returns the string representation 10258func (s ModifyInstanceGroupsInput) GoString() string { 10259 return s.String() 10260} 10261 10262// Validate inspects the fields of the type to determine if they are valid. 10263func (s *ModifyInstanceGroupsInput) Validate() error { 10264 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} 10265 if s.InstanceGroups != nil { 10266 for i, v := range s.InstanceGroups { 10267 if v == nil { 10268 continue 10269 } 10270 if err := v.Validate(); err != nil { 10271 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 10272 } 10273 } 10274 } 10275 10276 if invalidParams.Len() > 0 { 10277 return invalidParams 10278 } 10279 return nil 10280} 10281 10282// SetClusterId sets the ClusterId field's value. 10283func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput { 10284 s.ClusterId = &v 10285 return s 10286} 10287 10288// SetInstanceGroups sets the InstanceGroups field's value. 10289func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput { 10290 s.InstanceGroups = v 10291 return s 10292} 10293 10294type ModifyInstanceGroupsOutput struct { 10295 _ struct{} `type:"structure"` 10296} 10297 10298// String returns the string representation 10299func (s ModifyInstanceGroupsOutput) String() string { 10300 return awsutil.Prettify(s) 10301} 10302 10303// GoString returns the string representation 10304func (s ModifyInstanceGroupsOutput) GoString() string { 10305 return s.String() 10306} 10307 10308// A notebook execution. An execution is a specific instance that an EMR Notebook 10309// is run using the StartNotebookExecution action. 10310type NotebookExecution struct { 10311 _ struct{} `type:"structure"` 10312 10313 // The Amazon Resource Name (ARN) of the notebook execution. 10314 Arn *string `type:"string"` 10315 10316 // The unique identifier of the EMR Notebook that is used for the notebook execution. 10317 EditorId *string `type:"string"` 10318 10319 // The timestamp when notebook execution ended. 10320 EndTime *time.Time `type:"timestamp"` 10321 10322 // The execution engine, such as an EMR cluster, used to run the EMR notebook 10323 // and perform the notebook execution. 10324 ExecutionEngine *ExecutionEngineConfig `type:"structure"` 10325 10326 // The reason for the latest status change of the notebook execution. 10327 LastStateChangeReason *string `type:"string"` 10328 10329 // The unique identifier of a notebook execution. 10330 NotebookExecutionId *string `type:"string"` 10331 10332 // A name for the notebook execution. 10333 NotebookExecutionName *string `type:"string"` 10334 10335 // The unique identifier of the EC2 security group associated with the EMR Notebook 10336 // instance. For more information see Specifying EC2 Security Groups for EMR 10337 // Notebooks (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html) 10338 // in the EMR Management Guide. 10339 NotebookInstanceSecurityGroupId *string `type:"string"` 10340 10341 // Input parameters in JSON format passed to the EMR Notebook at runtime for 10342 // execution. 10343 NotebookParams *string `type:"string"` 10344 10345 // The location of the notebook execution's output file in Amazon S3. 10346 OutputNotebookURI *string `type:"string"` 10347 10348 // The timestamp when notebook execution started. 10349 StartTime *time.Time `type:"timestamp"` 10350 10351 // The status of the notebook execution. 10352 // 10353 // * START_PENDING indicates that the cluster has received the execution 10354 // request but execution has not begun. 10355 // 10356 // * STARTING indicates that the execution is starting on the cluster. 10357 // 10358 // * RUNNING indicates that the execution is being processed by the cluster. 10359 // 10360 // * FINISHING indicates that execution processing is in the final stages. 10361 // 10362 // * FINISHED indicates that the execution has completed without error. 10363 // 10364 // * FAILING indicates that the execution is failing and will not finish 10365 // successfully. 10366 // 10367 // * FAILED indicates that the execution failed. 10368 // 10369 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 10370 // request and the stop is pending. 10371 // 10372 // * STOPPING indicates that the cluster is in the process of stopping the 10373 // execution as a result of a StopNotebookExecution request. 10374 // 10375 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 10376 // request. 10377 Status *string `type:"string" enum:"NotebookExecutionStatus"` 10378 10379 // A list of tags associated with a notebook execution. Tags are user-defined 10380 // key value pairs that consist of a required key string with a maximum of 128 10381 // characters and an optional value string with a maximum of 256 characters. 10382 Tags []*Tag `type:"list"` 10383} 10384 10385// String returns the string representation 10386func (s NotebookExecution) String() string { 10387 return awsutil.Prettify(s) 10388} 10389 10390// GoString returns the string representation 10391func (s NotebookExecution) GoString() string { 10392 return s.String() 10393} 10394 10395// SetArn sets the Arn field's value. 10396func (s *NotebookExecution) SetArn(v string) *NotebookExecution { 10397 s.Arn = &v 10398 return s 10399} 10400 10401// SetEditorId sets the EditorId field's value. 10402func (s *NotebookExecution) SetEditorId(v string) *NotebookExecution { 10403 s.EditorId = &v 10404 return s 10405} 10406 10407// SetEndTime sets the EndTime field's value. 10408func (s *NotebookExecution) SetEndTime(v time.Time) *NotebookExecution { 10409 s.EndTime = &v 10410 return s 10411} 10412 10413// SetExecutionEngine sets the ExecutionEngine field's value. 10414func (s *NotebookExecution) SetExecutionEngine(v *ExecutionEngineConfig) *NotebookExecution { 10415 s.ExecutionEngine = v 10416 return s 10417} 10418 10419// SetLastStateChangeReason sets the LastStateChangeReason field's value. 10420func (s *NotebookExecution) SetLastStateChangeReason(v string) *NotebookExecution { 10421 s.LastStateChangeReason = &v 10422 return s 10423} 10424 10425// SetNotebookExecutionId sets the NotebookExecutionId field's value. 10426func (s *NotebookExecution) SetNotebookExecutionId(v string) *NotebookExecution { 10427 s.NotebookExecutionId = &v 10428 return s 10429} 10430 10431// SetNotebookExecutionName sets the NotebookExecutionName field's value. 10432func (s *NotebookExecution) SetNotebookExecutionName(v string) *NotebookExecution { 10433 s.NotebookExecutionName = &v 10434 return s 10435} 10436 10437// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. 10438func (s *NotebookExecution) SetNotebookInstanceSecurityGroupId(v string) *NotebookExecution { 10439 s.NotebookInstanceSecurityGroupId = &v 10440 return s 10441} 10442 10443// SetNotebookParams sets the NotebookParams field's value. 10444func (s *NotebookExecution) SetNotebookParams(v string) *NotebookExecution { 10445 s.NotebookParams = &v 10446 return s 10447} 10448 10449// SetOutputNotebookURI sets the OutputNotebookURI field's value. 10450func (s *NotebookExecution) SetOutputNotebookURI(v string) *NotebookExecution { 10451 s.OutputNotebookURI = &v 10452 return s 10453} 10454 10455// SetStartTime sets the StartTime field's value. 10456func (s *NotebookExecution) SetStartTime(v time.Time) *NotebookExecution { 10457 s.StartTime = &v 10458 return s 10459} 10460 10461// SetStatus sets the Status field's value. 10462func (s *NotebookExecution) SetStatus(v string) *NotebookExecution { 10463 s.Status = &v 10464 return s 10465} 10466 10467// SetTags sets the Tags field's value. 10468func (s *NotebookExecution) SetTags(v []*Tag) *NotebookExecution { 10469 s.Tags = v 10470 return s 10471} 10472 10473type NotebookExecutionSummary struct { 10474 _ struct{} `type:"structure"` 10475 10476 // The unique identifier of the editor associated with the notebook execution. 10477 EditorId *string `type:"string"` 10478 10479 // The timestamp when notebook execution started. 10480 EndTime *time.Time `type:"timestamp"` 10481 10482 // The unique identifier of the notebook execution. 10483 NotebookExecutionId *string `type:"string"` 10484 10485 // The name of the notebook execution. 10486 NotebookExecutionName *string `type:"string"` 10487 10488 // The timestamp when notebook execution started. 10489 StartTime *time.Time `type:"timestamp"` 10490 10491 // The status of the notebook execution. 10492 // 10493 // * START_PENDING indicates that the cluster has received the execution 10494 // request but execution has not begun. 10495 // 10496 // * STARTING indicates that the execution is starting on the cluster. 10497 // 10498 // * RUNNING indicates that the execution is being processed by the cluster. 10499 // 10500 // * FINISHING indicates that execution processing is in the final stages. 10501 // 10502 // * FINISHED indicates that the execution has completed without error. 10503 // 10504 // * FAILING indicates that the execution is failing and will not finish 10505 // successfully. 10506 // 10507 // * FAILED indicates that the execution failed. 10508 // 10509 // * STOP_PENDING indicates that the cluster has received a StopNotebookExecution 10510 // request and the stop is pending. 10511 // 10512 // * STOPPING indicates that the cluster is in the process of stopping the 10513 // execution as a result of a StopNotebookExecution request. 10514 // 10515 // * STOPPED indicates that the execution stopped because of a StopNotebookExecution 10516 // request. 10517 Status *string `type:"string" enum:"NotebookExecutionStatus"` 10518} 10519 10520// String returns the string representation 10521func (s NotebookExecutionSummary) String() string { 10522 return awsutil.Prettify(s) 10523} 10524 10525// GoString returns the string representation 10526func (s NotebookExecutionSummary) GoString() string { 10527 return s.String() 10528} 10529 10530// SetEditorId sets the EditorId field's value. 10531func (s *NotebookExecutionSummary) SetEditorId(v string) *NotebookExecutionSummary { 10532 s.EditorId = &v 10533 return s 10534} 10535 10536// SetEndTime sets the EndTime field's value. 10537func (s *NotebookExecutionSummary) SetEndTime(v time.Time) *NotebookExecutionSummary { 10538 s.EndTime = &v 10539 return s 10540} 10541 10542// SetNotebookExecutionId sets the NotebookExecutionId field's value. 10543func (s *NotebookExecutionSummary) SetNotebookExecutionId(v string) *NotebookExecutionSummary { 10544 s.NotebookExecutionId = &v 10545 return s 10546} 10547 10548// SetNotebookExecutionName sets the NotebookExecutionName field's value. 10549func (s *NotebookExecutionSummary) SetNotebookExecutionName(v string) *NotebookExecutionSummary { 10550 s.NotebookExecutionName = &v 10551 return s 10552} 10553 10554// SetStartTime sets the StartTime field's value. 10555func (s *NotebookExecutionSummary) SetStartTime(v time.Time) *NotebookExecutionSummary { 10556 s.StartTime = &v 10557 return s 10558} 10559 10560// SetStatus sets the Status field's value. 10561func (s *NotebookExecutionSummary) SetStatus(v string) *NotebookExecutionSummary { 10562 s.Status = &v 10563 return s 10564} 10565 10566// The launch specification for On-Demand instances in the instance fleet, which 10567// determines the allocation strategy. 10568// 10569// The instance fleet configuration is available only in Amazon EMR versions 10570// 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation 10571// strategy is available in Amazon EMR version 5.12.1 and later. 10572type OnDemandProvisioningSpecification struct { 10573 _ struct{} `type:"structure"` 10574 10575 // Specifies the strategy to use in launching On-Demand instance fleets. Currently, 10576 // the only option is lowest-price (the default), which launches the lowest 10577 // price first. 10578 // 10579 // AllocationStrategy is a required field 10580 AllocationStrategy *string `type:"string" required:"true" enum:"OnDemandProvisioningAllocationStrategy"` 10581} 10582 10583// String returns the string representation 10584func (s OnDemandProvisioningSpecification) String() string { 10585 return awsutil.Prettify(s) 10586} 10587 10588// GoString returns the string representation 10589func (s OnDemandProvisioningSpecification) GoString() string { 10590 return s.String() 10591} 10592 10593// Validate inspects the fields of the type to determine if they are valid. 10594func (s *OnDemandProvisioningSpecification) Validate() error { 10595 invalidParams := request.ErrInvalidParams{Context: "OnDemandProvisioningSpecification"} 10596 if s.AllocationStrategy == nil { 10597 invalidParams.Add(request.NewErrParamRequired("AllocationStrategy")) 10598 } 10599 10600 if invalidParams.Len() > 0 { 10601 return invalidParams 10602 } 10603 return nil 10604} 10605 10606// SetAllocationStrategy sets the AllocationStrategy field's value. 10607func (s *OnDemandProvisioningSpecification) SetAllocationStrategy(v string) *OnDemandProvisioningSpecification { 10608 s.AllocationStrategy = &v 10609 return s 10610} 10611 10612// Placement group configuration for an Amazon EMR cluster. The configuration 10613// specifies the placement strategy that can be applied to instance roles during 10614// cluster creation. 10615// 10616// To use this configuration, consider attaching managed policy AmazonElasticMapReducePlacementGroupPolicy 10617// to the EMR role. 10618type PlacementGroupConfig struct { 10619 _ struct{} `type:"structure"` 10620 10621 // Role of the instance in the cluster. 10622 // 10623 // Starting with Amazon EMR version 5.23.0, the only supported instance role 10624 // is MASTER. 10625 // 10626 // InstanceRole is a required field 10627 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 10628 10629 // EC2 Placement Group strategy associated with instance role. 10630 // 10631 // Starting with Amazon EMR version 5.23.0, the only supported placement strategy 10632 // is SPREAD for the MASTER instance role. 10633 PlacementStrategy *string `type:"string" enum:"PlacementGroupStrategy"` 10634} 10635 10636// String returns the string representation 10637func (s PlacementGroupConfig) String() string { 10638 return awsutil.Prettify(s) 10639} 10640 10641// GoString returns the string representation 10642func (s PlacementGroupConfig) GoString() string { 10643 return s.String() 10644} 10645 10646// Validate inspects the fields of the type to determine if they are valid. 10647func (s *PlacementGroupConfig) Validate() error { 10648 invalidParams := request.ErrInvalidParams{Context: "PlacementGroupConfig"} 10649 if s.InstanceRole == nil { 10650 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 10651 } 10652 10653 if invalidParams.Len() > 0 { 10654 return invalidParams 10655 } 10656 return nil 10657} 10658 10659// SetInstanceRole sets the InstanceRole field's value. 10660func (s *PlacementGroupConfig) SetInstanceRole(v string) *PlacementGroupConfig { 10661 s.InstanceRole = &v 10662 return s 10663} 10664 10665// SetPlacementStrategy sets the PlacementStrategy field's value. 10666func (s *PlacementGroupConfig) SetPlacementStrategy(v string) *PlacementGroupConfig { 10667 s.PlacementStrategy = &v 10668 return s 10669} 10670 10671// The Amazon EC2 Availability Zone configuration of the cluster (job flow). 10672type PlacementType struct { 10673 _ struct{} `type:"structure"` 10674 10675 // The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used 10676 // for uniform instance groups, while AvailabilityZones (plural) is used for 10677 // instance fleets. 10678 AvailabilityZone *string `type:"string"` 10679 10680 // When multiple Availability Zones are specified, Amazon EMR evaluates them 10681 // and launches instances in the optimal Availability Zone. AvailabilityZones 10682 // is used for instance fleets, while AvailabilityZone (singular) is used for 10683 // uniform instance groups. 10684 // 10685 // The instance fleet configuration is available only in Amazon EMR versions 10686 // 4.8.0 and later, excluding 5.0.x versions. 10687 AvailabilityZones []*string `type:"list"` 10688} 10689 10690// String returns the string representation 10691func (s PlacementType) String() string { 10692 return awsutil.Prettify(s) 10693} 10694 10695// GoString returns the string representation 10696func (s PlacementType) GoString() string { 10697 return s.String() 10698} 10699 10700// SetAvailabilityZone sets the AvailabilityZone field's value. 10701func (s *PlacementType) SetAvailabilityZone(v string) *PlacementType { 10702 s.AvailabilityZone = &v 10703 return s 10704} 10705 10706// SetAvailabilityZones sets the AvailabilityZones field's value. 10707func (s *PlacementType) SetAvailabilityZones(v []*string) *PlacementType { 10708 s.AvailabilityZones = v 10709 return s 10710} 10711 10712// A list of port ranges that are permitted to allow inbound traffic from all 10713// public IP addresses. To specify a single port, use the same value for MinRange 10714// and MaxRange. 10715type PortRange struct { 10716 _ struct{} `type:"structure"` 10717 10718 // The smallest port number in a specified range of port numbers. 10719 MaxRange *int64 `type:"integer"` 10720 10721 // The smallest port number in a specified range of port numbers. 10722 // 10723 // MinRange is a required field 10724 MinRange *int64 `type:"integer" required:"true"` 10725} 10726 10727// String returns the string representation 10728func (s PortRange) String() string { 10729 return awsutil.Prettify(s) 10730} 10731 10732// GoString returns the string representation 10733func (s PortRange) GoString() string { 10734 return s.String() 10735} 10736 10737// Validate inspects the fields of the type to determine if they are valid. 10738func (s *PortRange) Validate() error { 10739 invalidParams := request.ErrInvalidParams{Context: "PortRange"} 10740 if s.MaxRange != nil && *s.MaxRange < -1 { 10741 invalidParams.Add(request.NewErrParamMinValue("MaxRange", -1)) 10742 } 10743 if s.MinRange == nil { 10744 invalidParams.Add(request.NewErrParamRequired("MinRange")) 10745 } 10746 if s.MinRange != nil && *s.MinRange < -1 { 10747 invalidParams.Add(request.NewErrParamMinValue("MinRange", -1)) 10748 } 10749 10750 if invalidParams.Len() > 0 { 10751 return invalidParams 10752 } 10753 return nil 10754} 10755 10756// SetMaxRange sets the MaxRange field's value. 10757func (s *PortRange) SetMaxRange(v int64) *PortRange { 10758 s.MaxRange = &v 10759 return s 10760} 10761 10762// SetMinRange sets the MinRange field's value. 10763func (s *PortRange) SetMinRange(v int64) *PortRange { 10764 s.MinRange = &v 10765 return s 10766} 10767 10768type PutAutoScalingPolicyInput struct { 10769 _ struct{} `type:"structure"` 10770 10771 // Specifies the definition of the automatic scaling policy. 10772 // 10773 // AutoScalingPolicy is a required field 10774 AutoScalingPolicy *AutoScalingPolicy `type:"structure" required:"true"` 10775 10776 // Specifies the ID of a cluster. The instance group to which the automatic 10777 // scaling policy is applied is within this cluster. 10778 // 10779 // ClusterId is a required field 10780 ClusterId *string `type:"string" required:"true"` 10781 10782 // Specifies the ID of the instance group to which the automatic scaling policy 10783 // is applied. 10784 // 10785 // InstanceGroupId is a required field 10786 InstanceGroupId *string `type:"string" required:"true"` 10787} 10788 10789// String returns the string representation 10790func (s PutAutoScalingPolicyInput) String() string { 10791 return awsutil.Prettify(s) 10792} 10793 10794// GoString returns the string representation 10795func (s PutAutoScalingPolicyInput) GoString() string { 10796 return s.String() 10797} 10798 10799// Validate inspects the fields of the type to determine if they are valid. 10800func (s *PutAutoScalingPolicyInput) Validate() error { 10801 invalidParams := request.ErrInvalidParams{Context: "PutAutoScalingPolicyInput"} 10802 if s.AutoScalingPolicy == nil { 10803 invalidParams.Add(request.NewErrParamRequired("AutoScalingPolicy")) 10804 } 10805 if s.ClusterId == nil { 10806 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10807 } 10808 if s.InstanceGroupId == nil { 10809 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 10810 } 10811 if s.AutoScalingPolicy != nil { 10812 if err := s.AutoScalingPolicy.Validate(); err != nil { 10813 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 10814 } 10815 } 10816 10817 if invalidParams.Len() > 0 { 10818 return invalidParams 10819 } 10820 return nil 10821} 10822 10823// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 10824func (s *PutAutoScalingPolicyInput) SetAutoScalingPolicy(v *AutoScalingPolicy) *PutAutoScalingPolicyInput { 10825 s.AutoScalingPolicy = v 10826 return s 10827} 10828 10829// SetClusterId sets the ClusterId field's value. 10830func (s *PutAutoScalingPolicyInput) SetClusterId(v string) *PutAutoScalingPolicyInput { 10831 s.ClusterId = &v 10832 return s 10833} 10834 10835// SetInstanceGroupId sets the InstanceGroupId field's value. 10836func (s *PutAutoScalingPolicyInput) SetInstanceGroupId(v string) *PutAutoScalingPolicyInput { 10837 s.InstanceGroupId = &v 10838 return s 10839} 10840 10841type PutAutoScalingPolicyOutput struct { 10842 _ struct{} `type:"structure"` 10843 10844 // The automatic scaling policy definition. 10845 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 10846 10847 // The Amazon Resource Name of the cluster. 10848 ClusterArn *string `min:"20" type:"string"` 10849 10850 // Specifies the ID of a cluster. The instance group to which the automatic 10851 // scaling policy is applied is within this cluster. 10852 ClusterId *string `type:"string"` 10853 10854 // Specifies the ID of the instance group to which the scaling policy is applied. 10855 InstanceGroupId *string `type:"string"` 10856} 10857 10858// String returns the string representation 10859func (s PutAutoScalingPolicyOutput) String() string { 10860 return awsutil.Prettify(s) 10861} 10862 10863// GoString returns the string representation 10864func (s PutAutoScalingPolicyOutput) GoString() string { 10865 return s.String() 10866} 10867 10868// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 10869func (s *PutAutoScalingPolicyOutput) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *PutAutoScalingPolicyOutput { 10870 s.AutoScalingPolicy = v 10871 return s 10872} 10873 10874// SetClusterArn sets the ClusterArn field's value. 10875func (s *PutAutoScalingPolicyOutput) SetClusterArn(v string) *PutAutoScalingPolicyOutput { 10876 s.ClusterArn = &v 10877 return s 10878} 10879 10880// SetClusterId sets the ClusterId field's value. 10881func (s *PutAutoScalingPolicyOutput) SetClusterId(v string) *PutAutoScalingPolicyOutput { 10882 s.ClusterId = &v 10883 return s 10884} 10885 10886// SetInstanceGroupId sets the InstanceGroupId field's value. 10887func (s *PutAutoScalingPolicyOutput) SetInstanceGroupId(v string) *PutAutoScalingPolicyOutput { 10888 s.InstanceGroupId = &v 10889 return s 10890} 10891 10892type PutBlockPublicAccessConfigurationInput struct { 10893 _ struct{} `type:"structure"` 10894 10895 // A configuration for Amazon EMR block public access. The configuration applies 10896 // to all clusters created in your account for the current Region. The configuration 10897 // specifies whether block public access is enabled. If block public access 10898 // is enabled, security groups associated with the cluster cannot have rules 10899 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 10900 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 10901 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 10902 // and public access is allowed on this port. You can change this by updating 10903 // BlockPublicSecurityGroupRules to remove the exception. 10904 // 10905 // For accounts that created clusters in a Region before November 25, 2019, 10906 // block public access is disabled by default in that Region. To use this feature, 10907 // you must manually enable and configure it. For accounts that did not create 10908 // an EMR cluster in a Region before this date, block public access is enabled 10909 // by default in that Region. 10910 // 10911 // BlockPublicAccessConfiguration is a required field 10912 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 10913} 10914 10915// String returns the string representation 10916func (s PutBlockPublicAccessConfigurationInput) String() string { 10917 return awsutil.Prettify(s) 10918} 10919 10920// GoString returns the string representation 10921func (s PutBlockPublicAccessConfigurationInput) GoString() string { 10922 return s.String() 10923} 10924 10925// Validate inspects the fields of the type to determine if they are valid. 10926func (s *PutBlockPublicAccessConfigurationInput) Validate() error { 10927 invalidParams := request.ErrInvalidParams{Context: "PutBlockPublicAccessConfigurationInput"} 10928 if s.BlockPublicAccessConfiguration == nil { 10929 invalidParams.Add(request.NewErrParamRequired("BlockPublicAccessConfiguration")) 10930 } 10931 if s.BlockPublicAccessConfiguration != nil { 10932 if err := s.BlockPublicAccessConfiguration.Validate(); err != nil { 10933 invalidParams.AddNested("BlockPublicAccessConfiguration", err.(request.ErrInvalidParams)) 10934 } 10935 } 10936 10937 if invalidParams.Len() > 0 { 10938 return invalidParams 10939 } 10940 return nil 10941} 10942 10943// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 10944func (s *PutBlockPublicAccessConfigurationInput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *PutBlockPublicAccessConfigurationInput { 10945 s.BlockPublicAccessConfiguration = v 10946 return s 10947} 10948 10949type PutBlockPublicAccessConfigurationOutput struct { 10950 _ struct{} `type:"structure"` 10951} 10952 10953// String returns the string representation 10954func (s PutBlockPublicAccessConfigurationOutput) String() string { 10955 return awsutil.Prettify(s) 10956} 10957 10958// GoString returns the string representation 10959func (s PutBlockPublicAccessConfigurationOutput) GoString() string { 10960 return s.String() 10961} 10962 10963type PutManagedScalingPolicyInput struct { 10964 _ struct{} `type:"structure"` 10965 10966 // Specifies the ID of an EMR cluster where the managed scaling policy is attached. 10967 // 10968 // ClusterId is a required field 10969 ClusterId *string `type:"string" required:"true"` 10970 10971 // Specifies the constraints for the managed scaling policy. 10972 // 10973 // ManagedScalingPolicy is a required field 10974 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure" required:"true"` 10975} 10976 10977// String returns the string representation 10978func (s PutManagedScalingPolicyInput) String() string { 10979 return awsutil.Prettify(s) 10980} 10981 10982// GoString returns the string representation 10983func (s PutManagedScalingPolicyInput) GoString() string { 10984 return s.String() 10985} 10986 10987// Validate inspects the fields of the type to determine if they are valid. 10988func (s *PutManagedScalingPolicyInput) Validate() error { 10989 invalidParams := request.ErrInvalidParams{Context: "PutManagedScalingPolicyInput"} 10990 if s.ClusterId == nil { 10991 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10992 } 10993 if s.ManagedScalingPolicy == nil { 10994 invalidParams.Add(request.NewErrParamRequired("ManagedScalingPolicy")) 10995 } 10996 if s.ManagedScalingPolicy != nil { 10997 if err := s.ManagedScalingPolicy.Validate(); err != nil { 10998 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 10999 } 11000 } 11001 11002 if invalidParams.Len() > 0 { 11003 return invalidParams 11004 } 11005 return nil 11006} 11007 11008// SetClusterId sets the ClusterId field's value. 11009func (s *PutManagedScalingPolicyInput) SetClusterId(v string) *PutManagedScalingPolicyInput { 11010 s.ClusterId = &v 11011 return s 11012} 11013 11014// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 11015func (s *PutManagedScalingPolicyInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *PutManagedScalingPolicyInput { 11016 s.ManagedScalingPolicy = v 11017 return s 11018} 11019 11020type PutManagedScalingPolicyOutput struct { 11021 _ struct{} `type:"structure"` 11022} 11023 11024// String returns the string representation 11025func (s PutManagedScalingPolicyOutput) String() string { 11026 return awsutil.Prettify(s) 11027} 11028 11029// GoString returns the string representation 11030func (s PutManagedScalingPolicyOutput) GoString() string { 11031 return s.String() 11032} 11033 11034type RemoveAutoScalingPolicyInput struct { 11035 _ struct{} `type:"structure"` 11036 11037 // Specifies the ID of a cluster. The instance group to which the automatic 11038 // scaling policy is applied is within this cluster. 11039 // 11040 // ClusterId is a required field 11041 ClusterId *string `type:"string" required:"true"` 11042 11043 // Specifies the ID of the instance group to which the scaling policy is applied. 11044 // 11045 // InstanceGroupId is a required field 11046 InstanceGroupId *string `type:"string" required:"true"` 11047} 11048 11049// String returns the string representation 11050func (s RemoveAutoScalingPolicyInput) String() string { 11051 return awsutil.Prettify(s) 11052} 11053 11054// GoString returns the string representation 11055func (s RemoveAutoScalingPolicyInput) GoString() string { 11056 return s.String() 11057} 11058 11059// Validate inspects the fields of the type to determine if they are valid. 11060func (s *RemoveAutoScalingPolicyInput) Validate() error { 11061 invalidParams := request.ErrInvalidParams{Context: "RemoveAutoScalingPolicyInput"} 11062 if s.ClusterId == nil { 11063 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11064 } 11065 if s.InstanceGroupId == nil { 11066 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 11067 } 11068 11069 if invalidParams.Len() > 0 { 11070 return invalidParams 11071 } 11072 return nil 11073} 11074 11075// SetClusterId sets the ClusterId field's value. 11076func (s *RemoveAutoScalingPolicyInput) SetClusterId(v string) *RemoveAutoScalingPolicyInput { 11077 s.ClusterId = &v 11078 return s 11079} 11080 11081// SetInstanceGroupId sets the InstanceGroupId field's value. 11082func (s *RemoveAutoScalingPolicyInput) SetInstanceGroupId(v string) *RemoveAutoScalingPolicyInput { 11083 s.InstanceGroupId = &v 11084 return s 11085} 11086 11087type RemoveAutoScalingPolicyOutput struct { 11088 _ struct{} `type:"structure"` 11089} 11090 11091// String returns the string representation 11092func (s RemoveAutoScalingPolicyOutput) String() string { 11093 return awsutil.Prettify(s) 11094} 11095 11096// GoString returns the string representation 11097func (s RemoveAutoScalingPolicyOutput) GoString() string { 11098 return s.String() 11099} 11100 11101type RemoveManagedScalingPolicyInput struct { 11102 _ struct{} `type:"structure"` 11103 11104 // Specifies the ID of the cluster from which the managed scaling policy will 11105 // be removed. 11106 // 11107 // ClusterId is a required field 11108 ClusterId *string `type:"string" required:"true"` 11109} 11110 11111// String returns the string representation 11112func (s RemoveManagedScalingPolicyInput) String() string { 11113 return awsutil.Prettify(s) 11114} 11115 11116// GoString returns the string representation 11117func (s RemoveManagedScalingPolicyInput) GoString() string { 11118 return s.String() 11119} 11120 11121// Validate inspects the fields of the type to determine if they are valid. 11122func (s *RemoveManagedScalingPolicyInput) Validate() error { 11123 invalidParams := request.ErrInvalidParams{Context: "RemoveManagedScalingPolicyInput"} 11124 if s.ClusterId == nil { 11125 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 11126 } 11127 11128 if invalidParams.Len() > 0 { 11129 return invalidParams 11130 } 11131 return nil 11132} 11133 11134// SetClusterId sets the ClusterId field's value. 11135func (s *RemoveManagedScalingPolicyInput) SetClusterId(v string) *RemoveManagedScalingPolicyInput { 11136 s.ClusterId = &v 11137 return s 11138} 11139 11140type RemoveManagedScalingPolicyOutput struct { 11141 _ struct{} `type:"structure"` 11142} 11143 11144// String returns the string representation 11145func (s RemoveManagedScalingPolicyOutput) String() string { 11146 return awsutil.Prettify(s) 11147} 11148 11149// GoString returns the string representation 11150func (s RemoveManagedScalingPolicyOutput) GoString() string { 11151 return s.String() 11152} 11153 11154// This input identifies a cluster and a list of tags to remove. 11155type RemoveTagsInput struct { 11156 _ struct{} `type:"structure"` 11157 11158 // The Amazon EMR resource identifier from which tags will be removed. This 11159 // value must be a cluster identifier. 11160 // 11161 // ResourceId is a required field 11162 ResourceId *string `type:"string" required:"true"` 11163 11164 // A list of tag keys to remove from a resource. 11165 // 11166 // TagKeys is a required field 11167 TagKeys []*string `type:"list" required:"true"` 11168} 11169 11170// String returns the string representation 11171func (s RemoveTagsInput) String() string { 11172 return awsutil.Prettify(s) 11173} 11174 11175// GoString returns the string representation 11176func (s RemoveTagsInput) GoString() string { 11177 return s.String() 11178} 11179 11180// Validate inspects the fields of the type to determine if they are valid. 11181func (s *RemoveTagsInput) Validate() error { 11182 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} 11183 if s.ResourceId == nil { 11184 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 11185 } 11186 if s.TagKeys == nil { 11187 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 11188 } 11189 11190 if invalidParams.Len() > 0 { 11191 return invalidParams 11192 } 11193 return nil 11194} 11195 11196// SetResourceId sets the ResourceId field's value. 11197func (s *RemoveTagsInput) SetResourceId(v string) *RemoveTagsInput { 11198 s.ResourceId = &v 11199 return s 11200} 11201 11202// SetTagKeys sets the TagKeys field's value. 11203func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { 11204 s.TagKeys = v 11205 return s 11206} 11207 11208// This output indicates the result of removing tags from a resource. 11209type RemoveTagsOutput struct { 11210 _ struct{} `type:"structure"` 11211} 11212 11213// String returns the string representation 11214func (s RemoveTagsOutput) String() string { 11215 return awsutil.Prettify(s) 11216} 11217 11218// GoString returns the string representation 11219func (s RemoveTagsOutput) GoString() string { 11220 return s.String() 11221} 11222 11223// Input to the RunJobFlow operation. 11224type RunJobFlowInput struct { 11225 _ struct{} `type:"structure"` 11226 11227 // A JSON string for selecting additional features. 11228 AdditionalInfo *string `type:"string"` 11229 11230 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 11231 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 11232 AmiVersion *string `type:"string"` 11233 11234 // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of 11235 // applications for Amazon EMR to install and configure when launching the cluster. 11236 // For a list of applications available for each Amazon EMR release version, 11237 // see the Amazon EMR Release Guide (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 11238 Applications []*Application `type:"list"` 11239 11240 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 11241 // The IAM role provides permissions that the automatic scaling feature requires 11242 // to launch and terminate EC2 instances in an instance group. 11243 AutoScalingRole *string `type:"string"` 11244 11245 // A list of bootstrap actions to run before Hadoop starts on the cluster nodes. 11246 BootstrapActions []*BootstrapActionConfig `type:"list"` 11247 11248 // For Amazon EMR releases 4.0 and later. The list of configurations supplied 11249 // for the EMR cluster you are creating. 11250 Configurations []*Configuration `type:"list"` 11251 11252 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 11253 // Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when 11254 // it launches cluster EC2 instances. For more information about custom AMIs 11255 // in Amazon EMR, see Using a Custom AMI (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) 11256 // in the Amazon EMR Management Guide. If omitted, the cluster uses the base 11257 // Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 11258 // 3.x, use AmiVersion instead. 11259 // 11260 // For information about creating a custom AMI, see Creating an Amazon EBS-Backed 11261 // Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) 11262 // in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information 11263 // about finding an AMI ID, see Finding a Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html). 11264 CustomAmiId *string `type:"string"` 11265 11266 // The size, in GiB, of the EBS root device volume of the Linux AMI that is 11267 // used for each EC2 instance. Available in Amazon EMR version 4.x and later. 11268 EbsRootVolumeSize *int64 `type:"integer"` 11269 11270 // A specification of the number and type of Amazon EC2 instances. 11271 // 11272 // Instances is a required field 11273 Instances *JobFlowInstancesConfig `type:"structure" required:"true"` 11274 11275 // Also called instance profile and EC2 role. An IAM role for an EMR cluster. 11276 // The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. 11277 // In order to use the default role, you must have already created it using 11278 // the CLI or console. 11279 JobFlowRole *string `type:"string"` 11280 11281 // Attributes for Kerberos configuration when Kerberos authentication is enabled 11282 // using a security configuration. For more information see Use Kerberos Authentication 11283 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 11284 // in the EMR Management Guide. 11285 KerberosAttributes *KerberosAttributes `type:"structure"` 11286 11287 // The AWS KMS customer master key (CMK) used for encrypting log files. If a 11288 // value is not provided, the logs will remain encrypted by AES-256. This attribute 11289 // is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0. 11290 LogEncryptionKmsKeyId *string `type:"string"` 11291 11292 // The location in Amazon S3 to write the log files of the job flow. If a value 11293 // is not provided, logs are not created. 11294 LogUri *string `type:"string"` 11295 11296 // The specified managed scaling policy for an Amazon EMR cluster. 11297 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 11298 11299 // The name of the job flow. 11300 // 11301 // Name is a required field 11302 Name *string `type:"string" required:"true"` 11303 11304 // 11305 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 11306 // use Applications. 11307 // 11308 // A list of strings that indicates third-party software to use with the job 11309 // flow that accepts a user argument list. EMR accepts and forwards the argument 11310 // list to the corresponding installation script as bootstrap action arguments. 11311 // For more information, see "Launch a Job Flow on the MapR Distribution for 11312 // Hadoop" in the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 11313 // Supported values are: 11314 // 11315 // * "mapr-m3" - launch the cluster using MapR M3 Edition. 11316 // 11317 // * "mapr-m5" - launch the cluster using MapR M5 Edition. 11318 // 11319 // * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" 11320 // - launch the job flow using MapR M3 or M5 Edition respectively. 11321 // 11322 // * "mapr-m7" - launch the cluster using MapR M7 Edition. 11323 // 11324 // * "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. 11325 // 11326 // * "hue"- launch the cluster with Hue installed. 11327 // 11328 // * "spark" - launch the cluster with Apache Spark installed. 11329 // 11330 // * "ganglia" - launch the cluster with the Ganglia Monitoring System installed. 11331 NewSupportedProducts []*SupportedProductConfig `type:"list"` 11332 11333 // The specified placement group configuration for an Amazon EMR cluster. 11334 PlacementGroupConfigs []*PlacementGroupConfig `type:"list"` 11335 11336 // The Amazon EMR release label, which determines the version of open-source 11337 // application packages installed on the cluster. Release labels are in the 11338 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 11339 // For more information about Amazon EMR release versions and included application 11340 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 11341 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 11342 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 11343 // use AmiVersion. 11344 ReleaseLabel *string `type:"string"` 11345 11346 // Applies only when CustomAmiID is used. Specifies which updates from the Amazon 11347 // Linux AMI package repositories to apply automatically when the instance boots 11348 // using the AMI. If omitted, the default is SECURITY, which indicates that 11349 // only security updates are applied. If NONE is specified, no updates are applied, 11350 // and all updates must be applied manually. 11351 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 11352 11353 // Specifies the way that individual Amazon EC2 instances terminate when an 11354 // automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 11355 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 11356 // regardless of when the request to terminate the instance was submitted. This 11357 // option is only available with Amazon EMR 5.1.0 and later and is the default 11358 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 11359 // that Amazon EMR blacklists and drains tasks from nodes before terminating 11360 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 11361 // either behavior, Amazon EMR removes the least active nodes first and blocks 11362 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 11363 // available only in Amazon EMR version 4.1.0 and later, and is the default 11364 // for versions of Amazon EMR earlier than 5.1.0. 11365 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 11366 11367 // The name of a security configuration to apply to the cluster. 11368 SecurityConfiguration *string `type:"string"` 11369 11370 // The IAM role that will be assumed by the Amazon EMR service to access AWS 11371 // resources on your behalf. 11372 ServiceRole *string `type:"string"` 11373 11374 // Specifies the number of steps that can be executed concurrently. The default 11375 // value is 1. The maximum value is 256. 11376 StepConcurrencyLevel *int64 `type:"integer"` 11377 11378 // A list of steps to run. 11379 Steps []*StepConfig `type:"list"` 11380 11381 // 11382 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 11383 // use Applications. 11384 // 11385 // A list of strings that indicates third-party software to use. For more information, 11386 // see the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 11387 // Currently supported values are: 11388 // 11389 // * "mapr-m3" - launch the job flow using MapR M3 Edition. 11390 // 11391 // * "mapr-m5" - launch the job flow using MapR M5 Edition. 11392 SupportedProducts []*string `type:"list"` 11393 11394 // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. 11395 Tags []*Tag `type:"list"` 11396 11397 // A value of true indicates that all IAM users in the AWS account can perform 11398 // cluster actions if they have the proper IAM policy permissions. This is the 11399 // default. A value of false indicates that only the IAM user who created the 11400 // cluster can perform actions. 11401 VisibleToAllUsers *bool `type:"boolean"` 11402} 11403 11404// String returns the string representation 11405func (s RunJobFlowInput) String() string { 11406 return awsutil.Prettify(s) 11407} 11408 11409// GoString returns the string representation 11410func (s RunJobFlowInput) GoString() string { 11411 return s.String() 11412} 11413 11414// Validate inspects the fields of the type to determine if they are valid. 11415func (s *RunJobFlowInput) Validate() error { 11416 invalidParams := request.ErrInvalidParams{Context: "RunJobFlowInput"} 11417 if s.Instances == nil { 11418 invalidParams.Add(request.NewErrParamRequired("Instances")) 11419 } 11420 if s.Name == nil { 11421 invalidParams.Add(request.NewErrParamRequired("Name")) 11422 } 11423 if s.BootstrapActions != nil { 11424 for i, v := range s.BootstrapActions { 11425 if v == nil { 11426 continue 11427 } 11428 if err := v.Validate(); err != nil { 11429 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BootstrapActions", i), err.(request.ErrInvalidParams)) 11430 } 11431 } 11432 } 11433 if s.Instances != nil { 11434 if err := s.Instances.Validate(); err != nil { 11435 invalidParams.AddNested("Instances", err.(request.ErrInvalidParams)) 11436 } 11437 } 11438 if s.KerberosAttributes != nil { 11439 if err := s.KerberosAttributes.Validate(); err != nil { 11440 invalidParams.AddNested("KerberosAttributes", err.(request.ErrInvalidParams)) 11441 } 11442 } 11443 if s.ManagedScalingPolicy != nil { 11444 if err := s.ManagedScalingPolicy.Validate(); err != nil { 11445 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 11446 } 11447 } 11448 if s.PlacementGroupConfigs != nil { 11449 for i, v := range s.PlacementGroupConfigs { 11450 if v == nil { 11451 continue 11452 } 11453 if err := v.Validate(); err != nil { 11454 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PlacementGroupConfigs", i), err.(request.ErrInvalidParams)) 11455 } 11456 } 11457 } 11458 if s.Steps != nil { 11459 for i, v := range s.Steps { 11460 if v == nil { 11461 continue 11462 } 11463 if err := v.Validate(); err != nil { 11464 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 11465 } 11466 } 11467 } 11468 11469 if invalidParams.Len() > 0 { 11470 return invalidParams 11471 } 11472 return nil 11473} 11474 11475// SetAdditionalInfo sets the AdditionalInfo field's value. 11476func (s *RunJobFlowInput) SetAdditionalInfo(v string) *RunJobFlowInput { 11477 s.AdditionalInfo = &v 11478 return s 11479} 11480 11481// SetAmiVersion sets the AmiVersion field's value. 11482func (s *RunJobFlowInput) SetAmiVersion(v string) *RunJobFlowInput { 11483 s.AmiVersion = &v 11484 return s 11485} 11486 11487// SetApplications sets the Applications field's value. 11488func (s *RunJobFlowInput) SetApplications(v []*Application) *RunJobFlowInput { 11489 s.Applications = v 11490 return s 11491} 11492 11493// SetAutoScalingRole sets the AutoScalingRole field's value. 11494func (s *RunJobFlowInput) SetAutoScalingRole(v string) *RunJobFlowInput { 11495 s.AutoScalingRole = &v 11496 return s 11497} 11498 11499// SetBootstrapActions sets the BootstrapActions field's value. 11500func (s *RunJobFlowInput) SetBootstrapActions(v []*BootstrapActionConfig) *RunJobFlowInput { 11501 s.BootstrapActions = v 11502 return s 11503} 11504 11505// SetConfigurations sets the Configurations field's value. 11506func (s *RunJobFlowInput) SetConfigurations(v []*Configuration) *RunJobFlowInput { 11507 s.Configurations = v 11508 return s 11509} 11510 11511// SetCustomAmiId sets the CustomAmiId field's value. 11512func (s *RunJobFlowInput) SetCustomAmiId(v string) *RunJobFlowInput { 11513 s.CustomAmiId = &v 11514 return s 11515} 11516 11517// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 11518func (s *RunJobFlowInput) SetEbsRootVolumeSize(v int64) *RunJobFlowInput { 11519 s.EbsRootVolumeSize = &v 11520 return s 11521} 11522 11523// SetInstances sets the Instances field's value. 11524func (s *RunJobFlowInput) SetInstances(v *JobFlowInstancesConfig) *RunJobFlowInput { 11525 s.Instances = v 11526 return s 11527} 11528 11529// SetJobFlowRole sets the JobFlowRole field's value. 11530func (s *RunJobFlowInput) SetJobFlowRole(v string) *RunJobFlowInput { 11531 s.JobFlowRole = &v 11532 return s 11533} 11534 11535// SetKerberosAttributes sets the KerberosAttributes field's value. 11536func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFlowInput { 11537 s.KerberosAttributes = v 11538 return s 11539} 11540 11541// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 11542func (s *RunJobFlowInput) SetLogEncryptionKmsKeyId(v string) *RunJobFlowInput { 11543 s.LogEncryptionKmsKeyId = &v 11544 return s 11545} 11546 11547// SetLogUri sets the LogUri field's value. 11548func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput { 11549 s.LogUri = &v 11550 return s 11551} 11552 11553// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 11554func (s *RunJobFlowInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *RunJobFlowInput { 11555 s.ManagedScalingPolicy = v 11556 return s 11557} 11558 11559// SetName sets the Name field's value. 11560func (s *RunJobFlowInput) SetName(v string) *RunJobFlowInput { 11561 s.Name = &v 11562 return s 11563} 11564 11565// SetNewSupportedProducts sets the NewSupportedProducts field's value. 11566func (s *RunJobFlowInput) SetNewSupportedProducts(v []*SupportedProductConfig) *RunJobFlowInput { 11567 s.NewSupportedProducts = v 11568 return s 11569} 11570 11571// SetPlacementGroupConfigs sets the PlacementGroupConfigs field's value. 11572func (s *RunJobFlowInput) SetPlacementGroupConfigs(v []*PlacementGroupConfig) *RunJobFlowInput { 11573 s.PlacementGroupConfigs = v 11574 return s 11575} 11576 11577// SetReleaseLabel sets the ReleaseLabel field's value. 11578func (s *RunJobFlowInput) SetReleaseLabel(v string) *RunJobFlowInput { 11579 s.ReleaseLabel = &v 11580 return s 11581} 11582 11583// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 11584func (s *RunJobFlowInput) SetRepoUpgradeOnBoot(v string) *RunJobFlowInput { 11585 s.RepoUpgradeOnBoot = &v 11586 return s 11587} 11588 11589// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 11590func (s *RunJobFlowInput) SetScaleDownBehavior(v string) *RunJobFlowInput { 11591 s.ScaleDownBehavior = &v 11592 return s 11593} 11594 11595// SetSecurityConfiguration sets the SecurityConfiguration field's value. 11596func (s *RunJobFlowInput) SetSecurityConfiguration(v string) *RunJobFlowInput { 11597 s.SecurityConfiguration = &v 11598 return s 11599} 11600 11601// SetServiceRole sets the ServiceRole field's value. 11602func (s *RunJobFlowInput) SetServiceRole(v string) *RunJobFlowInput { 11603 s.ServiceRole = &v 11604 return s 11605} 11606 11607// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 11608func (s *RunJobFlowInput) SetStepConcurrencyLevel(v int64) *RunJobFlowInput { 11609 s.StepConcurrencyLevel = &v 11610 return s 11611} 11612 11613// SetSteps sets the Steps field's value. 11614func (s *RunJobFlowInput) SetSteps(v []*StepConfig) *RunJobFlowInput { 11615 s.Steps = v 11616 return s 11617} 11618 11619// SetSupportedProducts sets the SupportedProducts field's value. 11620func (s *RunJobFlowInput) SetSupportedProducts(v []*string) *RunJobFlowInput { 11621 s.SupportedProducts = v 11622 return s 11623} 11624 11625// SetTags sets the Tags field's value. 11626func (s *RunJobFlowInput) SetTags(v []*Tag) *RunJobFlowInput { 11627 s.Tags = v 11628 return s 11629} 11630 11631// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 11632func (s *RunJobFlowInput) SetVisibleToAllUsers(v bool) *RunJobFlowInput { 11633 s.VisibleToAllUsers = &v 11634 return s 11635} 11636 11637// The result of the RunJobFlow operation. 11638type RunJobFlowOutput struct { 11639 _ struct{} `type:"structure"` 11640 11641 // The Amazon Resource Name of the cluster. 11642 ClusterArn *string `min:"20" type:"string"` 11643 11644 // An unique identifier for the job flow. 11645 JobFlowId *string `type:"string"` 11646} 11647 11648// String returns the string representation 11649func (s RunJobFlowOutput) String() string { 11650 return awsutil.Prettify(s) 11651} 11652 11653// GoString returns the string representation 11654func (s RunJobFlowOutput) GoString() string { 11655 return s.String() 11656} 11657 11658// SetClusterArn sets the ClusterArn field's value. 11659func (s *RunJobFlowOutput) SetClusterArn(v string) *RunJobFlowOutput { 11660 s.ClusterArn = &v 11661 return s 11662} 11663 11664// SetJobFlowId sets the JobFlowId field's value. 11665func (s *RunJobFlowOutput) SetJobFlowId(v string) *RunJobFlowOutput { 11666 s.JobFlowId = &v 11667 return s 11668} 11669 11670// The type of adjustment the automatic scaling activity makes when triggered, 11671// and the periodicity of the adjustment. 11672type ScalingAction struct { 11673 _ struct{} `type:"structure"` 11674 11675 // Not available for instance groups. Instance groups use the market type specified 11676 // for the group. 11677 Market *string `type:"string" enum:"MarketType"` 11678 11679 // The type of adjustment the automatic scaling activity makes when triggered, 11680 // and the periodicity of the adjustment. 11681 // 11682 // SimpleScalingPolicyConfiguration is a required field 11683 SimpleScalingPolicyConfiguration *SimpleScalingPolicyConfiguration `type:"structure" required:"true"` 11684} 11685 11686// String returns the string representation 11687func (s ScalingAction) String() string { 11688 return awsutil.Prettify(s) 11689} 11690 11691// GoString returns the string representation 11692func (s ScalingAction) GoString() string { 11693 return s.String() 11694} 11695 11696// Validate inspects the fields of the type to determine if they are valid. 11697func (s *ScalingAction) Validate() error { 11698 invalidParams := request.ErrInvalidParams{Context: "ScalingAction"} 11699 if s.SimpleScalingPolicyConfiguration == nil { 11700 invalidParams.Add(request.NewErrParamRequired("SimpleScalingPolicyConfiguration")) 11701 } 11702 if s.SimpleScalingPolicyConfiguration != nil { 11703 if err := s.SimpleScalingPolicyConfiguration.Validate(); err != nil { 11704 invalidParams.AddNested("SimpleScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 11705 } 11706 } 11707 11708 if invalidParams.Len() > 0 { 11709 return invalidParams 11710 } 11711 return nil 11712} 11713 11714// SetMarket sets the Market field's value. 11715func (s *ScalingAction) SetMarket(v string) *ScalingAction { 11716 s.Market = &v 11717 return s 11718} 11719 11720// SetSimpleScalingPolicyConfiguration sets the SimpleScalingPolicyConfiguration field's value. 11721func (s *ScalingAction) SetSimpleScalingPolicyConfiguration(v *SimpleScalingPolicyConfiguration) *ScalingAction { 11722 s.SimpleScalingPolicyConfiguration = v 11723 return s 11724} 11725 11726// The upper and lower EC2 instance limits for an automatic scaling policy. 11727// Automatic scaling activities triggered by automatic scaling rules will not 11728// cause an instance group to grow above or below these limits. 11729type ScalingConstraints struct { 11730 _ struct{} `type:"structure"` 11731 11732 // The upper boundary of EC2 instances in an instance group beyond which scaling 11733 // activities are not allowed to grow. Scale-out activities will not add instances 11734 // beyond this boundary. 11735 // 11736 // MaxCapacity is a required field 11737 MaxCapacity *int64 `type:"integer" required:"true"` 11738 11739 // The lower boundary of EC2 instances in an instance group below which scaling 11740 // activities are not allowed to shrink. Scale-in activities will not terminate 11741 // instances below this boundary. 11742 // 11743 // MinCapacity is a required field 11744 MinCapacity *int64 `type:"integer" required:"true"` 11745} 11746 11747// String returns the string representation 11748func (s ScalingConstraints) String() string { 11749 return awsutil.Prettify(s) 11750} 11751 11752// GoString returns the string representation 11753func (s ScalingConstraints) GoString() string { 11754 return s.String() 11755} 11756 11757// Validate inspects the fields of the type to determine if they are valid. 11758func (s *ScalingConstraints) Validate() error { 11759 invalidParams := request.ErrInvalidParams{Context: "ScalingConstraints"} 11760 if s.MaxCapacity == nil { 11761 invalidParams.Add(request.NewErrParamRequired("MaxCapacity")) 11762 } 11763 if s.MinCapacity == nil { 11764 invalidParams.Add(request.NewErrParamRequired("MinCapacity")) 11765 } 11766 11767 if invalidParams.Len() > 0 { 11768 return invalidParams 11769 } 11770 return nil 11771} 11772 11773// SetMaxCapacity sets the MaxCapacity field's value. 11774func (s *ScalingConstraints) SetMaxCapacity(v int64) *ScalingConstraints { 11775 s.MaxCapacity = &v 11776 return s 11777} 11778 11779// SetMinCapacity sets the MinCapacity field's value. 11780func (s *ScalingConstraints) SetMinCapacity(v int64) *ScalingConstraints { 11781 s.MinCapacity = &v 11782 return s 11783} 11784 11785// A scale-in or scale-out rule that defines scaling activity, including the 11786// CloudWatch metric alarm that triggers activity, how EC2 instances are added 11787// or removed, and the periodicity of adjustments. The automatic scaling policy 11788// for an instance group can comprise one or more automatic scaling rules. 11789type ScalingRule struct { 11790 _ struct{} `type:"structure"` 11791 11792 // The conditions that trigger an automatic scaling activity. 11793 // 11794 // Action is a required field 11795 Action *ScalingAction `type:"structure" required:"true"` 11796 11797 // A friendly, more verbose description of the automatic scaling rule. 11798 Description *string `type:"string"` 11799 11800 // The name used to identify an automatic scaling rule. Rule names must be unique 11801 // within a scaling policy. 11802 // 11803 // Name is a required field 11804 Name *string `type:"string" required:"true"` 11805 11806 // The CloudWatch alarm definition that determines when automatic scaling activity 11807 // is triggered. 11808 // 11809 // Trigger is a required field 11810 Trigger *ScalingTrigger `type:"structure" required:"true"` 11811} 11812 11813// String returns the string representation 11814func (s ScalingRule) String() string { 11815 return awsutil.Prettify(s) 11816} 11817 11818// GoString returns the string representation 11819func (s ScalingRule) GoString() string { 11820 return s.String() 11821} 11822 11823// Validate inspects the fields of the type to determine if they are valid. 11824func (s *ScalingRule) Validate() error { 11825 invalidParams := request.ErrInvalidParams{Context: "ScalingRule"} 11826 if s.Action == nil { 11827 invalidParams.Add(request.NewErrParamRequired("Action")) 11828 } 11829 if s.Name == nil { 11830 invalidParams.Add(request.NewErrParamRequired("Name")) 11831 } 11832 if s.Trigger == nil { 11833 invalidParams.Add(request.NewErrParamRequired("Trigger")) 11834 } 11835 if s.Action != nil { 11836 if err := s.Action.Validate(); err != nil { 11837 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 11838 } 11839 } 11840 if s.Trigger != nil { 11841 if err := s.Trigger.Validate(); err != nil { 11842 invalidParams.AddNested("Trigger", err.(request.ErrInvalidParams)) 11843 } 11844 } 11845 11846 if invalidParams.Len() > 0 { 11847 return invalidParams 11848 } 11849 return nil 11850} 11851 11852// SetAction sets the Action field's value. 11853func (s *ScalingRule) SetAction(v *ScalingAction) *ScalingRule { 11854 s.Action = v 11855 return s 11856} 11857 11858// SetDescription sets the Description field's value. 11859func (s *ScalingRule) SetDescription(v string) *ScalingRule { 11860 s.Description = &v 11861 return s 11862} 11863 11864// SetName sets the Name field's value. 11865func (s *ScalingRule) SetName(v string) *ScalingRule { 11866 s.Name = &v 11867 return s 11868} 11869 11870// SetTrigger sets the Trigger field's value. 11871func (s *ScalingRule) SetTrigger(v *ScalingTrigger) *ScalingRule { 11872 s.Trigger = v 11873 return s 11874} 11875 11876// The conditions that trigger an automatic scaling activity. 11877type ScalingTrigger struct { 11878 _ struct{} `type:"structure"` 11879 11880 // The definition of a CloudWatch metric alarm. When the defined alarm conditions 11881 // are met along with other trigger parameters, scaling activity begins. 11882 // 11883 // CloudWatchAlarmDefinition is a required field 11884 CloudWatchAlarmDefinition *CloudWatchAlarmDefinition `type:"structure" required:"true"` 11885} 11886 11887// String returns the string representation 11888func (s ScalingTrigger) String() string { 11889 return awsutil.Prettify(s) 11890} 11891 11892// GoString returns the string representation 11893func (s ScalingTrigger) GoString() string { 11894 return s.String() 11895} 11896 11897// Validate inspects the fields of the type to determine if they are valid. 11898func (s *ScalingTrigger) Validate() error { 11899 invalidParams := request.ErrInvalidParams{Context: "ScalingTrigger"} 11900 if s.CloudWatchAlarmDefinition == nil { 11901 invalidParams.Add(request.NewErrParamRequired("CloudWatchAlarmDefinition")) 11902 } 11903 if s.CloudWatchAlarmDefinition != nil { 11904 if err := s.CloudWatchAlarmDefinition.Validate(); err != nil { 11905 invalidParams.AddNested("CloudWatchAlarmDefinition", err.(request.ErrInvalidParams)) 11906 } 11907 } 11908 11909 if invalidParams.Len() > 0 { 11910 return invalidParams 11911 } 11912 return nil 11913} 11914 11915// SetCloudWatchAlarmDefinition sets the CloudWatchAlarmDefinition field's value. 11916func (s *ScalingTrigger) SetCloudWatchAlarmDefinition(v *CloudWatchAlarmDefinition) *ScalingTrigger { 11917 s.CloudWatchAlarmDefinition = v 11918 return s 11919} 11920 11921// Configuration of the script to run during a bootstrap action. 11922type ScriptBootstrapActionConfig struct { 11923 _ struct{} `type:"structure"` 11924 11925 // A list of command line arguments to pass to the bootstrap action script. 11926 Args []*string `type:"list"` 11927 11928 // Location of the script to run during a bootstrap action. Can be either a 11929 // location in Amazon S3 or on a local file system. 11930 // 11931 // Path is a required field 11932 Path *string `type:"string" required:"true"` 11933} 11934 11935// String returns the string representation 11936func (s ScriptBootstrapActionConfig) String() string { 11937 return awsutil.Prettify(s) 11938} 11939 11940// GoString returns the string representation 11941func (s ScriptBootstrapActionConfig) GoString() string { 11942 return s.String() 11943} 11944 11945// Validate inspects the fields of the type to determine if they are valid. 11946func (s *ScriptBootstrapActionConfig) Validate() error { 11947 invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} 11948 if s.Path == nil { 11949 invalidParams.Add(request.NewErrParamRequired("Path")) 11950 } 11951 11952 if invalidParams.Len() > 0 { 11953 return invalidParams 11954 } 11955 return nil 11956} 11957 11958// SetArgs sets the Args field's value. 11959func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig { 11960 s.Args = v 11961 return s 11962} 11963 11964// SetPath sets the Path field's value. 11965func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig { 11966 s.Path = &v 11967 return s 11968} 11969 11970// The creation date and time, and name, of a security configuration. 11971type SecurityConfigurationSummary struct { 11972 _ struct{} `type:"structure"` 11973 11974 // The date and time the security configuration was created. 11975 CreationDateTime *time.Time `type:"timestamp"` 11976 11977 // The name of the security configuration. 11978 Name *string `type:"string"` 11979} 11980 11981// String returns the string representation 11982func (s SecurityConfigurationSummary) String() string { 11983 return awsutil.Prettify(s) 11984} 11985 11986// GoString returns the string representation 11987func (s SecurityConfigurationSummary) GoString() string { 11988 return s.String() 11989} 11990 11991// SetCreationDateTime sets the CreationDateTime field's value. 11992func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary { 11993 s.CreationDateTime = &v 11994 return s 11995} 11996 11997// SetName sets the Name field's value. 11998func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary { 11999 s.Name = &v 12000 return s 12001} 12002 12003// The input argument to the TerminationProtection operation. 12004type SetTerminationProtectionInput struct { 12005 _ struct{} `type:"structure"` 12006 12007 // A list of strings that uniquely identify the clusters to protect. This identifier 12008 // is returned by RunJobFlow and can also be obtained from DescribeJobFlows . 12009 // 12010 // JobFlowIds is a required field 12011 JobFlowIds []*string `type:"list" required:"true"` 12012 12013 // A Boolean that indicates whether to protect the cluster and prevent the Amazon 12014 // EC2 instances in the cluster from shutting down due to API calls, user intervention, 12015 // or job-flow error. 12016 // 12017 // TerminationProtected is a required field 12018 TerminationProtected *bool `type:"boolean" required:"true"` 12019} 12020 12021// String returns the string representation 12022func (s SetTerminationProtectionInput) String() string { 12023 return awsutil.Prettify(s) 12024} 12025 12026// GoString returns the string representation 12027func (s SetTerminationProtectionInput) GoString() string { 12028 return s.String() 12029} 12030 12031// Validate inspects the fields of the type to determine if they are valid. 12032func (s *SetTerminationProtectionInput) Validate() error { 12033 invalidParams := request.ErrInvalidParams{Context: "SetTerminationProtectionInput"} 12034 if s.JobFlowIds == nil { 12035 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 12036 } 12037 if s.TerminationProtected == nil { 12038 invalidParams.Add(request.NewErrParamRequired("TerminationProtected")) 12039 } 12040 12041 if invalidParams.Len() > 0 { 12042 return invalidParams 12043 } 12044 return nil 12045} 12046 12047// SetJobFlowIds sets the JobFlowIds field's value. 12048func (s *SetTerminationProtectionInput) SetJobFlowIds(v []*string) *SetTerminationProtectionInput { 12049 s.JobFlowIds = v 12050 return s 12051} 12052 12053// SetTerminationProtected sets the TerminationProtected field's value. 12054func (s *SetTerminationProtectionInput) SetTerminationProtected(v bool) *SetTerminationProtectionInput { 12055 s.TerminationProtected = &v 12056 return s 12057} 12058 12059type SetTerminationProtectionOutput struct { 12060 _ struct{} `type:"structure"` 12061} 12062 12063// String returns the string representation 12064func (s SetTerminationProtectionOutput) String() string { 12065 return awsutil.Prettify(s) 12066} 12067 12068// GoString returns the string representation 12069func (s SetTerminationProtectionOutput) GoString() string { 12070 return s.String() 12071} 12072 12073// The input to the SetVisibleToAllUsers action. 12074type SetVisibleToAllUsersInput struct { 12075 _ struct{} `type:"structure"` 12076 12077 // The unique identifier of the job flow (cluster). 12078 // 12079 // JobFlowIds is a required field 12080 JobFlowIds []*string `type:"list" required:"true"` 12081 12082 // A value of true indicates that all IAM users in the AWS account can perform 12083 // cluster actions if they have the proper IAM policy permissions. This is the 12084 // default. A value of false indicates that only the IAM user who created the 12085 // cluster can perform actions. 12086 // 12087 // VisibleToAllUsers is a required field 12088 VisibleToAllUsers *bool `type:"boolean" required:"true"` 12089} 12090 12091// String returns the string representation 12092func (s SetVisibleToAllUsersInput) String() string { 12093 return awsutil.Prettify(s) 12094} 12095 12096// GoString returns the string representation 12097func (s SetVisibleToAllUsersInput) GoString() string { 12098 return s.String() 12099} 12100 12101// Validate inspects the fields of the type to determine if they are valid. 12102func (s *SetVisibleToAllUsersInput) Validate() error { 12103 invalidParams := request.ErrInvalidParams{Context: "SetVisibleToAllUsersInput"} 12104 if s.JobFlowIds == nil { 12105 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 12106 } 12107 if s.VisibleToAllUsers == nil { 12108 invalidParams.Add(request.NewErrParamRequired("VisibleToAllUsers")) 12109 } 12110 12111 if invalidParams.Len() > 0 { 12112 return invalidParams 12113 } 12114 return nil 12115} 12116 12117// SetJobFlowIds sets the JobFlowIds field's value. 12118func (s *SetVisibleToAllUsersInput) SetJobFlowIds(v []*string) *SetVisibleToAllUsersInput { 12119 s.JobFlowIds = v 12120 return s 12121} 12122 12123// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 12124func (s *SetVisibleToAllUsersInput) SetVisibleToAllUsers(v bool) *SetVisibleToAllUsersInput { 12125 s.VisibleToAllUsers = &v 12126 return s 12127} 12128 12129type SetVisibleToAllUsersOutput struct { 12130 _ struct{} `type:"structure"` 12131} 12132 12133// String returns the string representation 12134func (s SetVisibleToAllUsersOutput) String() string { 12135 return awsutil.Prettify(s) 12136} 12137 12138// GoString returns the string representation 12139func (s SetVisibleToAllUsersOutput) GoString() string { 12140 return s.String() 12141} 12142 12143// Policy for customizing shrink operations. Allows configuration of decommissioning 12144// timeout and targeted instance shrinking. 12145type ShrinkPolicy struct { 12146 _ struct{} `type:"structure"` 12147 12148 // The desired timeout for decommissioning an instance. Overrides the default 12149 // YARN decommissioning timeout. 12150 DecommissionTimeout *int64 `type:"integer"` 12151 12152 // Custom policy for requesting termination protection or termination of specific 12153 // instances when shrinking an instance group. 12154 InstanceResizePolicy *InstanceResizePolicy `type:"structure"` 12155} 12156 12157// String returns the string representation 12158func (s ShrinkPolicy) String() string { 12159 return awsutil.Prettify(s) 12160} 12161 12162// GoString returns the string representation 12163func (s ShrinkPolicy) GoString() string { 12164 return s.String() 12165} 12166 12167// SetDecommissionTimeout sets the DecommissionTimeout field's value. 12168func (s *ShrinkPolicy) SetDecommissionTimeout(v int64) *ShrinkPolicy { 12169 s.DecommissionTimeout = &v 12170 return s 12171} 12172 12173// SetInstanceResizePolicy sets the InstanceResizePolicy field's value. 12174func (s *ShrinkPolicy) SetInstanceResizePolicy(v *InstanceResizePolicy) *ShrinkPolicy { 12175 s.InstanceResizePolicy = v 12176 return s 12177} 12178 12179// An automatic scaling configuration, which describes how the policy adds or 12180// removes instances, the cooldown period, and the number of EC2 instances that 12181// will be added each time the CloudWatch metric alarm condition is satisfied. 12182type SimpleScalingPolicyConfiguration struct { 12183 _ struct{} `type:"structure"` 12184 12185 // The way in which EC2 instances are added (if ScalingAdjustment is a positive 12186 // number) or terminated (if ScalingAdjustment is a negative number) each time 12187 // the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY 12188 // indicates that the EC2 instance count increments or decrements by ScalingAdjustment, 12189 // which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates 12190 // the instance count increments or decrements by the percentage specified by 12191 // ScalingAdjustment, which should be expressed as an integer. For example, 12192 // 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY 12193 // indicates the scaling activity results in an instance group with the number 12194 // of EC2 instances specified by ScalingAdjustment, which should be expressed 12195 // as a positive integer. 12196 AdjustmentType *string `type:"string" enum:"AdjustmentType"` 12197 12198 // The amount of time, in seconds, after a scaling activity completes before 12199 // any further trigger-related scaling activities can start. The default value 12200 // is 0. 12201 CoolDown *int64 `type:"integer"` 12202 12203 // The amount by which to scale in or scale out, based on the specified AdjustmentType. 12204 // A positive value adds to the instance group's EC2 instance count while a 12205 // negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, 12206 // the number should only be a positive integer. If AdjustmentType is set to 12207 // PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an 12208 // integer. For example, -20 indicates a decrease in 20% increments of cluster 12209 // capacity. 12210 // 12211 // ScalingAdjustment is a required field 12212 ScalingAdjustment *int64 `type:"integer" required:"true"` 12213} 12214 12215// String returns the string representation 12216func (s SimpleScalingPolicyConfiguration) String() string { 12217 return awsutil.Prettify(s) 12218} 12219 12220// GoString returns the string representation 12221func (s SimpleScalingPolicyConfiguration) GoString() string { 12222 return s.String() 12223} 12224 12225// Validate inspects the fields of the type to determine if they are valid. 12226func (s *SimpleScalingPolicyConfiguration) Validate() error { 12227 invalidParams := request.ErrInvalidParams{Context: "SimpleScalingPolicyConfiguration"} 12228 if s.ScalingAdjustment == nil { 12229 invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) 12230 } 12231 12232 if invalidParams.Len() > 0 { 12233 return invalidParams 12234 } 12235 return nil 12236} 12237 12238// SetAdjustmentType sets the AdjustmentType field's value. 12239func (s *SimpleScalingPolicyConfiguration) SetAdjustmentType(v string) *SimpleScalingPolicyConfiguration { 12240 s.AdjustmentType = &v 12241 return s 12242} 12243 12244// SetCoolDown sets the CoolDown field's value. 12245func (s *SimpleScalingPolicyConfiguration) SetCoolDown(v int64) *SimpleScalingPolicyConfiguration { 12246 s.CoolDown = &v 12247 return s 12248} 12249 12250// SetScalingAdjustment sets the ScalingAdjustment field's value. 12251func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *SimpleScalingPolicyConfiguration { 12252 s.ScalingAdjustment = &v 12253 return s 12254} 12255 12256// The launch specification for Spot instances in the instance fleet, which 12257// determines the defined duration, provisioning timeout behavior, and allocation 12258// strategy. 12259// 12260// The instance fleet configuration is available only in Amazon EMR versions 12261// 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy 12262// is available in Amazon EMR version 5.12.1 and later. 12263type SpotProvisioningSpecification struct { 12264 _ struct{} `type:"structure"` 12265 12266 // Specifies the strategy to use in launching Spot instance fleets. Currently, 12267 // the only option is capacity-optimized (the default), which launches instances 12268 // from Spot instance pools with optimal capacity for the number of instances 12269 // that are launching. 12270 AllocationStrategy *string `type:"string" enum:"SpotProvisioningAllocationStrategy"` 12271 12272 // The defined duration for Spot instances (also known as Spot blocks) in minutes. 12273 // When specified, the Spot instance does not terminate before the defined duration 12274 // expires, and defined duration pricing for Spot instances applies. Valid values 12275 // are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as 12276 // a Spot instance receives its instance ID. At the end of the duration, Amazon 12277 // EC2 marks the Spot instance for termination and provides a Spot instance 12278 // termination notice, which gives the instance a two-minute warning before 12279 // it terminates. 12280 BlockDurationMinutes *int64 `type:"integer"` 12281 12282 // The action to take when TargetSpotCapacity has not been fulfilled when the 12283 // TimeoutDurationMinutes has expired; that is, when all Spot instances could 12284 // not be provisioned within the Spot provisioning timeout. Valid values are 12285 // TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies 12286 // that if no Spot instances are available, On-Demand Instances should be provisioned 12287 // to fulfill any remaining Spot capacity. 12288 // 12289 // TimeoutAction is a required field 12290 TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"` 12291 12292 // The spot provisioning timeout period in minutes. If Spot instances are not 12293 // provisioned within this time period, the TimeOutAction is taken. Minimum 12294 // value is 5 and maximum value is 1440. The timeout applies only during initial 12295 // provisioning, when the cluster is first created. 12296 // 12297 // TimeoutDurationMinutes is a required field 12298 TimeoutDurationMinutes *int64 `type:"integer" required:"true"` 12299} 12300 12301// String returns the string representation 12302func (s SpotProvisioningSpecification) String() string { 12303 return awsutil.Prettify(s) 12304} 12305 12306// GoString returns the string representation 12307func (s SpotProvisioningSpecification) GoString() string { 12308 return s.String() 12309} 12310 12311// Validate inspects the fields of the type to determine if they are valid. 12312func (s *SpotProvisioningSpecification) Validate() error { 12313 invalidParams := request.ErrInvalidParams{Context: "SpotProvisioningSpecification"} 12314 if s.TimeoutAction == nil { 12315 invalidParams.Add(request.NewErrParamRequired("TimeoutAction")) 12316 } 12317 if s.TimeoutDurationMinutes == nil { 12318 invalidParams.Add(request.NewErrParamRequired("TimeoutDurationMinutes")) 12319 } 12320 12321 if invalidParams.Len() > 0 { 12322 return invalidParams 12323 } 12324 return nil 12325} 12326 12327// SetAllocationStrategy sets the AllocationStrategy field's value. 12328func (s *SpotProvisioningSpecification) SetAllocationStrategy(v string) *SpotProvisioningSpecification { 12329 s.AllocationStrategy = &v 12330 return s 12331} 12332 12333// SetBlockDurationMinutes sets the BlockDurationMinutes field's value. 12334func (s *SpotProvisioningSpecification) SetBlockDurationMinutes(v int64) *SpotProvisioningSpecification { 12335 s.BlockDurationMinutes = &v 12336 return s 12337} 12338 12339// SetTimeoutAction sets the TimeoutAction field's value. 12340func (s *SpotProvisioningSpecification) SetTimeoutAction(v string) *SpotProvisioningSpecification { 12341 s.TimeoutAction = &v 12342 return s 12343} 12344 12345// SetTimeoutDurationMinutes sets the TimeoutDurationMinutes field's value. 12346func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *SpotProvisioningSpecification { 12347 s.TimeoutDurationMinutes = &v 12348 return s 12349} 12350 12351type StartNotebookExecutionInput struct { 12352 _ struct{} `type:"structure"` 12353 12354 // The unique identifier of the EMR Notebook to use for notebook execution. 12355 // 12356 // EditorId is a required field 12357 EditorId *string `type:"string" required:"true"` 12358 12359 // Specifies the execution engine (cluster) that runs the notebook execution. 12360 // 12361 // ExecutionEngine is a required field 12362 ExecutionEngine *ExecutionEngineConfig `type:"structure" required:"true"` 12363 12364 // An optional name for the notebook execution. 12365 NotebookExecutionName *string `type:"string"` 12366 12367 // The unique identifier of the Amazon EC2 security group to associate with 12368 // the EMR Notebook for this notebook execution. 12369 NotebookInstanceSecurityGroupId *string `type:"string"` 12370 12371 // Input parameters in JSON format passed to the EMR Notebook at runtime for 12372 // execution. 12373 NotebookParams *string `type:"string"` 12374 12375 // The path and file name of the notebook file for this execution, relative 12376 // to the path specified for the EMR Notebook. For example, if you specify a 12377 // path of s3://MyBucket/MyNotebooks when you create an EMR Notebook for a notebook 12378 // with an ID of e-ABCDEFGHIJK1234567890ABCD (the EditorID of this request), 12379 // and you specify a RelativePath of my_notebook_executions/notebook_execution.ipynb, 12380 // the location of the file for the notebook execution is s3://MyBucket/MyNotebooks/e-ABCDEFGHIJK1234567890ABCD/my_notebook_executions/notebook_execution.ipynb. 12381 // 12382 // RelativePath is a required field 12383 RelativePath *string `type:"string" required:"true"` 12384 12385 // The name or ARN of the IAM role that is used as the service role for Amazon 12386 // EMR (the EMR role) for the notebook execution. 12387 // 12388 // ServiceRole is a required field 12389 ServiceRole *string `type:"string" required:"true"` 12390 12391 // A list of tags associated with a notebook execution. Tags are user-defined 12392 // key value pairs that consist of a required key string with a maximum of 128 12393 // characters and an optional value string with a maximum of 256 characters. 12394 Tags []*Tag `type:"list"` 12395} 12396 12397// String returns the string representation 12398func (s StartNotebookExecutionInput) String() string { 12399 return awsutil.Prettify(s) 12400} 12401 12402// GoString returns the string representation 12403func (s StartNotebookExecutionInput) GoString() string { 12404 return s.String() 12405} 12406 12407// Validate inspects the fields of the type to determine if they are valid. 12408func (s *StartNotebookExecutionInput) Validate() error { 12409 invalidParams := request.ErrInvalidParams{Context: "StartNotebookExecutionInput"} 12410 if s.EditorId == nil { 12411 invalidParams.Add(request.NewErrParamRequired("EditorId")) 12412 } 12413 if s.ExecutionEngine == nil { 12414 invalidParams.Add(request.NewErrParamRequired("ExecutionEngine")) 12415 } 12416 if s.RelativePath == nil { 12417 invalidParams.Add(request.NewErrParamRequired("RelativePath")) 12418 } 12419 if s.ServiceRole == nil { 12420 invalidParams.Add(request.NewErrParamRequired("ServiceRole")) 12421 } 12422 if s.ExecutionEngine != nil { 12423 if err := s.ExecutionEngine.Validate(); err != nil { 12424 invalidParams.AddNested("ExecutionEngine", err.(request.ErrInvalidParams)) 12425 } 12426 } 12427 12428 if invalidParams.Len() > 0 { 12429 return invalidParams 12430 } 12431 return nil 12432} 12433 12434// SetEditorId sets the EditorId field's value. 12435func (s *StartNotebookExecutionInput) SetEditorId(v string) *StartNotebookExecutionInput { 12436 s.EditorId = &v 12437 return s 12438} 12439 12440// SetExecutionEngine sets the ExecutionEngine field's value. 12441func (s *StartNotebookExecutionInput) SetExecutionEngine(v *ExecutionEngineConfig) *StartNotebookExecutionInput { 12442 s.ExecutionEngine = v 12443 return s 12444} 12445 12446// SetNotebookExecutionName sets the NotebookExecutionName field's value. 12447func (s *StartNotebookExecutionInput) SetNotebookExecutionName(v string) *StartNotebookExecutionInput { 12448 s.NotebookExecutionName = &v 12449 return s 12450} 12451 12452// SetNotebookInstanceSecurityGroupId sets the NotebookInstanceSecurityGroupId field's value. 12453func (s *StartNotebookExecutionInput) SetNotebookInstanceSecurityGroupId(v string) *StartNotebookExecutionInput { 12454 s.NotebookInstanceSecurityGroupId = &v 12455 return s 12456} 12457 12458// SetNotebookParams sets the NotebookParams field's value. 12459func (s *StartNotebookExecutionInput) SetNotebookParams(v string) *StartNotebookExecutionInput { 12460 s.NotebookParams = &v 12461 return s 12462} 12463 12464// SetRelativePath sets the RelativePath field's value. 12465func (s *StartNotebookExecutionInput) SetRelativePath(v string) *StartNotebookExecutionInput { 12466 s.RelativePath = &v 12467 return s 12468} 12469 12470// SetServiceRole sets the ServiceRole field's value. 12471func (s *StartNotebookExecutionInput) SetServiceRole(v string) *StartNotebookExecutionInput { 12472 s.ServiceRole = &v 12473 return s 12474} 12475 12476// SetTags sets the Tags field's value. 12477func (s *StartNotebookExecutionInput) SetTags(v []*Tag) *StartNotebookExecutionInput { 12478 s.Tags = v 12479 return s 12480} 12481 12482type StartNotebookExecutionOutput struct { 12483 _ struct{} `type:"structure"` 12484 12485 // The unique identifier of the notebook execution. 12486 NotebookExecutionId *string `type:"string"` 12487} 12488 12489// String returns the string representation 12490func (s StartNotebookExecutionOutput) String() string { 12491 return awsutil.Prettify(s) 12492} 12493 12494// GoString returns the string representation 12495func (s StartNotebookExecutionOutput) GoString() string { 12496 return s.String() 12497} 12498 12499// SetNotebookExecutionId sets the NotebookExecutionId field's value. 12500func (s *StartNotebookExecutionOutput) SetNotebookExecutionId(v string) *StartNotebookExecutionOutput { 12501 s.NotebookExecutionId = &v 12502 return s 12503} 12504 12505// This represents a step in a cluster. 12506type Step struct { 12507 _ struct{} `type:"structure"` 12508 12509 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 12510 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 12511 // compatibility. We recommend using TERMINATE_CLUSTER instead. 12512 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 12513 12514 // The Hadoop job configuration of the cluster step. 12515 Config *HadoopStepConfig `type:"structure"` 12516 12517 // The identifier of the cluster step. 12518 Id *string `type:"string"` 12519 12520 // The name of the cluster step. 12521 Name *string `type:"string"` 12522 12523 // The current execution status details of the cluster step. 12524 Status *StepStatus `type:"structure"` 12525} 12526 12527// String returns the string representation 12528func (s Step) String() string { 12529 return awsutil.Prettify(s) 12530} 12531 12532// GoString returns the string representation 12533func (s Step) GoString() string { 12534 return s.String() 12535} 12536 12537// SetActionOnFailure sets the ActionOnFailure field's value. 12538func (s *Step) SetActionOnFailure(v string) *Step { 12539 s.ActionOnFailure = &v 12540 return s 12541} 12542 12543// SetConfig sets the Config field's value. 12544func (s *Step) SetConfig(v *HadoopStepConfig) *Step { 12545 s.Config = v 12546 return s 12547} 12548 12549// SetId sets the Id field's value. 12550func (s *Step) SetId(v string) *Step { 12551 s.Id = &v 12552 return s 12553} 12554 12555// SetName sets the Name field's value. 12556func (s *Step) SetName(v string) *Step { 12557 s.Name = &v 12558 return s 12559} 12560 12561// SetStatus sets the Status field's value. 12562func (s *Step) SetStatus(v *StepStatus) *Step { 12563 s.Status = v 12564 return s 12565} 12566 12567// Specification of a cluster (job flow) step. 12568type StepConfig struct { 12569 _ struct{} `type:"structure"` 12570 12571 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 12572 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 12573 // compatibility. We recommend using TERMINATE_CLUSTER instead. 12574 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 12575 12576 // The JAR file used for the step. 12577 // 12578 // HadoopJarStep is a required field 12579 HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"` 12580 12581 // The name of the step. 12582 // 12583 // Name is a required field 12584 Name *string `type:"string" required:"true"` 12585} 12586 12587// String returns the string representation 12588func (s StepConfig) String() string { 12589 return awsutil.Prettify(s) 12590} 12591 12592// GoString returns the string representation 12593func (s StepConfig) GoString() string { 12594 return s.String() 12595} 12596 12597// Validate inspects the fields of the type to determine if they are valid. 12598func (s *StepConfig) Validate() error { 12599 invalidParams := request.ErrInvalidParams{Context: "StepConfig"} 12600 if s.HadoopJarStep == nil { 12601 invalidParams.Add(request.NewErrParamRequired("HadoopJarStep")) 12602 } 12603 if s.Name == nil { 12604 invalidParams.Add(request.NewErrParamRequired("Name")) 12605 } 12606 if s.HadoopJarStep != nil { 12607 if err := s.HadoopJarStep.Validate(); err != nil { 12608 invalidParams.AddNested("HadoopJarStep", err.(request.ErrInvalidParams)) 12609 } 12610 } 12611 12612 if invalidParams.Len() > 0 { 12613 return invalidParams 12614 } 12615 return nil 12616} 12617 12618// SetActionOnFailure sets the ActionOnFailure field's value. 12619func (s *StepConfig) SetActionOnFailure(v string) *StepConfig { 12620 s.ActionOnFailure = &v 12621 return s 12622} 12623 12624// SetHadoopJarStep sets the HadoopJarStep field's value. 12625func (s *StepConfig) SetHadoopJarStep(v *HadoopJarStepConfig) *StepConfig { 12626 s.HadoopJarStep = v 12627 return s 12628} 12629 12630// SetName sets the Name field's value. 12631func (s *StepConfig) SetName(v string) *StepConfig { 12632 s.Name = &v 12633 return s 12634} 12635 12636// Combines the execution state and configuration of a step. 12637type StepDetail struct { 12638 _ struct{} `type:"structure"` 12639 12640 // The description of the step status. 12641 // 12642 // ExecutionStatusDetail is a required field 12643 ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"` 12644 12645 // The step configuration. 12646 // 12647 // StepConfig is a required field 12648 StepConfig *StepConfig `type:"structure" required:"true"` 12649} 12650 12651// String returns the string representation 12652func (s StepDetail) String() string { 12653 return awsutil.Prettify(s) 12654} 12655 12656// GoString returns the string representation 12657func (s StepDetail) GoString() string { 12658 return s.String() 12659} 12660 12661// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 12662func (s *StepDetail) SetExecutionStatusDetail(v *StepExecutionStatusDetail) *StepDetail { 12663 s.ExecutionStatusDetail = v 12664 return s 12665} 12666 12667// SetStepConfig sets the StepConfig field's value. 12668func (s *StepDetail) SetStepConfig(v *StepConfig) *StepDetail { 12669 s.StepConfig = v 12670 return s 12671} 12672 12673// The execution state of a step. 12674type StepExecutionStatusDetail struct { 12675 _ struct{} `type:"structure"` 12676 12677 // The creation date and time of the step. 12678 // 12679 // CreationDateTime is a required field 12680 CreationDateTime *time.Time `type:"timestamp" required:"true"` 12681 12682 // The completion date and time of the step. 12683 EndDateTime *time.Time `type:"timestamp"` 12684 12685 // A description of the step's current state. 12686 LastStateChangeReason *string `type:"string"` 12687 12688 // The start date and time of the step. 12689 StartDateTime *time.Time `type:"timestamp"` 12690 12691 // The state of the step. 12692 // 12693 // State is a required field 12694 State *string `type:"string" required:"true" enum:"StepExecutionState"` 12695} 12696 12697// String returns the string representation 12698func (s StepExecutionStatusDetail) String() string { 12699 return awsutil.Prettify(s) 12700} 12701 12702// GoString returns the string representation 12703func (s StepExecutionStatusDetail) GoString() string { 12704 return s.String() 12705} 12706 12707// SetCreationDateTime sets the CreationDateTime field's value. 12708func (s *StepExecutionStatusDetail) SetCreationDateTime(v time.Time) *StepExecutionStatusDetail { 12709 s.CreationDateTime = &v 12710 return s 12711} 12712 12713// SetEndDateTime sets the EndDateTime field's value. 12714func (s *StepExecutionStatusDetail) SetEndDateTime(v time.Time) *StepExecutionStatusDetail { 12715 s.EndDateTime = &v 12716 return s 12717} 12718 12719// SetLastStateChangeReason sets the LastStateChangeReason field's value. 12720func (s *StepExecutionStatusDetail) SetLastStateChangeReason(v string) *StepExecutionStatusDetail { 12721 s.LastStateChangeReason = &v 12722 return s 12723} 12724 12725// SetStartDateTime sets the StartDateTime field's value. 12726func (s *StepExecutionStatusDetail) SetStartDateTime(v time.Time) *StepExecutionStatusDetail { 12727 s.StartDateTime = &v 12728 return s 12729} 12730 12731// SetState sets the State field's value. 12732func (s *StepExecutionStatusDetail) SetState(v string) *StepExecutionStatusDetail { 12733 s.State = &v 12734 return s 12735} 12736 12737// The details of the step state change reason. 12738type StepStateChangeReason struct { 12739 _ struct{} `type:"structure"` 12740 12741 // The programmable code for the state change reason. Note: Currently, the service 12742 // provides no code for the state change. 12743 Code *string `type:"string" enum:"StepStateChangeReasonCode"` 12744 12745 // The descriptive message for the state change reason. 12746 Message *string `type:"string"` 12747} 12748 12749// String returns the string representation 12750func (s StepStateChangeReason) String() string { 12751 return awsutil.Prettify(s) 12752} 12753 12754// GoString returns the string representation 12755func (s StepStateChangeReason) GoString() string { 12756 return s.String() 12757} 12758 12759// SetCode sets the Code field's value. 12760func (s *StepStateChangeReason) SetCode(v string) *StepStateChangeReason { 12761 s.Code = &v 12762 return s 12763} 12764 12765// SetMessage sets the Message field's value. 12766func (s *StepStateChangeReason) SetMessage(v string) *StepStateChangeReason { 12767 s.Message = &v 12768 return s 12769} 12770 12771// The execution status details of the cluster step. 12772type StepStatus struct { 12773 _ struct{} `type:"structure"` 12774 12775 // The details for the step failure including reason, message, and log file 12776 // path where the root cause was identified. 12777 FailureDetails *FailureDetails `type:"structure"` 12778 12779 // The execution state of the cluster step. 12780 State *string `type:"string" enum:"StepState"` 12781 12782 // The reason for the step execution status change. 12783 StateChangeReason *StepStateChangeReason `type:"structure"` 12784 12785 // The timeline of the cluster step status over time. 12786 Timeline *StepTimeline `type:"structure"` 12787} 12788 12789// String returns the string representation 12790func (s StepStatus) String() string { 12791 return awsutil.Prettify(s) 12792} 12793 12794// GoString returns the string representation 12795func (s StepStatus) GoString() string { 12796 return s.String() 12797} 12798 12799// SetFailureDetails sets the FailureDetails field's value. 12800func (s *StepStatus) SetFailureDetails(v *FailureDetails) *StepStatus { 12801 s.FailureDetails = v 12802 return s 12803} 12804 12805// SetState sets the State field's value. 12806func (s *StepStatus) SetState(v string) *StepStatus { 12807 s.State = &v 12808 return s 12809} 12810 12811// SetStateChangeReason sets the StateChangeReason field's value. 12812func (s *StepStatus) SetStateChangeReason(v *StepStateChangeReason) *StepStatus { 12813 s.StateChangeReason = v 12814 return s 12815} 12816 12817// SetTimeline sets the Timeline field's value. 12818func (s *StepStatus) SetTimeline(v *StepTimeline) *StepStatus { 12819 s.Timeline = v 12820 return s 12821} 12822 12823// The summary of the cluster step. 12824type StepSummary struct { 12825 _ struct{} `type:"structure"` 12826 12827 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 12828 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward 12829 // compatibility. We recommend using TERMINATE_CLUSTER instead. 12830 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 12831 12832 // The Hadoop job configuration of the cluster step. 12833 Config *HadoopStepConfig `type:"structure"` 12834 12835 // The identifier of the cluster step. 12836 Id *string `type:"string"` 12837 12838 // The name of the cluster step. 12839 Name *string `type:"string"` 12840 12841 // The current execution status details of the cluster step. 12842 Status *StepStatus `type:"structure"` 12843} 12844 12845// String returns the string representation 12846func (s StepSummary) String() string { 12847 return awsutil.Prettify(s) 12848} 12849 12850// GoString returns the string representation 12851func (s StepSummary) GoString() string { 12852 return s.String() 12853} 12854 12855// SetActionOnFailure sets the ActionOnFailure field's value. 12856func (s *StepSummary) SetActionOnFailure(v string) *StepSummary { 12857 s.ActionOnFailure = &v 12858 return s 12859} 12860 12861// SetConfig sets the Config field's value. 12862func (s *StepSummary) SetConfig(v *HadoopStepConfig) *StepSummary { 12863 s.Config = v 12864 return s 12865} 12866 12867// SetId sets the Id field's value. 12868func (s *StepSummary) SetId(v string) *StepSummary { 12869 s.Id = &v 12870 return s 12871} 12872 12873// SetName sets the Name field's value. 12874func (s *StepSummary) SetName(v string) *StepSummary { 12875 s.Name = &v 12876 return s 12877} 12878 12879// SetStatus sets the Status field's value. 12880func (s *StepSummary) SetStatus(v *StepStatus) *StepSummary { 12881 s.Status = v 12882 return s 12883} 12884 12885// The timeline of the cluster step lifecycle. 12886type StepTimeline struct { 12887 _ struct{} `type:"structure"` 12888 12889 // The date and time when the cluster step was created. 12890 CreationDateTime *time.Time `type:"timestamp"` 12891 12892 // The date and time when the cluster step execution completed or failed. 12893 EndDateTime *time.Time `type:"timestamp"` 12894 12895 // The date and time when the cluster step execution started. 12896 StartDateTime *time.Time `type:"timestamp"` 12897} 12898 12899// String returns the string representation 12900func (s StepTimeline) String() string { 12901 return awsutil.Prettify(s) 12902} 12903 12904// GoString returns the string representation 12905func (s StepTimeline) GoString() string { 12906 return s.String() 12907} 12908 12909// SetCreationDateTime sets the CreationDateTime field's value. 12910func (s *StepTimeline) SetCreationDateTime(v time.Time) *StepTimeline { 12911 s.CreationDateTime = &v 12912 return s 12913} 12914 12915// SetEndDateTime sets the EndDateTime field's value. 12916func (s *StepTimeline) SetEndDateTime(v time.Time) *StepTimeline { 12917 s.EndDateTime = &v 12918 return s 12919} 12920 12921// SetStartDateTime sets the StartDateTime field's value. 12922func (s *StepTimeline) SetStartDateTime(v time.Time) *StepTimeline { 12923 s.StartDateTime = &v 12924 return s 12925} 12926 12927type StopNotebookExecutionInput struct { 12928 _ struct{} `type:"structure"` 12929 12930 // The unique identifier of the notebook execution. 12931 // 12932 // NotebookExecutionId is a required field 12933 NotebookExecutionId *string `type:"string" required:"true"` 12934} 12935 12936// String returns the string representation 12937func (s StopNotebookExecutionInput) String() string { 12938 return awsutil.Prettify(s) 12939} 12940 12941// GoString returns the string representation 12942func (s StopNotebookExecutionInput) GoString() string { 12943 return s.String() 12944} 12945 12946// Validate inspects the fields of the type to determine if they are valid. 12947func (s *StopNotebookExecutionInput) Validate() error { 12948 invalidParams := request.ErrInvalidParams{Context: "StopNotebookExecutionInput"} 12949 if s.NotebookExecutionId == nil { 12950 invalidParams.Add(request.NewErrParamRequired("NotebookExecutionId")) 12951 } 12952 12953 if invalidParams.Len() > 0 { 12954 return invalidParams 12955 } 12956 return nil 12957} 12958 12959// SetNotebookExecutionId sets the NotebookExecutionId field's value. 12960func (s *StopNotebookExecutionInput) SetNotebookExecutionId(v string) *StopNotebookExecutionInput { 12961 s.NotebookExecutionId = &v 12962 return s 12963} 12964 12965type StopNotebookExecutionOutput struct { 12966 _ struct{} `type:"structure"` 12967} 12968 12969// String returns the string representation 12970func (s StopNotebookExecutionOutput) String() string { 12971 return awsutil.Prettify(s) 12972} 12973 12974// GoString returns the string representation 12975func (s StopNotebookExecutionOutput) GoString() string { 12976 return s.String() 12977} 12978 12979// The list of supported product configurations which allow user-supplied arguments. 12980// EMR accepts these arguments and forwards them to the corresponding installation 12981// script as bootstrap action arguments. 12982type SupportedProductConfig struct { 12983 _ struct{} `type:"structure"` 12984 12985 // The list of user-supplied arguments. 12986 Args []*string `type:"list"` 12987 12988 // The name of the product configuration. 12989 Name *string `type:"string"` 12990} 12991 12992// String returns the string representation 12993func (s SupportedProductConfig) String() string { 12994 return awsutil.Prettify(s) 12995} 12996 12997// GoString returns the string representation 12998func (s SupportedProductConfig) GoString() string { 12999 return s.String() 13000} 13001 13002// SetArgs sets the Args field's value. 13003func (s *SupportedProductConfig) SetArgs(v []*string) *SupportedProductConfig { 13004 s.Args = v 13005 return s 13006} 13007 13008// SetName sets the Name field's value. 13009func (s *SupportedProductConfig) SetName(v string) *SupportedProductConfig { 13010 s.Name = &v 13011 return s 13012} 13013 13014// A key/value pair containing user-defined metadata that you can associate 13015// with an Amazon EMR resource. Tags make it easier to associate clusters in 13016// various ways, such as grouping clusters to track your Amazon EMR resource 13017// allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 13018type Tag struct { 13019 _ struct{} `type:"structure"` 13020 13021 // A user-defined key, which is the minimum required information for a valid 13022 // tag. For more information, see Tag (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 13023 Key *string `type:"string"` 13024 13025 // A user-defined value, which is optional in a tag. For more information, see 13026 // Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 13027 Value *string `type:"string"` 13028} 13029 13030// String returns the string representation 13031func (s Tag) String() string { 13032 return awsutil.Prettify(s) 13033} 13034 13035// GoString returns the string representation 13036func (s Tag) GoString() string { 13037 return s.String() 13038} 13039 13040// SetKey sets the Key field's value. 13041func (s *Tag) SetKey(v string) *Tag { 13042 s.Key = &v 13043 return s 13044} 13045 13046// SetValue sets the Value field's value. 13047func (s *Tag) SetValue(v string) *Tag { 13048 s.Value = &v 13049 return s 13050} 13051 13052// Input to the TerminateJobFlows operation. 13053type TerminateJobFlowsInput struct { 13054 _ struct{} `type:"structure"` 13055 13056 // A list of job flows to be shutdown. 13057 // 13058 // JobFlowIds is a required field 13059 JobFlowIds []*string `type:"list" required:"true"` 13060} 13061 13062// String returns the string representation 13063func (s TerminateJobFlowsInput) String() string { 13064 return awsutil.Prettify(s) 13065} 13066 13067// GoString returns the string representation 13068func (s TerminateJobFlowsInput) GoString() string { 13069 return s.String() 13070} 13071 13072// Validate inspects the fields of the type to determine if they are valid. 13073func (s *TerminateJobFlowsInput) Validate() error { 13074 invalidParams := request.ErrInvalidParams{Context: "TerminateJobFlowsInput"} 13075 if s.JobFlowIds == nil { 13076 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 13077 } 13078 13079 if invalidParams.Len() > 0 { 13080 return invalidParams 13081 } 13082 return nil 13083} 13084 13085// SetJobFlowIds sets the JobFlowIds field's value. 13086func (s *TerminateJobFlowsInput) SetJobFlowIds(v []*string) *TerminateJobFlowsInput { 13087 s.JobFlowIds = v 13088 return s 13089} 13090 13091type TerminateJobFlowsOutput struct { 13092 _ struct{} `type:"structure"` 13093} 13094 13095// String returns the string representation 13096func (s TerminateJobFlowsOutput) String() string { 13097 return awsutil.Prettify(s) 13098} 13099 13100// GoString returns the string representation 13101func (s TerminateJobFlowsOutput) GoString() string { 13102 return s.String() 13103} 13104 13105// EBS volume specifications such as volume type, IOPS, and size (GiB) that 13106// will be requested for the EBS volume attached to an EC2 instance in the cluster. 13107type VolumeSpecification struct { 13108 _ struct{} `type:"structure"` 13109 13110 // The number of I/O operations per second (IOPS) that the volume supports. 13111 Iops *int64 `type:"integer"` 13112 13113 // The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. 13114 // If the volume type is EBS-optimized, the minimum value is 10. 13115 // 13116 // SizeInGB is a required field 13117 SizeInGB *int64 `type:"integer" required:"true"` 13118 13119 // The volume type. Volume types supported are gp2, io1, standard. 13120 // 13121 // VolumeType is a required field 13122 VolumeType *string `type:"string" required:"true"` 13123} 13124 13125// String returns the string representation 13126func (s VolumeSpecification) String() string { 13127 return awsutil.Prettify(s) 13128} 13129 13130// GoString returns the string representation 13131func (s VolumeSpecification) GoString() string { 13132 return s.String() 13133} 13134 13135// Validate inspects the fields of the type to determine if they are valid. 13136func (s *VolumeSpecification) Validate() error { 13137 invalidParams := request.ErrInvalidParams{Context: "VolumeSpecification"} 13138 if s.SizeInGB == nil { 13139 invalidParams.Add(request.NewErrParamRequired("SizeInGB")) 13140 } 13141 if s.VolumeType == nil { 13142 invalidParams.Add(request.NewErrParamRequired("VolumeType")) 13143 } 13144 13145 if invalidParams.Len() > 0 { 13146 return invalidParams 13147 } 13148 return nil 13149} 13150 13151// SetIops sets the Iops field's value. 13152func (s *VolumeSpecification) SetIops(v int64) *VolumeSpecification { 13153 s.Iops = &v 13154 return s 13155} 13156 13157// SetSizeInGB sets the SizeInGB field's value. 13158func (s *VolumeSpecification) SetSizeInGB(v int64) *VolumeSpecification { 13159 s.SizeInGB = &v 13160 return s 13161} 13162 13163// SetVolumeType sets the VolumeType field's value. 13164func (s *VolumeSpecification) SetVolumeType(v string) *VolumeSpecification { 13165 s.VolumeType = &v 13166 return s 13167} 13168 13169const ( 13170 // ActionOnFailureTerminateJobFlow is a ActionOnFailure enum value 13171 ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW" 13172 13173 // ActionOnFailureTerminateCluster is a ActionOnFailure enum value 13174 ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER" 13175 13176 // ActionOnFailureCancelAndWait is a ActionOnFailure enum value 13177 ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT" 13178 13179 // ActionOnFailureContinue is a ActionOnFailure enum value 13180 ActionOnFailureContinue = "CONTINUE" 13181) 13182 13183// ActionOnFailure_Values returns all elements of the ActionOnFailure enum 13184func ActionOnFailure_Values() []string { 13185 return []string{ 13186 ActionOnFailureTerminateJobFlow, 13187 ActionOnFailureTerminateCluster, 13188 ActionOnFailureCancelAndWait, 13189 ActionOnFailureContinue, 13190 } 13191} 13192 13193const ( 13194 // AdjustmentTypeChangeInCapacity is a AdjustmentType enum value 13195 AdjustmentTypeChangeInCapacity = "CHANGE_IN_CAPACITY" 13196 13197 // AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value 13198 AdjustmentTypePercentChangeInCapacity = "PERCENT_CHANGE_IN_CAPACITY" 13199 13200 // AdjustmentTypeExactCapacity is a AdjustmentType enum value 13201 AdjustmentTypeExactCapacity = "EXACT_CAPACITY" 13202) 13203 13204// AdjustmentType_Values returns all elements of the AdjustmentType enum 13205func AdjustmentType_Values() []string { 13206 return []string{ 13207 AdjustmentTypeChangeInCapacity, 13208 AdjustmentTypePercentChangeInCapacity, 13209 AdjustmentTypeExactCapacity, 13210 } 13211} 13212 13213const ( 13214 // AutoScalingPolicyStatePending is a AutoScalingPolicyState enum value 13215 AutoScalingPolicyStatePending = "PENDING" 13216 13217 // AutoScalingPolicyStateAttaching is a AutoScalingPolicyState enum value 13218 AutoScalingPolicyStateAttaching = "ATTACHING" 13219 13220 // AutoScalingPolicyStateAttached is a AutoScalingPolicyState enum value 13221 AutoScalingPolicyStateAttached = "ATTACHED" 13222 13223 // AutoScalingPolicyStateDetaching is a AutoScalingPolicyState enum value 13224 AutoScalingPolicyStateDetaching = "DETACHING" 13225 13226 // AutoScalingPolicyStateDetached is a AutoScalingPolicyState enum value 13227 AutoScalingPolicyStateDetached = "DETACHED" 13228 13229 // AutoScalingPolicyStateFailed is a AutoScalingPolicyState enum value 13230 AutoScalingPolicyStateFailed = "FAILED" 13231) 13232 13233// AutoScalingPolicyState_Values returns all elements of the AutoScalingPolicyState enum 13234func AutoScalingPolicyState_Values() []string { 13235 return []string{ 13236 AutoScalingPolicyStatePending, 13237 AutoScalingPolicyStateAttaching, 13238 AutoScalingPolicyStateAttached, 13239 AutoScalingPolicyStateDetaching, 13240 AutoScalingPolicyStateDetached, 13241 AutoScalingPolicyStateFailed, 13242 } 13243} 13244 13245const ( 13246 // AutoScalingPolicyStateChangeReasonCodeUserRequest is a AutoScalingPolicyStateChangeReasonCode enum value 13247 AutoScalingPolicyStateChangeReasonCodeUserRequest = "USER_REQUEST" 13248 13249 // AutoScalingPolicyStateChangeReasonCodeProvisionFailure is a AutoScalingPolicyStateChangeReasonCode enum value 13250 AutoScalingPolicyStateChangeReasonCodeProvisionFailure = "PROVISION_FAILURE" 13251 13252 // AutoScalingPolicyStateChangeReasonCodeCleanupFailure is a AutoScalingPolicyStateChangeReasonCode enum value 13253 AutoScalingPolicyStateChangeReasonCodeCleanupFailure = "CLEANUP_FAILURE" 13254) 13255 13256// AutoScalingPolicyStateChangeReasonCode_Values returns all elements of the AutoScalingPolicyStateChangeReasonCode enum 13257func AutoScalingPolicyStateChangeReasonCode_Values() []string { 13258 return []string{ 13259 AutoScalingPolicyStateChangeReasonCodeUserRequest, 13260 AutoScalingPolicyStateChangeReasonCodeProvisionFailure, 13261 AutoScalingPolicyStateChangeReasonCodeCleanupFailure, 13262 } 13263} 13264 13265const ( 13266 // CancelStepsRequestStatusSubmitted is a CancelStepsRequestStatus enum value 13267 CancelStepsRequestStatusSubmitted = "SUBMITTED" 13268 13269 // CancelStepsRequestStatusFailed is a CancelStepsRequestStatus enum value 13270 CancelStepsRequestStatusFailed = "FAILED" 13271) 13272 13273// CancelStepsRequestStatus_Values returns all elements of the CancelStepsRequestStatus enum 13274func CancelStepsRequestStatus_Values() []string { 13275 return []string{ 13276 CancelStepsRequestStatusSubmitted, 13277 CancelStepsRequestStatusFailed, 13278 } 13279} 13280 13281const ( 13282 // ClusterStateStarting is a ClusterState enum value 13283 ClusterStateStarting = "STARTING" 13284 13285 // ClusterStateBootstrapping is a ClusterState enum value 13286 ClusterStateBootstrapping = "BOOTSTRAPPING" 13287 13288 // ClusterStateRunning is a ClusterState enum value 13289 ClusterStateRunning = "RUNNING" 13290 13291 // ClusterStateWaiting is a ClusterState enum value 13292 ClusterStateWaiting = "WAITING" 13293 13294 // ClusterStateTerminating is a ClusterState enum value 13295 ClusterStateTerminating = "TERMINATING" 13296 13297 // ClusterStateTerminated is a ClusterState enum value 13298 ClusterStateTerminated = "TERMINATED" 13299 13300 // ClusterStateTerminatedWithErrors is a ClusterState enum value 13301 ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS" 13302) 13303 13304// ClusterState_Values returns all elements of the ClusterState enum 13305func ClusterState_Values() []string { 13306 return []string{ 13307 ClusterStateStarting, 13308 ClusterStateBootstrapping, 13309 ClusterStateRunning, 13310 ClusterStateWaiting, 13311 ClusterStateTerminating, 13312 ClusterStateTerminated, 13313 ClusterStateTerminatedWithErrors, 13314 } 13315} 13316 13317const ( 13318 // ClusterStateChangeReasonCodeInternalError is a ClusterStateChangeReasonCode enum value 13319 ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 13320 13321 // ClusterStateChangeReasonCodeValidationError is a ClusterStateChangeReasonCode enum value 13322 ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 13323 13324 // ClusterStateChangeReasonCodeInstanceFailure is a ClusterStateChangeReasonCode enum value 13325 ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 13326 13327 // ClusterStateChangeReasonCodeInstanceFleetTimeout is a ClusterStateChangeReasonCode enum value 13328 ClusterStateChangeReasonCodeInstanceFleetTimeout = "INSTANCE_FLEET_TIMEOUT" 13329 13330 // ClusterStateChangeReasonCodeBootstrapFailure is a ClusterStateChangeReasonCode enum value 13331 ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 13332 13333 // ClusterStateChangeReasonCodeUserRequest is a ClusterStateChangeReasonCode enum value 13334 ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST" 13335 13336 // ClusterStateChangeReasonCodeStepFailure is a ClusterStateChangeReasonCode enum value 13337 ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE" 13338 13339 // ClusterStateChangeReasonCodeAllStepsCompleted is a ClusterStateChangeReasonCode enum value 13340 ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED" 13341) 13342 13343// ClusterStateChangeReasonCode_Values returns all elements of the ClusterStateChangeReasonCode enum 13344func ClusterStateChangeReasonCode_Values() []string { 13345 return []string{ 13346 ClusterStateChangeReasonCodeInternalError, 13347 ClusterStateChangeReasonCodeValidationError, 13348 ClusterStateChangeReasonCodeInstanceFailure, 13349 ClusterStateChangeReasonCodeInstanceFleetTimeout, 13350 ClusterStateChangeReasonCodeBootstrapFailure, 13351 ClusterStateChangeReasonCodeUserRequest, 13352 ClusterStateChangeReasonCodeStepFailure, 13353 ClusterStateChangeReasonCodeAllStepsCompleted, 13354 } 13355} 13356 13357const ( 13358 // ComparisonOperatorGreaterThanOrEqual is a ComparisonOperator enum value 13359 ComparisonOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" 13360 13361 // ComparisonOperatorGreaterThan is a ComparisonOperator enum value 13362 ComparisonOperatorGreaterThan = "GREATER_THAN" 13363 13364 // ComparisonOperatorLessThan is a ComparisonOperator enum value 13365 ComparisonOperatorLessThan = "LESS_THAN" 13366 13367 // ComparisonOperatorLessThanOrEqual is a ComparisonOperator enum value 13368 ComparisonOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" 13369) 13370 13371// ComparisonOperator_Values returns all elements of the ComparisonOperator enum 13372func ComparisonOperator_Values() []string { 13373 return []string{ 13374 ComparisonOperatorGreaterThanOrEqual, 13375 ComparisonOperatorGreaterThan, 13376 ComparisonOperatorLessThan, 13377 ComparisonOperatorLessThanOrEqual, 13378 } 13379} 13380 13381const ( 13382 // ComputeLimitsUnitTypeInstanceFleetUnits is a ComputeLimitsUnitType enum value 13383 ComputeLimitsUnitTypeInstanceFleetUnits = "InstanceFleetUnits" 13384 13385 // ComputeLimitsUnitTypeInstances is a ComputeLimitsUnitType enum value 13386 ComputeLimitsUnitTypeInstances = "Instances" 13387 13388 // ComputeLimitsUnitTypeVcpu is a ComputeLimitsUnitType enum value 13389 ComputeLimitsUnitTypeVcpu = "VCPU" 13390) 13391 13392// ComputeLimitsUnitType_Values returns all elements of the ComputeLimitsUnitType enum 13393func ComputeLimitsUnitType_Values() []string { 13394 return []string{ 13395 ComputeLimitsUnitTypeInstanceFleetUnits, 13396 ComputeLimitsUnitTypeInstances, 13397 ComputeLimitsUnitTypeVcpu, 13398 } 13399} 13400 13401const ( 13402 // ExecutionEngineTypeEmr is a ExecutionEngineType enum value 13403 ExecutionEngineTypeEmr = "EMR" 13404) 13405 13406// ExecutionEngineType_Values returns all elements of the ExecutionEngineType enum 13407func ExecutionEngineType_Values() []string { 13408 return []string{ 13409 ExecutionEngineTypeEmr, 13410 } 13411} 13412 13413const ( 13414 // InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value 13415 InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET" 13416 13417 // InstanceCollectionTypeInstanceGroup is a InstanceCollectionType enum value 13418 InstanceCollectionTypeInstanceGroup = "INSTANCE_GROUP" 13419) 13420 13421// InstanceCollectionType_Values returns all elements of the InstanceCollectionType enum 13422func InstanceCollectionType_Values() []string { 13423 return []string{ 13424 InstanceCollectionTypeInstanceFleet, 13425 InstanceCollectionTypeInstanceGroup, 13426 } 13427} 13428 13429const ( 13430 // InstanceFleetStateProvisioning is a InstanceFleetState enum value 13431 InstanceFleetStateProvisioning = "PROVISIONING" 13432 13433 // InstanceFleetStateBootstrapping is a InstanceFleetState enum value 13434 InstanceFleetStateBootstrapping = "BOOTSTRAPPING" 13435 13436 // InstanceFleetStateRunning is a InstanceFleetState enum value 13437 InstanceFleetStateRunning = "RUNNING" 13438 13439 // InstanceFleetStateResizing is a InstanceFleetState enum value 13440 InstanceFleetStateResizing = "RESIZING" 13441 13442 // InstanceFleetStateSuspended is a InstanceFleetState enum value 13443 InstanceFleetStateSuspended = "SUSPENDED" 13444 13445 // InstanceFleetStateTerminating is a InstanceFleetState enum value 13446 InstanceFleetStateTerminating = "TERMINATING" 13447 13448 // InstanceFleetStateTerminated is a InstanceFleetState enum value 13449 InstanceFleetStateTerminated = "TERMINATED" 13450) 13451 13452// InstanceFleetState_Values returns all elements of the InstanceFleetState enum 13453func InstanceFleetState_Values() []string { 13454 return []string{ 13455 InstanceFleetStateProvisioning, 13456 InstanceFleetStateBootstrapping, 13457 InstanceFleetStateRunning, 13458 InstanceFleetStateResizing, 13459 InstanceFleetStateSuspended, 13460 InstanceFleetStateTerminating, 13461 InstanceFleetStateTerminated, 13462 } 13463} 13464 13465const ( 13466 // InstanceFleetStateChangeReasonCodeInternalError is a InstanceFleetStateChangeReasonCode enum value 13467 InstanceFleetStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 13468 13469 // InstanceFleetStateChangeReasonCodeValidationError is a InstanceFleetStateChangeReasonCode enum value 13470 InstanceFleetStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 13471 13472 // InstanceFleetStateChangeReasonCodeInstanceFailure is a InstanceFleetStateChangeReasonCode enum value 13473 InstanceFleetStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 13474 13475 // InstanceFleetStateChangeReasonCodeClusterTerminated is a InstanceFleetStateChangeReasonCode enum value 13476 InstanceFleetStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 13477) 13478 13479// InstanceFleetStateChangeReasonCode_Values returns all elements of the InstanceFleetStateChangeReasonCode enum 13480func InstanceFleetStateChangeReasonCode_Values() []string { 13481 return []string{ 13482 InstanceFleetStateChangeReasonCodeInternalError, 13483 InstanceFleetStateChangeReasonCodeValidationError, 13484 InstanceFleetStateChangeReasonCodeInstanceFailure, 13485 InstanceFleetStateChangeReasonCodeClusterTerminated, 13486 } 13487} 13488 13489const ( 13490 // InstanceFleetTypeMaster is a InstanceFleetType enum value 13491 InstanceFleetTypeMaster = "MASTER" 13492 13493 // InstanceFleetTypeCore is a InstanceFleetType enum value 13494 InstanceFleetTypeCore = "CORE" 13495 13496 // InstanceFleetTypeTask is a InstanceFleetType enum value 13497 InstanceFleetTypeTask = "TASK" 13498) 13499 13500// InstanceFleetType_Values returns all elements of the InstanceFleetType enum 13501func InstanceFleetType_Values() []string { 13502 return []string{ 13503 InstanceFleetTypeMaster, 13504 InstanceFleetTypeCore, 13505 InstanceFleetTypeTask, 13506 } 13507} 13508 13509const ( 13510 // InstanceGroupStateProvisioning is a InstanceGroupState enum value 13511 InstanceGroupStateProvisioning = "PROVISIONING" 13512 13513 // InstanceGroupStateBootstrapping is a InstanceGroupState enum value 13514 InstanceGroupStateBootstrapping = "BOOTSTRAPPING" 13515 13516 // InstanceGroupStateRunning is a InstanceGroupState enum value 13517 InstanceGroupStateRunning = "RUNNING" 13518 13519 // InstanceGroupStateReconfiguring is a InstanceGroupState enum value 13520 InstanceGroupStateReconfiguring = "RECONFIGURING" 13521 13522 // InstanceGroupStateResizing is a InstanceGroupState enum value 13523 InstanceGroupStateResizing = "RESIZING" 13524 13525 // InstanceGroupStateSuspended is a InstanceGroupState enum value 13526 InstanceGroupStateSuspended = "SUSPENDED" 13527 13528 // InstanceGroupStateTerminating is a InstanceGroupState enum value 13529 InstanceGroupStateTerminating = "TERMINATING" 13530 13531 // InstanceGroupStateTerminated is a InstanceGroupState enum value 13532 InstanceGroupStateTerminated = "TERMINATED" 13533 13534 // InstanceGroupStateArrested is a InstanceGroupState enum value 13535 InstanceGroupStateArrested = "ARRESTED" 13536 13537 // InstanceGroupStateShuttingDown is a InstanceGroupState enum value 13538 InstanceGroupStateShuttingDown = "SHUTTING_DOWN" 13539 13540 // InstanceGroupStateEnded is a InstanceGroupState enum value 13541 InstanceGroupStateEnded = "ENDED" 13542) 13543 13544// InstanceGroupState_Values returns all elements of the InstanceGroupState enum 13545func InstanceGroupState_Values() []string { 13546 return []string{ 13547 InstanceGroupStateProvisioning, 13548 InstanceGroupStateBootstrapping, 13549 InstanceGroupStateRunning, 13550 InstanceGroupStateReconfiguring, 13551 InstanceGroupStateResizing, 13552 InstanceGroupStateSuspended, 13553 InstanceGroupStateTerminating, 13554 InstanceGroupStateTerminated, 13555 InstanceGroupStateArrested, 13556 InstanceGroupStateShuttingDown, 13557 InstanceGroupStateEnded, 13558 } 13559} 13560 13561const ( 13562 // InstanceGroupStateChangeReasonCodeInternalError is a InstanceGroupStateChangeReasonCode enum value 13563 InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 13564 13565 // InstanceGroupStateChangeReasonCodeValidationError is a InstanceGroupStateChangeReasonCode enum value 13566 InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 13567 13568 // InstanceGroupStateChangeReasonCodeInstanceFailure is a InstanceGroupStateChangeReasonCode enum value 13569 InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 13570 13571 // InstanceGroupStateChangeReasonCodeClusterTerminated is a InstanceGroupStateChangeReasonCode enum value 13572 InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 13573) 13574 13575// InstanceGroupStateChangeReasonCode_Values returns all elements of the InstanceGroupStateChangeReasonCode enum 13576func InstanceGroupStateChangeReasonCode_Values() []string { 13577 return []string{ 13578 InstanceGroupStateChangeReasonCodeInternalError, 13579 InstanceGroupStateChangeReasonCodeValidationError, 13580 InstanceGroupStateChangeReasonCodeInstanceFailure, 13581 InstanceGroupStateChangeReasonCodeClusterTerminated, 13582 } 13583} 13584 13585const ( 13586 // InstanceGroupTypeMaster is a InstanceGroupType enum value 13587 InstanceGroupTypeMaster = "MASTER" 13588 13589 // InstanceGroupTypeCore is a InstanceGroupType enum value 13590 InstanceGroupTypeCore = "CORE" 13591 13592 // InstanceGroupTypeTask is a InstanceGroupType enum value 13593 InstanceGroupTypeTask = "TASK" 13594) 13595 13596// InstanceGroupType_Values returns all elements of the InstanceGroupType enum 13597func InstanceGroupType_Values() []string { 13598 return []string{ 13599 InstanceGroupTypeMaster, 13600 InstanceGroupTypeCore, 13601 InstanceGroupTypeTask, 13602 } 13603} 13604 13605const ( 13606 // InstanceRoleTypeMaster is a InstanceRoleType enum value 13607 InstanceRoleTypeMaster = "MASTER" 13608 13609 // InstanceRoleTypeCore is a InstanceRoleType enum value 13610 InstanceRoleTypeCore = "CORE" 13611 13612 // InstanceRoleTypeTask is a InstanceRoleType enum value 13613 InstanceRoleTypeTask = "TASK" 13614) 13615 13616// InstanceRoleType_Values returns all elements of the InstanceRoleType enum 13617func InstanceRoleType_Values() []string { 13618 return []string{ 13619 InstanceRoleTypeMaster, 13620 InstanceRoleTypeCore, 13621 InstanceRoleTypeTask, 13622 } 13623} 13624 13625const ( 13626 // InstanceStateAwaitingFulfillment is a InstanceState enum value 13627 InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT" 13628 13629 // InstanceStateProvisioning is a InstanceState enum value 13630 InstanceStateProvisioning = "PROVISIONING" 13631 13632 // InstanceStateBootstrapping is a InstanceState enum value 13633 InstanceStateBootstrapping = "BOOTSTRAPPING" 13634 13635 // InstanceStateRunning is a InstanceState enum value 13636 InstanceStateRunning = "RUNNING" 13637 13638 // InstanceStateTerminated is a InstanceState enum value 13639 InstanceStateTerminated = "TERMINATED" 13640) 13641 13642// InstanceState_Values returns all elements of the InstanceState enum 13643func InstanceState_Values() []string { 13644 return []string{ 13645 InstanceStateAwaitingFulfillment, 13646 InstanceStateProvisioning, 13647 InstanceStateBootstrapping, 13648 InstanceStateRunning, 13649 InstanceStateTerminated, 13650 } 13651} 13652 13653const ( 13654 // InstanceStateChangeReasonCodeInternalError is a InstanceStateChangeReasonCode enum value 13655 InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 13656 13657 // InstanceStateChangeReasonCodeValidationError is a InstanceStateChangeReasonCode enum value 13658 InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 13659 13660 // InstanceStateChangeReasonCodeInstanceFailure is a InstanceStateChangeReasonCode enum value 13661 InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 13662 13663 // InstanceStateChangeReasonCodeBootstrapFailure is a InstanceStateChangeReasonCode enum value 13664 InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 13665 13666 // InstanceStateChangeReasonCodeClusterTerminated is a InstanceStateChangeReasonCode enum value 13667 InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 13668) 13669 13670// InstanceStateChangeReasonCode_Values returns all elements of the InstanceStateChangeReasonCode enum 13671func InstanceStateChangeReasonCode_Values() []string { 13672 return []string{ 13673 InstanceStateChangeReasonCodeInternalError, 13674 InstanceStateChangeReasonCodeValidationError, 13675 InstanceStateChangeReasonCodeInstanceFailure, 13676 InstanceStateChangeReasonCodeBootstrapFailure, 13677 InstanceStateChangeReasonCodeClusterTerminated, 13678 } 13679} 13680 13681// The type of instance. 13682const ( 13683 // JobFlowExecutionStateStarting is a JobFlowExecutionState enum value 13684 JobFlowExecutionStateStarting = "STARTING" 13685 13686 // JobFlowExecutionStateBootstrapping is a JobFlowExecutionState enum value 13687 JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING" 13688 13689 // JobFlowExecutionStateRunning is a JobFlowExecutionState enum value 13690 JobFlowExecutionStateRunning = "RUNNING" 13691 13692 // JobFlowExecutionStateWaiting is a JobFlowExecutionState enum value 13693 JobFlowExecutionStateWaiting = "WAITING" 13694 13695 // JobFlowExecutionStateShuttingDown is a JobFlowExecutionState enum value 13696 JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN" 13697 13698 // JobFlowExecutionStateTerminated is a JobFlowExecutionState enum value 13699 JobFlowExecutionStateTerminated = "TERMINATED" 13700 13701 // JobFlowExecutionStateCompleted is a JobFlowExecutionState enum value 13702 JobFlowExecutionStateCompleted = "COMPLETED" 13703 13704 // JobFlowExecutionStateFailed is a JobFlowExecutionState enum value 13705 JobFlowExecutionStateFailed = "FAILED" 13706) 13707 13708// JobFlowExecutionState_Values returns all elements of the JobFlowExecutionState enum 13709func JobFlowExecutionState_Values() []string { 13710 return []string{ 13711 JobFlowExecutionStateStarting, 13712 JobFlowExecutionStateBootstrapping, 13713 JobFlowExecutionStateRunning, 13714 JobFlowExecutionStateWaiting, 13715 JobFlowExecutionStateShuttingDown, 13716 JobFlowExecutionStateTerminated, 13717 JobFlowExecutionStateCompleted, 13718 JobFlowExecutionStateFailed, 13719 } 13720} 13721 13722const ( 13723 // MarketTypeOnDemand is a MarketType enum value 13724 MarketTypeOnDemand = "ON_DEMAND" 13725 13726 // MarketTypeSpot is a MarketType enum value 13727 MarketTypeSpot = "SPOT" 13728) 13729 13730// MarketType_Values returns all elements of the MarketType enum 13731func MarketType_Values() []string { 13732 return []string{ 13733 MarketTypeOnDemand, 13734 MarketTypeSpot, 13735 } 13736} 13737 13738const ( 13739 // NotebookExecutionStatusStartPending is a NotebookExecutionStatus enum value 13740 NotebookExecutionStatusStartPending = "START_PENDING" 13741 13742 // NotebookExecutionStatusStarting is a NotebookExecutionStatus enum value 13743 NotebookExecutionStatusStarting = "STARTING" 13744 13745 // NotebookExecutionStatusRunning is a NotebookExecutionStatus enum value 13746 NotebookExecutionStatusRunning = "RUNNING" 13747 13748 // NotebookExecutionStatusFinishing is a NotebookExecutionStatus enum value 13749 NotebookExecutionStatusFinishing = "FINISHING" 13750 13751 // NotebookExecutionStatusFinished is a NotebookExecutionStatus enum value 13752 NotebookExecutionStatusFinished = "FINISHED" 13753 13754 // NotebookExecutionStatusFailing is a NotebookExecutionStatus enum value 13755 NotebookExecutionStatusFailing = "FAILING" 13756 13757 // NotebookExecutionStatusFailed is a NotebookExecutionStatus enum value 13758 NotebookExecutionStatusFailed = "FAILED" 13759 13760 // NotebookExecutionStatusStopPending is a NotebookExecutionStatus enum value 13761 NotebookExecutionStatusStopPending = "STOP_PENDING" 13762 13763 // NotebookExecutionStatusStopping is a NotebookExecutionStatus enum value 13764 NotebookExecutionStatusStopping = "STOPPING" 13765 13766 // NotebookExecutionStatusStopped is a NotebookExecutionStatus enum value 13767 NotebookExecutionStatusStopped = "STOPPED" 13768) 13769 13770// NotebookExecutionStatus_Values returns all elements of the NotebookExecutionStatus enum 13771func NotebookExecutionStatus_Values() []string { 13772 return []string{ 13773 NotebookExecutionStatusStartPending, 13774 NotebookExecutionStatusStarting, 13775 NotebookExecutionStatusRunning, 13776 NotebookExecutionStatusFinishing, 13777 NotebookExecutionStatusFinished, 13778 NotebookExecutionStatusFailing, 13779 NotebookExecutionStatusFailed, 13780 NotebookExecutionStatusStopPending, 13781 NotebookExecutionStatusStopping, 13782 NotebookExecutionStatusStopped, 13783 } 13784} 13785 13786const ( 13787 // OnDemandProvisioningAllocationStrategyLowestPrice is a OnDemandProvisioningAllocationStrategy enum value 13788 OnDemandProvisioningAllocationStrategyLowestPrice = "lowest-price" 13789) 13790 13791// OnDemandProvisioningAllocationStrategy_Values returns all elements of the OnDemandProvisioningAllocationStrategy enum 13792func OnDemandProvisioningAllocationStrategy_Values() []string { 13793 return []string{ 13794 OnDemandProvisioningAllocationStrategyLowestPrice, 13795 } 13796} 13797 13798const ( 13799 // PlacementGroupStrategySpread is a PlacementGroupStrategy enum value 13800 PlacementGroupStrategySpread = "SPREAD" 13801 13802 // PlacementGroupStrategyPartition is a PlacementGroupStrategy enum value 13803 PlacementGroupStrategyPartition = "PARTITION" 13804 13805 // PlacementGroupStrategyCluster is a PlacementGroupStrategy enum value 13806 PlacementGroupStrategyCluster = "CLUSTER" 13807 13808 // PlacementGroupStrategyNone is a PlacementGroupStrategy enum value 13809 PlacementGroupStrategyNone = "NONE" 13810) 13811 13812// PlacementGroupStrategy_Values returns all elements of the PlacementGroupStrategy enum 13813func PlacementGroupStrategy_Values() []string { 13814 return []string{ 13815 PlacementGroupStrategySpread, 13816 PlacementGroupStrategyPartition, 13817 PlacementGroupStrategyCluster, 13818 PlacementGroupStrategyNone, 13819 } 13820} 13821 13822const ( 13823 // RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value 13824 RepoUpgradeOnBootSecurity = "SECURITY" 13825 13826 // RepoUpgradeOnBootNone is a RepoUpgradeOnBoot enum value 13827 RepoUpgradeOnBootNone = "NONE" 13828) 13829 13830// RepoUpgradeOnBoot_Values returns all elements of the RepoUpgradeOnBoot enum 13831func RepoUpgradeOnBoot_Values() []string { 13832 return []string{ 13833 RepoUpgradeOnBootSecurity, 13834 RepoUpgradeOnBootNone, 13835 } 13836} 13837 13838const ( 13839 // ScaleDownBehaviorTerminateAtInstanceHour is a ScaleDownBehavior enum value 13840 ScaleDownBehaviorTerminateAtInstanceHour = "TERMINATE_AT_INSTANCE_HOUR" 13841 13842 // ScaleDownBehaviorTerminateAtTaskCompletion is a ScaleDownBehavior enum value 13843 ScaleDownBehaviorTerminateAtTaskCompletion = "TERMINATE_AT_TASK_COMPLETION" 13844) 13845 13846// ScaleDownBehavior_Values returns all elements of the ScaleDownBehavior enum 13847func ScaleDownBehavior_Values() []string { 13848 return []string{ 13849 ScaleDownBehaviorTerminateAtInstanceHour, 13850 ScaleDownBehaviorTerminateAtTaskCompletion, 13851 } 13852} 13853 13854const ( 13855 // SpotProvisioningAllocationStrategyCapacityOptimized is a SpotProvisioningAllocationStrategy enum value 13856 SpotProvisioningAllocationStrategyCapacityOptimized = "capacity-optimized" 13857) 13858 13859// SpotProvisioningAllocationStrategy_Values returns all elements of the SpotProvisioningAllocationStrategy enum 13860func SpotProvisioningAllocationStrategy_Values() []string { 13861 return []string{ 13862 SpotProvisioningAllocationStrategyCapacityOptimized, 13863 } 13864} 13865 13866const ( 13867 // SpotProvisioningTimeoutActionSwitchToOnDemand is a SpotProvisioningTimeoutAction enum value 13868 SpotProvisioningTimeoutActionSwitchToOnDemand = "SWITCH_TO_ON_DEMAND" 13869 13870 // SpotProvisioningTimeoutActionTerminateCluster is a SpotProvisioningTimeoutAction enum value 13871 SpotProvisioningTimeoutActionTerminateCluster = "TERMINATE_CLUSTER" 13872) 13873 13874// SpotProvisioningTimeoutAction_Values returns all elements of the SpotProvisioningTimeoutAction enum 13875func SpotProvisioningTimeoutAction_Values() []string { 13876 return []string{ 13877 SpotProvisioningTimeoutActionSwitchToOnDemand, 13878 SpotProvisioningTimeoutActionTerminateCluster, 13879 } 13880} 13881 13882const ( 13883 // StatisticSampleCount is a Statistic enum value 13884 StatisticSampleCount = "SAMPLE_COUNT" 13885 13886 // StatisticAverage is a Statistic enum value 13887 StatisticAverage = "AVERAGE" 13888 13889 // StatisticSum is a Statistic enum value 13890 StatisticSum = "SUM" 13891 13892 // StatisticMinimum is a Statistic enum value 13893 StatisticMinimum = "MINIMUM" 13894 13895 // StatisticMaximum is a Statistic enum value 13896 StatisticMaximum = "MAXIMUM" 13897) 13898 13899// Statistic_Values returns all elements of the Statistic enum 13900func Statistic_Values() []string { 13901 return []string{ 13902 StatisticSampleCount, 13903 StatisticAverage, 13904 StatisticSum, 13905 StatisticMinimum, 13906 StatisticMaximum, 13907 } 13908} 13909 13910const ( 13911 // StepCancellationOptionSendInterrupt is a StepCancellationOption enum value 13912 StepCancellationOptionSendInterrupt = "SEND_INTERRUPT" 13913 13914 // StepCancellationOptionTerminateProcess is a StepCancellationOption enum value 13915 StepCancellationOptionTerminateProcess = "TERMINATE_PROCESS" 13916) 13917 13918// StepCancellationOption_Values returns all elements of the StepCancellationOption enum 13919func StepCancellationOption_Values() []string { 13920 return []string{ 13921 StepCancellationOptionSendInterrupt, 13922 StepCancellationOptionTerminateProcess, 13923 } 13924} 13925 13926const ( 13927 // StepExecutionStatePending is a StepExecutionState enum value 13928 StepExecutionStatePending = "PENDING" 13929 13930 // StepExecutionStateRunning is a StepExecutionState enum value 13931 StepExecutionStateRunning = "RUNNING" 13932 13933 // StepExecutionStateContinue is a StepExecutionState enum value 13934 StepExecutionStateContinue = "CONTINUE" 13935 13936 // StepExecutionStateCompleted is a StepExecutionState enum value 13937 StepExecutionStateCompleted = "COMPLETED" 13938 13939 // StepExecutionStateCancelled is a StepExecutionState enum value 13940 StepExecutionStateCancelled = "CANCELLED" 13941 13942 // StepExecutionStateFailed is a StepExecutionState enum value 13943 StepExecutionStateFailed = "FAILED" 13944 13945 // StepExecutionStateInterrupted is a StepExecutionState enum value 13946 StepExecutionStateInterrupted = "INTERRUPTED" 13947) 13948 13949// StepExecutionState_Values returns all elements of the StepExecutionState enum 13950func StepExecutionState_Values() []string { 13951 return []string{ 13952 StepExecutionStatePending, 13953 StepExecutionStateRunning, 13954 StepExecutionStateContinue, 13955 StepExecutionStateCompleted, 13956 StepExecutionStateCancelled, 13957 StepExecutionStateFailed, 13958 StepExecutionStateInterrupted, 13959 } 13960} 13961 13962const ( 13963 // StepStatePending is a StepState enum value 13964 StepStatePending = "PENDING" 13965 13966 // StepStateCancelPending is a StepState enum value 13967 StepStateCancelPending = "CANCEL_PENDING" 13968 13969 // StepStateRunning is a StepState enum value 13970 StepStateRunning = "RUNNING" 13971 13972 // StepStateCompleted is a StepState enum value 13973 StepStateCompleted = "COMPLETED" 13974 13975 // StepStateCancelled is a StepState enum value 13976 StepStateCancelled = "CANCELLED" 13977 13978 // StepStateFailed is a StepState enum value 13979 StepStateFailed = "FAILED" 13980 13981 // StepStateInterrupted is a StepState enum value 13982 StepStateInterrupted = "INTERRUPTED" 13983) 13984 13985// StepState_Values returns all elements of the StepState enum 13986func StepState_Values() []string { 13987 return []string{ 13988 StepStatePending, 13989 StepStateCancelPending, 13990 StepStateRunning, 13991 StepStateCompleted, 13992 StepStateCancelled, 13993 StepStateFailed, 13994 StepStateInterrupted, 13995 } 13996} 13997 13998const ( 13999 // StepStateChangeReasonCodeNone is a StepStateChangeReasonCode enum value 14000 StepStateChangeReasonCodeNone = "NONE" 14001) 14002 14003// StepStateChangeReasonCode_Values returns all elements of the StepStateChangeReasonCode enum 14004func StepStateChangeReasonCode_Values() []string { 14005 return []string{ 14006 StepStateChangeReasonCodeNone, 14007 } 14008} 14009 14010const ( 14011 // UnitNone is a Unit enum value 14012 UnitNone = "NONE" 14013 14014 // UnitSeconds is a Unit enum value 14015 UnitSeconds = "SECONDS" 14016 14017 // UnitMicroSeconds is a Unit enum value 14018 UnitMicroSeconds = "MICRO_SECONDS" 14019 14020 // UnitMilliSeconds is a Unit enum value 14021 UnitMilliSeconds = "MILLI_SECONDS" 14022 14023 // UnitBytes is a Unit enum value 14024 UnitBytes = "BYTES" 14025 14026 // UnitKiloBytes is a Unit enum value 14027 UnitKiloBytes = "KILO_BYTES" 14028 14029 // UnitMegaBytes is a Unit enum value 14030 UnitMegaBytes = "MEGA_BYTES" 14031 14032 // UnitGigaBytes is a Unit enum value 14033 UnitGigaBytes = "GIGA_BYTES" 14034 14035 // UnitTeraBytes is a Unit enum value 14036 UnitTeraBytes = "TERA_BYTES" 14037 14038 // UnitBits is a Unit enum value 14039 UnitBits = "BITS" 14040 14041 // UnitKiloBits is a Unit enum value 14042 UnitKiloBits = "KILO_BITS" 14043 14044 // UnitMegaBits is a Unit enum value 14045 UnitMegaBits = "MEGA_BITS" 14046 14047 // UnitGigaBits is a Unit enum value 14048 UnitGigaBits = "GIGA_BITS" 14049 14050 // UnitTeraBits is a Unit enum value 14051 UnitTeraBits = "TERA_BITS" 14052 14053 // UnitPercent is a Unit enum value 14054 UnitPercent = "PERCENT" 14055 14056 // UnitCount is a Unit enum value 14057 UnitCount = "COUNT" 14058 14059 // UnitBytesPerSecond is a Unit enum value 14060 UnitBytesPerSecond = "BYTES_PER_SECOND" 14061 14062 // UnitKiloBytesPerSecond is a Unit enum value 14063 UnitKiloBytesPerSecond = "KILO_BYTES_PER_SECOND" 14064 14065 // UnitMegaBytesPerSecond is a Unit enum value 14066 UnitMegaBytesPerSecond = "MEGA_BYTES_PER_SECOND" 14067 14068 // UnitGigaBytesPerSecond is a Unit enum value 14069 UnitGigaBytesPerSecond = "GIGA_BYTES_PER_SECOND" 14070 14071 // UnitTeraBytesPerSecond is a Unit enum value 14072 UnitTeraBytesPerSecond = "TERA_BYTES_PER_SECOND" 14073 14074 // UnitBitsPerSecond is a Unit enum value 14075 UnitBitsPerSecond = "BITS_PER_SECOND" 14076 14077 // UnitKiloBitsPerSecond is a Unit enum value 14078 UnitKiloBitsPerSecond = "KILO_BITS_PER_SECOND" 14079 14080 // UnitMegaBitsPerSecond is a Unit enum value 14081 UnitMegaBitsPerSecond = "MEGA_BITS_PER_SECOND" 14082 14083 // UnitGigaBitsPerSecond is a Unit enum value 14084 UnitGigaBitsPerSecond = "GIGA_BITS_PER_SECOND" 14085 14086 // UnitTeraBitsPerSecond is a Unit enum value 14087 UnitTeraBitsPerSecond = "TERA_BITS_PER_SECOND" 14088 14089 // UnitCountPerSecond is a Unit enum value 14090 UnitCountPerSecond = "COUNT_PER_SECOND" 14091) 14092 14093// Unit_Values returns all elements of the Unit enum 14094func Unit_Values() []string { 14095 return []string{ 14096 UnitNone, 14097 UnitSeconds, 14098 UnitMicroSeconds, 14099 UnitMilliSeconds, 14100 UnitBytes, 14101 UnitKiloBytes, 14102 UnitMegaBytes, 14103 UnitGigaBytes, 14104 UnitTeraBytes, 14105 UnitBits, 14106 UnitKiloBits, 14107 UnitMegaBits, 14108 UnitGigaBits, 14109 UnitTeraBits, 14110 UnitPercent, 14111 UnitCount, 14112 UnitBytesPerSecond, 14113 UnitKiloBytesPerSecond, 14114 UnitMegaBytesPerSecond, 14115 UnitGigaBytesPerSecond, 14116 UnitTeraBytesPerSecond, 14117 UnitBitsPerSecond, 14118 UnitKiloBitsPerSecond, 14119 UnitMegaBitsPerSecond, 14120 UnitGigaBitsPerSecond, 14121 UnitTeraBitsPerSecond, 14122 UnitCountPerSecond, 14123 } 14124} 14125