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 opDescribeSecurityConfiguration = "DescribeSecurityConfiguration" 813 814// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the 815// client's request for the DescribeSecurityConfiguration 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 DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration 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 DescribeSecurityConfigurationRequest method. 830// req, resp := client.DescribeSecurityConfigurationRequest(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/DescribeSecurityConfiguration 838func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) { 839 op := &request.Operation{ 840 Name: opDescribeSecurityConfiguration, 841 HTTPMethod: "POST", 842 HTTPPath: "/", 843 } 844 845 if input == nil { 846 input = &DescribeSecurityConfigurationInput{} 847 } 848 849 output = &DescribeSecurityConfigurationOutput{} 850 req = c.newRequest(op, input, output) 851 return 852} 853 854// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce. 855// 856// Provides the details of a security configuration by returning the configuration 857// JSON. 858// 859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 860// with awserr.Error's Code and Message methods to get detailed information about 861// the error. 862// 863// See the AWS API reference guide for Amazon Elastic MapReduce's 864// API operation DescribeSecurityConfiguration for usage and error information. 865// 866// Returned Error Types: 867// * InternalServerException 868// This exception occurs when there is an internal failure in the EMR service. 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/DescribeSecurityConfiguration 874func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) { 875 req, out := c.DescribeSecurityConfigurationRequest(input) 876 return out, req.Send() 877} 878 879// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of 880// the ability to pass a context and additional request options. 881// 882// See DescribeSecurityConfiguration 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) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) { 889 req, out := c.DescribeSecurityConfigurationRequest(input) 890 req.SetContext(ctx) 891 req.ApplyOptions(opts...) 892 return out, req.Send() 893} 894 895const opDescribeStep = "DescribeStep" 896 897// DescribeStepRequest generates a "aws/request.Request" representing the 898// client's request for the DescribeStep 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 DescribeStep for more information on using the DescribeStep 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 DescribeStepRequest method. 913// req, resp := client.DescribeStepRequest(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/DescribeStep 921func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) { 922 op := &request.Operation{ 923 Name: opDescribeStep, 924 HTTPMethod: "POST", 925 HTTPPath: "/", 926 } 927 928 if input == nil { 929 input = &DescribeStepInput{} 930 } 931 932 output = &DescribeStepOutput{} 933 req = c.newRequest(op, input, output) 934 return 935} 936 937// DescribeStep API operation for Amazon Elastic MapReduce. 938// 939// Provides more detail about the cluster step. 940// 941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 942// with awserr.Error's Code and Message methods to get detailed information about 943// the error. 944// 945// See the AWS API reference guide for Amazon Elastic MapReduce's 946// API operation DescribeStep for usage and error information. 947// 948// Returned Error Types: 949// * InternalServerException 950// This exception occurs when there is an internal failure in the EMR service. 951// 952// * InvalidRequestException 953// This exception occurs when there is something wrong with user input. 954// 955// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep 956func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) { 957 req, out := c.DescribeStepRequest(input) 958 return out, req.Send() 959} 960 961// DescribeStepWithContext is the same as DescribeStep with the addition of 962// the ability to pass a context and additional request options. 963// 964// See DescribeStep for details on how to use this API operation. 965// 966// The context must be non-nil and will be used for request cancellation. If 967// the context is nil a panic will occur. In the future the SDK may create 968// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 969// for more information on using Contexts. 970func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) { 971 req, out := c.DescribeStepRequest(input) 972 req.SetContext(ctx) 973 req.ApplyOptions(opts...) 974 return out, req.Send() 975} 976 977const opGetBlockPublicAccessConfiguration = "GetBlockPublicAccessConfiguration" 978 979// GetBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 980// client's request for the GetBlockPublicAccessConfiguration operation. The "output" return 981// value will be populated with the request's response once the request completes 982// successfully. 983// 984// Use "Send" method on the returned Request to send the API call to the service. 985// the "output" return value is not valid until after Send returns without error. 986// 987// See GetBlockPublicAccessConfiguration for more information on using the GetBlockPublicAccessConfiguration 988// API call, and error handling. 989// 990// This method is useful when you want to inject custom logic or configuration 991// into the SDK's request lifecycle. Such as custom headers, or retry logic. 992// 993// 994// // Example sending a request using the GetBlockPublicAccessConfigurationRequest method. 995// req, resp := client.GetBlockPublicAccessConfigurationRequest(params) 996// 997// err := req.Send() 998// if err == nil { // resp is now filled 999// fmt.Println(resp) 1000// } 1001// 1002// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1003func (c *EMR) GetBlockPublicAccessConfigurationRequest(input *GetBlockPublicAccessConfigurationInput) (req *request.Request, output *GetBlockPublicAccessConfigurationOutput) { 1004 op := &request.Operation{ 1005 Name: opGetBlockPublicAccessConfiguration, 1006 HTTPMethod: "POST", 1007 HTTPPath: "/", 1008 } 1009 1010 if input == nil { 1011 input = &GetBlockPublicAccessConfigurationInput{} 1012 } 1013 1014 output = &GetBlockPublicAccessConfigurationOutput{} 1015 req = c.newRequest(op, input, output) 1016 return 1017} 1018 1019// GetBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 1020// 1021// Returns the Amazon EMR block public access configuration for your AWS account 1022// in the current Region. For more information see Configure Block Public Access 1023// for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 1024// in the Amazon EMR Management Guide. 1025// 1026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1027// with awserr.Error's Code and Message methods to get detailed information about 1028// the error. 1029// 1030// See the AWS API reference guide for Amazon Elastic MapReduce's 1031// API operation GetBlockPublicAccessConfiguration for usage and error information. 1032// 1033// Returned Error Types: 1034// * InternalServerException 1035// This exception occurs when there is an internal failure in the EMR service. 1036// 1037// * InvalidRequestException 1038// This exception occurs when there is something wrong with user input. 1039// 1040// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetBlockPublicAccessConfiguration 1041func (c *EMR) GetBlockPublicAccessConfiguration(input *GetBlockPublicAccessConfigurationInput) (*GetBlockPublicAccessConfigurationOutput, error) { 1042 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1043 return out, req.Send() 1044} 1045 1046// GetBlockPublicAccessConfigurationWithContext is the same as GetBlockPublicAccessConfiguration with the addition of 1047// the ability to pass a context and additional request options. 1048// 1049// See GetBlockPublicAccessConfiguration for details on how to use this API operation. 1050// 1051// The context must be non-nil and will be used for request cancellation. If 1052// the context is nil a panic will occur. In the future the SDK may create 1053// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1054// for more information on using Contexts. 1055func (c *EMR) GetBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *GetBlockPublicAccessConfigurationInput, opts ...request.Option) (*GetBlockPublicAccessConfigurationOutput, error) { 1056 req, out := c.GetBlockPublicAccessConfigurationRequest(input) 1057 req.SetContext(ctx) 1058 req.ApplyOptions(opts...) 1059 return out, req.Send() 1060} 1061 1062const opGetManagedScalingPolicy = "GetManagedScalingPolicy" 1063 1064// GetManagedScalingPolicyRequest generates a "aws/request.Request" representing the 1065// client's request for the GetManagedScalingPolicy operation. The "output" return 1066// value will be populated with the request's response once the request completes 1067// successfully. 1068// 1069// Use "Send" method on the returned Request to send the API call to the service. 1070// the "output" return value is not valid until after Send returns without error. 1071// 1072// See GetManagedScalingPolicy for more information on using the GetManagedScalingPolicy 1073// API call, and error handling. 1074// 1075// This method is useful when you want to inject custom logic or configuration 1076// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1077// 1078// 1079// // Example sending a request using the GetManagedScalingPolicyRequest method. 1080// req, resp := client.GetManagedScalingPolicyRequest(params) 1081// 1082// err := req.Send() 1083// if err == nil { // resp is now filled 1084// fmt.Println(resp) 1085// } 1086// 1087// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1088func (c *EMR) GetManagedScalingPolicyRequest(input *GetManagedScalingPolicyInput) (req *request.Request, output *GetManagedScalingPolicyOutput) { 1089 op := &request.Operation{ 1090 Name: opGetManagedScalingPolicy, 1091 HTTPMethod: "POST", 1092 HTTPPath: "/", 1093 } 1094 1095 if input == nil { 1096 input = &GetManagedScalingPolicyInput{} 1097 } 1098 1099 output = &GetManagedScalingPolicyOutput{} 1100 req = c.newRequest(op, input, output) 1101 return 1102} 1103 1104// GetManagedScalingPolicy API operation for Amazon Elastic MapReduce. 1105// 1106// Fetches the attached managed scaling policy for an Amazon EMR cluster. 1107// 1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1109// with awserr.Error's Code and Message methods to get detailed information about 1110// the error. 1111// 1112// See the AWS API reference guide for Amazon Elastic MapReduce's 1113// API operation GetManagedScalingPolicy for usage and error information. 1114// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/GetManagedScalingPolicy 1115func (c *EMR) GetManagedScalingPolicy(input *GetManagedScalingPolicyInput) (*GetManagedScalingPolicyOutput, error) { 1116 req, out := c.GetManagedScalingPolicyRequest(input) 1117 return out, req.Send() 1118} 1119 1120// GetManagedScalingPolicyWithContext is the same as GetManagedScalingPolicy with the addition of 1121// the ability to pass a context and additional request options. 1122// 1123// See GetManagedScalingPolicy for details on how to use this API operation. 1124// 1125// The context must be non-nil and will be used for request cancellation. If 1126// the context is nil a panic will occur. In the future the SDK may create 1127// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1128// for more information on using Contexts. 1129func (c *EMR) GetManagedScalingPolicyWithContext(ctx aws.Context, input *GetManagedScalingPolicyInput, opts ...request.Option) (*GetManagedScalingPolicyOutput, error) { 1130 req, out := c.GetManagedScalingPolicyRequest(input) 1131 req.SetContext(ctx) 1132 req.ApplyOptions(opts...) 1133 return out, req.Send() 1134} 1135 1136const opListBootstrapActions = "ListBootstrapActions" 1137 1138// ListBootstrapActionsRequest generates a "aws/request.Request" representing the 1139// client's request for the ListBootstrapActions operation. The "output" return 1140// value will be populated with the request's response once the request completes 1141// successfully. 1142// 1143// Use "Send" method on the returned Request to send the API call to the service. 1144// the "output" return value is not valid until after Send returns without error. 1145// 1146// See ListBootstrapActions for more information on using the ListBootstrapActions 1147// API call, and error handling. 1148// 1149// This method is useful when you want to inject custom logic or configuration 1150// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1151// 1152// 1153// // Example sending a request using the ListBootstrapActionsRequest method. 1154// req, resp := client.ListBootstrapActionsRequest(params) 1155// 1156// err := req.Send() 1157// if err == nil { // resp is now filled 1158// fmt.Println(resp) 1159// } 1160// 1161// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1162func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) { 1163 op := &request.Operation{ 1164 Name: opListBootstrapActions, 1165 HTTPMethod: "POST", 1166 HTTPPath: "/", 1167 Paginator: &request.Paginator{ 1168 InputTokens: []string{"Marker"}, 1169 OutputTokens: []string{"Marker"}, 1170 LimitToken: "", 1171 TruncationToken: "", 1172 }, 1173 } 1174 1175 if input == nil { 1176 input = &ListBootstrapActionsInput{} 1177 } 1178 1179 output = &ListBootstrapActionsOutput{} 1180 req = c.newRequest(op, input, output) 1181 return 1182} 1183 1184// ListBootstrapActions API operation for Amazon Elastic MapReduce. 1185// 1186// Provides information about the bootstrap actions associated with a cluster. 1187// 1188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1189// with awserr.Error's Code and Message methods to get detailed information about 1190// the error. 1191// 1192// See the AWS API reference guide for Amazon Elastic MapReduce's 1193// API operation ListBootstrapActions for usage and error information. 1194// 1195// Returned Error Types: 1196// * InternalServerException 1197// This exception occurs when there is an internal failure in the EMR service. 1198// 1199// * InvalidRequestException 1200// This exception occurs when there is something wrong with user input. 1201// 1202// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions 1203func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) { 1204 req, out := c.ListBootstrapActionsRequest(input) 1205 return out, req.Send() 1206} 1207 1208// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of 1209// the ability to pass a context and additional request options. 1210// 1211// See ListBootstrapActions for details on how to use this API operation. 1212// 1213// The context must be non-nil and will be used for request cancellation. If 1214// the context is nil a panic will occur. In the future the SDK may create 1215// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1216// for more information on using Contexts. 1217func (c *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) { 1218 req, out := c.ListBootstrapActionsRequest(input) 1219 req.SetContext(ctx) 1220 req.ApplyOptions(opts...) 1221 return out, req.Send() 1222} 1223 1224// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation, 1225// calling the "fn" function with the response data for each page. To stop 1226// iterating, return false from the fn function. 1227// 1228// See ListBootstrapActions method for more information on how to use this operation. 1229// 1230// Note: This operation can generate multiple requests to a service. 1231// 1232// // Example iterating over at most 3 pages of a ListBootstrapActions operation. 1233// pageNum := 0 1234// err := client.ListBootstrapActionsPages(params, 1235// func(page *emr.ListBootstrapActionsOutput, lastPage bool) bool { 1236// pageNum++ 1237// fmt.Println(page) 1238// return pageNum <= 3 1239// }) 1240// 1241func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error { 1242 return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn) 1243} 1244 1245// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except 1246// it takes a Context and allows setting request options on the pages. 1247// 1248// The context must be non-nil and will be used for request cancellation. If 1249// the context is nil a panic will occur. In the future the SDK may create 1250// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1251// for more information on using Contexts. 1252func (c *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error { 1253 p := request.Pagination{ 1254 NewRequest: func() (*request.Request, error) { 1255 var inCpy *ListBootstrapActionsInput 1256 if input != nil { 1257 tmp := *input 1258 inCpy = &tmp 1259 } 1260 req, _ := c.ListBootstrapActionsRequest(inCpy) 1261 req.SetContext(ctx) 1262 req.ApplyOptions(opts...) 1263 return req, nil 1264 }, 1265 } 1266 1267 for p.Next() { 1268 if !fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage()) { 1269 break 1270 } 1271 } 1272 1273 return p.Err() 1274} 1275 1276const opListClusters = "ListClusters" 1277 1278// ListClustersRequest generates a "aws/request.Request" representing the 1279// client's request for the ListClusters operation. The "output" return 1280// value will be populated with the request's response once the request completes 1281// successfully. 1282// 1283// Use "Send" method on the returned Request to send the API call to the service. 1284// the "output" return value is not valid until after Send returns without error. 1285// 1286// See ListClusters for more information on using the ListClusters 1287// API call, and error handling. 1288// 1289// This method is useful when you want to inject custom logic or configuration 1290// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1291// 1292// 1293// // Example sending a request using the ListClustersRequest method. 1294// req, resp := client.ListClustersRequest(params) 1295// 1296// err := req.Send() 1297// if err == nil { // resp is now filled 1298// fmt.Println(resp) 1299// } 1300// 1301// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1302func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1303 op := &request.Operation{ 1304 Name: opListClusters, 1305 HTTPMethod: "POST", 1306 HTTPPath: "/", 1307 Paginator: &request.Paginator{ 1308 InputTokens: []string{"Marker"}, 1309 OutputTokens: []string{"Marker"}, 1310 LimitToken: "", 1311 TruncationToken: "", 1312 }, 1313 } 1314 1315 if input == nil { 1316 input = &ListClustersInput{} 1317 } 1318 1319 output = &ListClustersOutput{} 1320 req = c.newRequest(op, input, output) 1321 return 1322} 1323 1324// ListClusters API operation for Amazon Elastic MapReduce. 1325// 1326// Provides the status of all clusters visible to this AWS account. Allows you 1327// to filter the list of clusters based on certain criteria; for example, filtering 1328// by cluster creation date and time or by status. This call returns a maximum 1329// of 50 clusters per call, but returns a marker to track the paging of the 1330// cluster list across multiple ListClusters calls. 1331// 1332// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1333// with awserr.Error's Code and Message methods to get detailed information about 1334// the error. 1335// 1336// See the AWS API reference guide for Amazon Elastic MapReduce's 1337// API operation ListClusters for usage and error information. 1338// 1339// Returned Error Types: 1340// * InternalServerException 1341// This exception occurs when there is an internal failure in the EMR service. 1342// 1343// * InvalidRequestException 1344// This exception occurs when there is something wrong with user input. 1345// 1346// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters 1347func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1348 req, out := c.ListClustersRequest(input) 1349 return out, req.Send() 1350} 1351 1352// ListClustersWithContext is the same as ListClusters with the addition of 1353// the ability to pass a context and additional request options. 1354// 1355// See ListClusters for details on how to use this API operation. 1356// 1357// The context must be non-nil and will be used for request cancellation. If 1358// the context is nil a panic will occur. In the future the SDK may create 1359// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1360// for more information on using Contexts. 1361func (c *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1362 req, out := c.ListClustersRequest(input) 1363 req.SetContext(ctx) 1364 req.ApplyOptions(opts...) 1365 return out, req.Send() 1366} 1367 1368// ListClustersPages iterates over the pages of a ListClusters operation, 1369// calling the "fn" function with the response data for each page. To stop 1370// iterating, return false from the fn function. 1371// 1372// See ListClusters method for more information on how to use this operation. 1373// 1374// Note: This operation can generate multiple requests to a service. 1375// 1376// // Example iterating over at most 3 pages of a ListClusters operation. 1377// pageNum := 0 1378// err := client.ListClustersPages(params, 1379// func(page *emr.ListClustersOutput, lastPage bool) bool { 1380// pageNum++ 1381// fmt.Println(page) 1382// return pageNum <= 3 1383// }) 1384// 1385func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { 1386 return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) 1387} 1388 1389// ListClustersPagesWithContext same as ListClustersPages except 1390// it takes a Context and allows setting request options on the pages. 1391// 1392// The context must be non-nil and will be used for request cancellation. If 1393// the context is nil a panic will occur. In the future the SDK may create 1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1395// for more information on using Contexts. 1396func (c *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { 1397 p := request.Pagination{ 1398 NewRequest: func() (*request.Request, error) { 1399 var inCpy *ListClustersInput 1400 if input != nil { 1401 tmp := *input 1402 inCpy = &tmp 1403 } 1404 req, _ := c.ListClustersRequest(inCpy) 1405 req.SetContext(ctx) 1406 req.ApplyOptions(opts...) 1407 return req, nil 1408 }, 1409 } 1410 1411 for p.Next() { 1412 if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { 1413 break 1414 } 1415 } 1416 1417 return p.Err() 1418} 1419 1420const opListInstanceFleets = "ListInstanceFleets" 1421 1422// ListInstanceFleetsRequest generates a "aws/request.Request" representing the 1423// client's request for the ListInstanceFleets operation. The "output" return 1424// value will be populated with the request's response once the request completes 1425// successfully. 1426// 1427// Use "Send" method on the returned Request to send the API call to the service. 1428// the "output" return value is not valid until after Send returns without error. 1429// 1430// See ListInstanceFleets for more information on using the ListInstanceFleets 1431// API call, and error handling. 1432// 1433// This method is useful when you want to inject custom logic or configuration 1434// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1435// 1436// 1437// // Example sending a request using the ListInstanceFleetsRequest method. 1438// req, resp := client.ListInstanceFleetsRequest(params) 1439// 1440// err := req.Send() 1441// if err == nil { // resp is now filled 1442// fmt.Println(resp) 1443// } 1444// 1445// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 1446func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) { 1447 op := &request.Operation{ 1448 Name: opListInstanceFleets, 1449 HTTPMethod: "POST", 1450 HTTPPath: "/", 1451 Paginator: &request.Paginator{ 1452 InputTokens: []string{"Marker"}, 1453 OutputTokens: []string{"Marker"}, 1454 LimitToken: "", 1455 TruncationToken: "", 1456 }, 1457 } 1458 1459 if input == nil { 1460 input = &ListInstanceFleetsInput{} 1461 } 1462 1463 output = &ListInstanceFleetsOutput{} 1464 req = c.newRequest(op, input, output) 1465 return 1466} 1467 1468// ListInstanceFleets API operation for Amazon Elastic MapReduce. 1469// 1470// Lists all available details about the instance fleets in a cluster. 1471// 1472// The instance fleet configuration is available only in Amazon EMR versions 1473// 4.8.0 and later, excluding 5.0.x versions. 1474// 1475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1476// with awserr.Error's Code and Message methods to get detailed information about 1477// the error. 1478// 1479// See the AWS API reference guide for Amazon Elastic MapReduce's 1480// API operation ListInstanceFleets for usage and error information. 1481// 1482// Returned Error Types: 1483// * InternalServerException 1484// This exception occurs when there is an internal failure in the EMR service. 1485// 1486// * InvalidRequestException 1487// This exception occurs when there is something wrong with user input. 1488// 1489// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets 1490func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) { 1491 req, out := c.ListInstanceFleetsRequest(input) 1492 return out, req.Send() 1493} 1494 1495// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of 1496// the ability to pass a context and additional request options. 1497// 1498// See ListInstanceFleets for details on how to use this API operation. 1499// 1500// The context must be non-nil and will be used for request cancellation. If 1501// the context is nil a panic will occur. In the future the SDK may create 1502// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1503// for more information on using Contexts. 1504func (c *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) { 1505 req, out := c.ListInstanceFleetsRequest(input) 1506 req.SetContext(ctx) 1507 req.ApplyOptions(opts...) 1508 return out, req.Send() 1509} 1510 1511// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation, 1512// calling the "fn" function with the response data for each page. To stop 1513// iterating, return false from the fn function. 1514// 1515// See ListInstanceFleets method for more information on how to use this operation. 1516// 1517// Note: This operation can generate multiple requests to a service. 1518// 1519// // Example iterating over at most 3 pages of a ListInstanceFleets operation. 1520// pageNum := 0 1521// err := client.ListInstanceFleetsPages(params, 1522// func(page *emr.ListInstanceFleetsOutput, lastPage bool) bool { 1523// pageNum++ 1524// fmt.Println(page) 1525// return pageNum <= 3 1526// }) 1527// 1528func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error { 1529 return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn) 1530} 1531 1532// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except 1533// it takes a Context and allows setting request options on the pages. 1534// 1535// The context must be non-nil and will be used for request cancellation. If 1536// the context is nil a panic will occur. In the future the SDK may create 1537// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1538// for more information on using Contexts. 1539func (c *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error { 1540 p := request.Pagination{ 1541 NewRequest: func() (*request.Request, error) { 1542 var inCpy *ListInstanceFleetsInput 1543 if input != nil { 1544 tmp := *input 1545 inCpy = &tmp 1546 } 1547 req, _ := c.ListInstanceFleetsRequest(inCpy) 1548 req.SetContext(ctx) 1549 req.ApplyOptions(opts...) 1550 return req, nil 1551 }, 1552 } 1553 1554 for p.Next() { 1555 if !fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage()) { 1556 break 1557 } 1558 } 1559 1560 return p.Err() 1561} 1562 1563const opListInstanceGroups = "ListInstanceGroups" 1564 1565// ListInstanceGroupsRequest generates a "aws/request.Request" representing the 1566// client's request for the ListInstanceGroups operation. The "output" return 1567// value will be populated with the request's response once the request completes 1568// successfully. 1569// 1570// Use "Send" method on the returned Request to send the API call to the service. 1571// the "output" return value is not valid until after Send returns without error. 1572// 1573// See ListInstanceGroups for more information on using the ListInstanceGroups 1574// API call, and error handling. 1575// 1576// This method is useful when you want to inject custom logic or configuration 1577// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1578// 1579// 1580// // Example sending a request using the ListInstanceGroupsRequest method. 1581// req, resp := client.ListInstanceGroupsRequest(params) 1582// 1583// err := req.Send() 1584// if err == nil { // resp is now filled 1585// fmt.Println(resp) 1586// } 1587// 1588// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 1589func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) { 1590 op := &request.Operation{ 1591 Name: opListInstanceGroups, 1592 HTTPMethod: "POST", 1593 HTTPPath: "/", 1594 Paginator: &request.Paginator{ 1595 InputTokens: []string{"Marker"}, 1596 OutputTokens: []string{"Marker"}, 1597 LimitToken: "", 1598 TruncationToken: "", 1599 }, 1600 } 1601 1602 if input == nil { 1603 input = &ListInstanceGroupsInput{} 1604 } 1605 1606 output = &ListInstanceGroupsOutput{} 1607 req = c.newRequest(op, input, output) 1608 return 1609} 1610 1611// ListInstanceGroups API operation for Amazon Elastic MapReduce. 1612// 1613// Provides all available details about the instance groups in a cluster. 1614// 1615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1616// with awserr.Error's Code and Message methods to get detailed information about 1617// the error. 1618// 1619// See the AWS API reference guide for Amazon Elastic MapReduce's 1620// API operation ListInstanceGroups for usage and error information. 1621// 1622// Returned Error Types: 1623// * InternalServerException 1624// This exception occurs when there is an internal failure in the EMR service. 1625// 1626// * InvalidRequestException 1627// This exception occurs when there is something wrong with user input. 1628// 1629// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups 1630func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) { 1631 req, out := c.ListInstanceGroupsRequest(input) 1632 return out, req.Send() 1633} 1634 1635// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of 1636// the ability to pass a context and additional request options. 1637// 1638// See ListInstanceGroups for details on how to use this API operation. 1639// 1640// The context must be non-nil and will be used for request cancellation. If 1641// the context is nil a panic will occur. In the future the SDK may create 1642// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1643// for more information on using Contexts. 1644func (c *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) { 1645 req, out := c.ListInstanceGroupsRequest(input) 1646 req.SetContext(ctx) 1647 req.ApplyOptions(opts...) 1648 return out, req.Send() 1649} 1650 1651// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation, 1652// calling the "fn" function with the response data for each page. To stop 1653// iterating, return false from the fn function. 1654// 1655// See ListInstanceGroups method for more information on how to use this operation. 1656// 1657// Note: This operation can generate multiple requests to a service. 1658// 1659// // Example iterating over at most 3 pages of a ListInstanceGroups operation. 1660// pageNum := 0 1661// err := client.ListInstanceGroupsPages(params, 1662// func(page *emr.ListInstanceGroupsOutput, lastPage bool) bool { 1663// pageNum++ 1664// fmt.Println(page) 1665// return pageNum <= 3 1666// }) 1667// 1668func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error { 1669 return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1670} 1671 1672// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except 1673// it takes a Context and allows setting request options on the pages. 1674// 1675// The context must be non-nil and will be used for request cancellation. If 1676// the context is nil a panic will occur. In the future the SDK may create 1677// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1678// for more information on using Contexts. 1679func (c *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error { 1680 p := request.Pagination{ 1681 NewRequest: func() (*request.Request, error) { 1682 var inCpy *ListInstanceGroupsInput 1683 if input != nil { 1684 tmp := *input 1685 inCpy = &tmp 1686 } 1687 req, _ := c.ListInstanceGroupsRequest(inCpy) 1688 req.SetContext(ctx) 1689 req.ApplyOptions(opts...) 1690 return req, nil 1691 }, 1692 } 1693 1694 for p.Next() { 1695 if !fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage()) { 1696 break 1697 } 1698 } 1699 1700 return p.Err() 1701} 1702 1703const opListInstances = "ListInstances" 1704 1705// ListInstancesRequest generates a "aws/request.Request" representing the 1706// client's request for the ListInstances operation. The "output" return 1707// value will be populated with the request's response once the request completes 1708// successfully. 1709// 1710// Use "Send" method on the returned Request to send the API call to the service. 1711// the "output" return value is not valid until after Send returns without error. 1712// 1713// See ListInstances for more information on using the ListInstances 1714// API call, and error handling. 1715// 1716// This method is useful when you want to inject custom logic or configuration 1717// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1718// 1719// 1720// // Example sending a request using the ListInstancesRequest method. 1721// req, resp := client.ListInstancesRequest(params) 1722// 1723// err := req.Send() 1724// if err == nil { // resp is now filled 1725// fmt.Println(resp) 1726// } 1727// 1728// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 1729func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) { 1730 op := &request.Operation{ 1731 Name: opListInstances, 1732 HTTPMethod: "POST", 1733 HTTPPath: "/", 1734 Paginator: &request.Paginator{ 1735 InputTokens: []string{"Marker"}, 1736 OutputTokens: []string{"Marker"}, 1737 LimitToken: "", 1738 TruncationToken: "", 1739 }, 1740 } 1741 1742 if input == nil { 1743 input = &ListInstancesInput{} 1744 } 1745 1746 output = &ListInstancesOutput{} 1747 req = c.newRequest(op, input, output) 1748 return 1749} 1750 1751// ListInstances API operation for Amazon Elastic MapReduce. 1752// 1753// Provides information for all active EC2 instances and EC2 instances terminated 1754// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the 1755// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING, 1756// BOOTSTRAPPING, RUNNING. 1757// 1758// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1759// with awserr.Error's Code and Message methods to get detailed information about 1760// the error. 1761// 1762// See the AWS API reference guide for Amazon Elastic MapReduce's 1763// API operation ListInstances for usage and error information. 1764// 1765// Returned Error Types: 1766// * InternalServerException 1767// This exception occurs when there is an internal failure in the EMR service. 1768// 1769// * InvalidRequestException 1770// This exception occurs when there is something wrong with user input. 1771// 1772// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances 1773func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) { 1774 req, out := c.ListInstancesRequest(input) 1775 return out, req.Send() 1776} 1777 1778// ListInstancesWithContext is the same as ListInstances with the addition of 1779// the ability to pass a context and additional request options. 1780// 1781// See ListInstances for details on how to use this API operation. 1782// 1783// The context must be non-nil and will be used for request cancellation. If 1784// the context is nil a panic will occur. In the future the SDK may create 1785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1786// for more information on using Contexts. 1787func (c *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) { 1788 req, out := c.ListInstancesRequest(input) 1789 req.SetContext(ctx) 1790 req.ApplyOptions(opts...) 1791 return out, req.Send() 1792} 1793 1794// ListInstancesPages iterates over the pages of a ListInstances operation, 1795// calling the "fn" function with the response data for each page. To stop 1796// iterating, return false from the fn function. 1797// 1798// See ListInstances method for more information on how to use this operation. 1799// 1800// Note: This operation can generate multiple requests to a service. 1801// 1802// // Example iterating over at most 3 pages of a ListInstances operation. 1803// pageNum := 0 1804// err := client.ListInstancesPages(params, 1805// func(page *emr.ListInstancesOutput, lastPage bool) bool { 1806// pageNum++ 1807// fmt.Println(page) 1808// return pageNum <= 3 1809// }) 1810// 1811func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error { 1812 return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn) 1813} 1814 1815// ListInstancesPagesWithContext same as ListInstancesPages except 1816// it takes a Context and allows setting request options on the pages. 1817// 1818// The context must be non-nil and will be used for request cancellation. If 1819// the context is nil a panic will occur. In the future the SDK may create 1820// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1821// for more information on using Contexts. 1822func (c *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error { 1823 p := request.Pagination{ 1824 NewRequest: func() (*request.Request, error) { 1825 var inCpy *ListInstancesInput 1826 if input != nil { 1827 tmp := *input 1828 inCpy = &tmp 1829 } 1830 req, _ := c.ListInstancesRequest(inCpy) 1831 req.SetContext(ctx) 1832 req.ApplyOptions(opts...) 1833 return req, nil 1834 }, 1835 } 1836 1837 for p.Next() { 1838 if !fn(p.Page().(*ListInstancesOutput), !p.HasNextPage()) { 1839 break 1840 } 1841 } 1842 1843 return p.Err() 1844} 1845 1846const opListSecurityConfigurations = "ListSecurityConfigurations" 1847 1848// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the 1849// client's request for the ListSecurityConfigurations operation. The "output" return 1850// value will be populated with the request's response once the request completes 1851// successfully. 1852// 1853// Use "Send" method on the returned Request to send the API call to the service. 1854// the "output" return value is not valid until after Send returns without error. 1855// 1856// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations 1857// API call, and error handling. 1858// 1859// This method is useful when you want to inject custom logic or configuration 1860// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1861// 1862// 1863// // Example sending a request using the ListSecurityConfigurationsRequest method. 1864// req, resp := client.ListSecurityConfigurationsRequest(params) 1865// 1866// err := req.Send() 1867// if err == nil { // resp is now filled 1868// fmt.Println(resp) 1869// } 1870// 1871// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 1872func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) { 1873 op := &request.Operation{ 1874 Name: opListSecurityConfigurations, 1875 HTTPMethod: "POST", 1876 HTTPPath: "/", 1877 Paginator: &request.Paginator{ 1878 InputTokens: []string{"Marker"}, 1879 OutputTokens: []string{"Marker"}, 1880 LimitToken: "", 1881 TruncationToken: "", 1882 }, 1883 } 1884 1885 if input == nil { 1886 input = &ListSecurityConfigurationsInput{} 1887 } 1888 1889 output = &ListSecurityConfigurationsOutput{} 1890 req = c.newRequest(op, input, output) 1891 return 1892} 1893 1894// ListSecurityConfigurations API operation for Amazon Elastic MapReduce. 1895// 1896// Lists all the security configurations visible to this account, providing 1897// their creation dates and times, and their names. This call returns a maximum 1898// of 50 clusters per call, but returns a marker to track the paging of the 1899// cluster list across multiple ListSecurityConfigurations calls. 1900// 1901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1902// with awserr.Error's Code and Message methods to get detailed information about 1903// the error. 1904// 1905// See the AWS API reference guide for Amazon Elastic MapReduce's 1906// API operation ListSecurityConfigurations for usage and error information. 1907// 1908// Returned Error Types: 1909// * InternalServerException 1910// This exception occurs when there is an internal failure in the EMR service. 1911// 1912// * InvalidRequestException 1913// This exception occurs when there is something wrong with user input. 1914// 1915// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations 1916func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) { 1917 req, out := c.ListSecurityConfigurationsRequest(input) 1918 return out, req.Send() 1919} 1920 1921// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of 1922// the ability to pass a context and additional request options. 1923// 1924// See ListSecurityConfigurations for details on how to use this API operation. 1925// 1926// The context must be non-nil and will be used for request cancellation. If 1927// the context is nil a panic will occur. In the future the SDK may create 1928// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1929// for more information on using Contexts. 1930func (c *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) { 1931 req, out := c.ListSecurityConfigurationsRequest(input) 1932 req.SetContext(ctx) 1933 req.ApplyOptions(opts...) 1934 return out, req.Send() 1935} 1936 1937// ListSecurityConfigurationsPages iterates over the pages of a ListSecurityConfigurations operation, 1938// calling the "fn" function with the response data for each page. To stop 1939// iterating, return false from the fn function. 1940// 1941// See ListSecurityConfigurations method for more information on how to use this operation. 1942// 1943// Note: This operation can generate multiple requests to a service. 1944// 1945// // Example iterating over at most 3 pages of a ListSecurityConfigurations operation. 1946// pageNum := 0 1947// err := client.ListSecurityConfigurationsPages(params, 1948// func(page *emr.ListSecurityConfigurationsOutput, lastPage bool) bool { 1949// pageNum++ 1950// fmt.Println(page) 1951// return pageNum <= 3 1952// }) 1953// 1954func (c *EMR) ListSecurityConfigurationsPages(input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool) error { 1955 return c.ListSecurityConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 1956} 1957 1958// ListSecurityConfigurationsPagesWithContext same as ListSecurityConfigurationsPages except 1959// it takes a Context and allows setting request options on the pages. 1960// 1961// The context must be non-nil and will be used for request cancellation. If 1962// the context is nil a panic will occur. In the future the SDK may create 1963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1964// for more information on using Contexts. 1965func (c *EMR) ListSecurityConfigurationsPagesWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, fn func(*ListSecurityConfigurationsOutput, bool) bool, opts ...request.Option) error { 1966 p := request.Pagination{ 1967 NewRequest: func() (*request.Request, error) { 1968 var inCpy *ListSecurityConfigurationsInput 1969 if input != nil { 1970 tmp := *input 1971 inCpy = &tmp 1972 } 1973 req, _ := c.ListSecurityConfigurationsRequest(inCpy) 1974 req.SetContext(ctx) 1975 req.ApplyOptions(opts...) 1976 return req, nil 1977 }, 1978 } 1979 1980 for p.Next() { 1981 if !fn(p.Page().(*ListSecurityConfigurationsOutput), !p.HasNextPage()) { 1982 break 1983 } 1984 } 1985 1986 return p.Err() 1987} 1988 1989const opListSteps = "ListSteps" 1990 1991// ListStepsRequest generates a "aws/request.Request" representing the 1992// client's request for the ListSteps operation. The "output" return 1993// value will be populated with the request's response once the request completes 1994// successfully. 1995// 1996// Use "Send" method on the returned Request to send the API call to the service. 1997// the "output" return value is not valid until after Send returns without error. 1998// 1999// See ListSteps for more information on using the ListSteps 2000// API call, and error handling. 2001// 2002// This method is useful when you want to inject custom logic or configuration 2003// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2004// 2005// 2006// // Example sending a request using the ListStepsRequest method. 2007// req, resp := client.ListStepsRequest(params) 2008// 2009// err := req.Send() 2010// if err == nil { // resp is now filled 2011// fmt.Println(resp) 2012// } 2013// 2014// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2015func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) { 2016 op := &request.Operation{ 2017 Name: opListSteps, 2018 HTTPMethod: "POST", 2019 HTTPPath: "/", 2020 Paginator: &request.Paginator{ 2021 InputTokens: []string{"Marker"}, 2022 OutputTokens: []string{"Marker"}, 2023 LimitToken: "", 2024 TruncationToken: "", 2025 }, 2026 } 2027 2028 if input == nil { 2029 input = &ListStepsInput{} 2030 } 2031 2032 output = &ListStepsOutput{} 2033 req = c.newRequest(op, input, output) 2034 return 2035} 2036 2037// ListSteps API operation for Amazon Elastic MapReduce. 2038// 2039// Provides a list of steps for the cluster in reverse order unless you specify 2040// stepIds with the request of filter by StepStates. You can specify a maximum 2041// of ten stepIDs. 2042// 2043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2044// with awserr.Error's Code and Message methods to get detailed information about 2045// the error. 2046// 2047// See the AWS API reference guide for Amazon Elastic MapReduce's 2048// API operation ListSteps for usage and error information. 2049// 2050// Returned Error Types: 2051// * InternalServerException 2052// This exception occurs when there is an internal failure in the EMR service. 2053// 2054// * InvalidRequestException 2055// This exception occurs when there is something wrong with user input. 2056// 2057// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps 2058func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) { 2059 req, out := c.ListStepsRequest(input) 2060 return out, req.Send() 2061} 2062 2063// ListStepsWithContext is the same as ListSteps with the addition of 2064// the ability to pass a context and additional request options. 2065// 2066// See ListSteps for details on how to use this API operation. 2067// 2068// The context must be non-nil and will be used for request cancellation. If 2069// the context is nil a panic will occur. In the future the SDK may create 2070// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2071// for more information on using Contexts. 2072func (c *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) { 2073 req, out := c.ListStepsRequest(input) 2074 req.SetContext(ctx) 2075 req.ApplyOptions(opts...) 2076 return out, req.Send() 2077} 2078 2079// ListStepsPages iterates over the pages of a ListSteps operation, 2080// calling the "fn" function with the response data for each page. To stop 2081// iterating, return false from the fn function. 2082// 2083// See ListSteps method for more information on how to use this operation. 2084// 2085// Note: This operation can generate multiple requests to a service. 2086// 2087// // Example iterating over at most 3 pages of a ListSteps operation. 2088// pageNum := 0 2089// err := client.ListStepsPages(params, 2090// func(page *emr.ListStepsOutput, lastPage bool) bool { 2091// pageNum++ 2092// fmt.Println(page) 2093// return pageNum <= 3 2094// }) 2095// 2096func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error { 2097 return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn) 2098} 2099 2100// ListStepsPagesWithContext same as ListStepsPages except 2101// it takes a Context and allows setting request options on the pages. 2102// 2103// The context must be non-nil and will be used for request cancellation. If 2104// the context is nil a panic will occur. In the future the SDK may create 2105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2106// for more information on using Contexts. 2107func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error { 2108 p := request.Pagination{ 2109 NewRequest: func() (*request.Request, error) { 2110 var inCpy *ListStepsInput 2111 if input != nil { 2112 tmp := *input 2113 inCpy = &tmp 2114 } 2115 req, _ := c.ListStepsRequest(inCpy) 2116 req.SetContext(ctx) 2117 req.ApplyOptions(opts...) 2118 return req, nil 2119 }, 2120 } 2121 2122 for p.Next() { 2123 if !fn(p.Page().(*ListStepsOutput), !p.HasNextPage()) { 2124 break 2125 } 2126 } 2127 2128 return p.Err() 2129} 2130 2131const opModifyCluster = "ModifyCluster" 2132 2133// ModifyClusterRequest generates a "aws/request.Request" representing the 2134// client's request for the ModifyCluster operation. The "output" return 2135// value will be populated with the request's response once the request completes 2136// successfully. 2137// 2138// Use "Send" method on the returned Request to send the API call to the service. 2139// the "output" return value is not valid until after Send returns without error. 2140// 2141// See ModifyCluster for more information on using the ModifyCluster 2142// API call, and error handling. 2143// 2144// This method is useful when you want to inject custom logic or configuration 2145// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2146// 2147// 2148// // Example sending a request using the ModifyClusterRequest method. 2149// req, resp := client.ModifyClusterRequest(params) 2150// 2151// err := req.Send() 2152// if err == nil { // resp is now filled 2153// fmt.Println(resp) 2154// } 2155// 2156// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 2157func (c *EMR) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { 2158 op := &request.Operation{ 2159 Name: opModifyCluster, 2160 HTTPMethod: "POST", 2161 HTTPPath: "/", 2162 } 2163 2164 if input == nil { 2165 input = &ModifyClusterInput{} 2166 } 2167 2168 output = &ModifyClusterOutput{} 2169 req = c.newRequest(op, input, output) 2170 return 2171} 2172 2173// ModifyCluster API operation for Amazon Elastic MapReduce. 2174// 2175// Modifies the number of steps that can be executed concurrently for the cluster 2176// specified using ClusterID. 2177// 2178// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2179// with awserr.Error's Code and Message methods to get detailed information about 2180// the error. 2181// 2182// See the AWS API reference guide for Amazon Elastic MapReduce's 2183// API operation ModifyCluster for usage and error information. 2184// 2185// Returned Error Types: 2186// * InternalServerError 2187// Indicates that an error occurred while processing the request and that the 2188// request was not completed. 2189// 2190// * InvalidRequestException 2191// This exception occurs when there is something wrong with user input. 2192// 2193// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyCluster 2194func (c *EMR) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { 2195 req, out := c.ModifyClusterRequest(input) 2196 return out, req.Send() 2197} 2198 2199// ModifyClusterWithContext is the same as ModifyCluster with the addition of 2200// the ability to pass a context and additional request options. 2201// 2202// See ModifyCluster for details on how to use this API operation. 2203// 2204// The context must be non-nil and will be used for request cancellation. If 2205// the context is nil a panic will occur. In the future the SDK may create 2206// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2207// for more information on using Contexts. 2208func (c *EMR) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { 2209 req, out := c.ModifyClusterRequest(input) 2210 req.SetContext(ctx) 2211 req.ApplyOptions(opts...) 2212 return out, req.Send() 2213} 2214 2215const opModifyInstanceFleet = "ModifyInstanceFleet" 2216 2217// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the 2218// client's request for the ModifyInstanceFleet operation. The "output" return 2219// value will be populated with the request's response once the request completes 2220// successfully. 2221// 2222// Use "Send" method on the returned Request to send the API call to the service. 2223// the "output" return value is not valid until after Send returns without error. 2224// 2225// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet 2226// API call, and error handling. 2227// 2228// This method is useful when you want to inject custom logic or configuration 2229// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2230// 2231// 2232// // Example sending a request using the ModifyInstanceFleetRequest method. 2233// req, resp := client.ModifyInstanceFleetRequest(params) 2234// 2235// err := req.Send() 2236// if err == nil { // resp is now filled 2237// fmt.Println(resp) 2238// } 2239// 2240// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 2241func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) { 2242 op := &request.Operation{ 2243 Name: opModifyInstanceFleet, 2244 HTTPMethod: "POST", 2245 HTTPPath: "/", 2246 } 2247 2248 if input == nil { 2249 input = &ModifyInstanceFleetInput{} 2250 } 2251 2252 output = &ModifyInstanceFleetOutput{} 2253 req = c.newRequest(op, input, output) 2254 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2255 return 2256} 2257 2258// ModifyInstanceFleet API operation for Amazon Elastic MapReduce. 2259// 2260// Modifies the target On-Demand and target Spot capacities for the instance 2261// fleet with the specified InstanceFleetID within the cluster specified using 2262// ClusterID. The call either succeeds or fails atomically. 2263// 2264// The instance fleet configuration is available only in Amazon EMR versions 2265// 4.8.0 and later, excluding 5.0.x versions. 2266// 2267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2268// with awserr.Error's Code and Message methods to get detailed information about 2269// the error. 2270// 2271// See the AWS API reference guide for Amazon Elastic MapReduce's 2272// API operation ModifyInstanceFleet for usage and error information. 2273// 2274// Returned Error Types: 2275// * InternalServerException 2276// This exception occurs when there is an internal failure in the EMR service. 2277// 2278// * InvalidRequestException 2279// This exception occurs when there is something wrong with user input. 2280// 2281// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet 2282func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) { 2283 req, out := c.ModifyInstanceFleetRequest(input) 2284 return out, req.Send() 2285} 2286 2287// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of 2288// the ability to pass a context and additional request options. 2289// 2290// See ModifyInstanceFleet for details on how to use this API operation. 2291// 2292// The context must be non-nil and will be used for request cancellation. If 2293// the context is nil a panic will occur. In the future the SDK may create 2294// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2295// for more information on using Contexts. 2296func (c *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) { 2297 req, out := c.ModifyInstanceFleetRequest(input) 2298 req.SetContext(ctx) 2299 req.ApplyOptions(opts...) 2300 return out, req.Send() 2301} 2302 2303const opModifyInstanceGroups = "ModifyInstanceGroups" 2304 2305// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the 2306// client's request for the ModifyInstanceGroups operation. The "output" return 2307// value will be populated with the request's response once the request completes 2308// successfully. 2309// 2310// Use "Send" method on the returned Request to send the API call to the service. 2311// the "output" return value is not valid until after Send returns without error. 2312// 2313// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups 2314// API call, and error handling. 2315// 2316// This method is useful when you want to inject custom logic or configuration 2317// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2318// 2319// 2320// // Example sending a request using the ModifyInstanceGroupsRequest method. 2321// req, resp := client.ModifyInstanceGroupsRequest(params) 2322// 2323// err := req.Send() 2324// if err == nil { // resp is now filled 2325// fmt.Println(resp) 2326// } 2327// 2328// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 2329func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) { 2330 op := &request.Operation{ 2331 Name: opModifyInstanceGroups, 2332 HTTPMethod: "POST", 2333 HTTPPath: "/", 2334 } 2335 2336 if input == nil { 2337 input = &ModifyInstanceGroupsInput{} 2338 } 2339 2340 output = &ModifyInstanceGroupsOutput{} 2341 req = c.newRequest(op, input, output) 2342 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2343 return 2344} 2345 2346// ModifyInstanceGroups API operation for Amazon Elastic MapReduce. 2347// 2348// ModifyInstanceGroups modifies the number of nodes and configuration settings 2349// of an instance group. The input parameters include the new target instance 2350// count for the group and the instance group ID. The call will either succeed 2351// or fail atomically. 2352// 2353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2354// with awserr.Error's Code and Message methods to get detailed information about 2355// the error. 2356// 2357// See the AWS API reference guide for Amazon Elastic MapReduce's 2358// API operation ModifyInstanceGroups for usage and error information. 2359// 2360// Returned Error Types: 2361// * InternalServerError 2362// Indicates that an error occurred while processing the request and that the 2363// request was not completed. 2364// 2365// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups 2366func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) { 2367 req, out := c.ModifyInstanceGroupsRequest(input) 2368 return out, req.Send() 2369} 2370 2371// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of 2372// the ability to pass a context and additional request options. 2373// 2374// See ModifyInstanceGroups for details on how to use this API operation. 2375// 2376// The context must be non-nil and will be used for request cancellation. If 2377// the context is nil a panic will occur. In the future the SDK may create 2378// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2379// for more information on using Contexts. 2380func (c *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) { 2381 req, out := c.ModifyInstanceGroupsRequest(input) 2382 req.SetContext(ctx) 2383 req.ApplyOptions(opts...) 2384 return out, req.Send() 2385} 2386 2387const opPutAutoScalingPolicy = "PutAutoScalingPolicy" 2388 2389// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the 2390// client's request for the PutAutoScalingPolicy operation. The "output" return 2391// value will be populated with the request's response once the request completes 2392// successfully. 2393// 2394// Use "Send" method on the returned Request to send the API call to the service. 2395// the "output" return value is not valid until after Send returns without error. 2396// 2397// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy 2398// API call, and error handling. 2399// 2400// This method is useful when you want to inject custom logic or configuration 2401// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2402// 2403// 2404// // Example sending a request using the PutAutoScalingPolicyRequest method. 2405// req, resp := client.PutAutoScalingPolicyRequest(params) 2406// 2407// err := req.Send() 2408// if err == nil { // resp is now filled 2409// fmt.Println(resp) 2410// } 2411// 2412// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 2413func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) { 2414 op := &request.Operation{ 2415 Name: opPutAutoScalingPolicy, 2416 HTTPMethod: "POST", 2417 HTTPPath: "/", 2418 } 2419 2420 if input == nil { 2421 input = &PutAutoScalingPolicyInput{} 2422 } 2423 2424 output = &PutAutoScalingPolicyOutput{} 2425 req = c.newRequest(op, input, output) 2426 return 2427} 2428 2429// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce. 2430// 2431// Creates or updates an automatic scaling policy for a core instance group 2432// or task instance group in an Amazon EMR cluster. The automatic scaling policy 2433// defines how an instance group dynamically adds and terminates EC2 instances 2434// in response to the value of a CloudWatch metric. 2435// 2436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2437// with awserr.Error's Code and Message methods to get detailed information about 2438// the error. 2439// 2440// See the AWS API reference guide for Amazon Elastic MapReduce's 2441// API operation PutAutoScalingPolicy for usage and error information. 2442// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy 2443func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) { 2444 req, out := c.PutAutoScalingPolicyRequest(input) 2445 return out, req.Send() 2446} 2447 2448// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of 2449// the ability to pass a context and additional request options. 2450// 2451// See PutAutoScalingPolicy for details on how to use this API operation. 2452// 2453// The context must be non-nil and will be used for request cancellation. If 2454// the context is nil a panic will occur. In the future the SDK may create 2455// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2456// for more information on using Contexts. 2457func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) { 2458 req, out := c.PutAutoScalingPolicyRequest(input) 2459 req.SetContext(ctx) 2460 req.ApplyOptions(opts...) 2461 return out, req.Send() 2462} 2463 2464const opPutBlockPublicAccessConfiguration = "PutBlockPublicAccessConfiguration" 2465 2466// PutBlockPublicAccessConfigurationRequest generates a "aws/request.Request" representing the 2467// client's request for the PutBlockPublicAccessConfiguration operation. The "output" return 2468// value will be populated with the request's response once the request completes 2469// successfully. 2470// 2471// Use "Send" method on the returned Request to send the API call to the service. 2472// the "output" return value is not valid until after Send returns without error. 2473// 2474// See PutBlockPublicAccessConfiguration for more information on using the PutBlockPublicAccessConfiguration 2475// API call, and error handling. 2476// 2477// This method is useful when you want to inject custom logic or configuration 2478// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2479// 2480// 2481// // Example sending a request using the PutBlockPublicAccessConfigurationRequest method. 2482// req, resp := client.PutBlockPublicAccessConfigurationRequest(params) 2483// 2484// err := req.Send() 2485// if err == nil { // resp is now filled 2486// fmt.Println(resp) 2487// } 2488// 2489// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 2490func (c *EMR) PutBlockPublicAccessConfigurationRequest(input *PutBlockPublicAccessConfigurationInput) (req *request.Request, output *PutBlockPublicAccessConfigurationOutput) { 2491 op := &request.Operation{ 2492 Name: opPutBlockPublicAccessConfiguration, 2493 HTTPMethod: "POST", 2494 HTTPPath: "/", 2495 } 2496 2497 if input == nil { 2498 input = &PutBlockPublicAccessConfigurationInput{} 2499 } 2500 2501 output = &PutBlockPublicAccessConfigurationOutput{} 2502 req = c.newRequest(op, input, output) 2503 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2504 return 2505} 2506 2507// PutBlockPublicAccessConfiguration API operation for Amazon Elastic MapReduce. 2508// 2509// Creates or updates an Amazon EMR block public access configuration for your 2510// AWS account in the current Region. For more information see Configure Block 2511// Public Access for Amazon EMR (https://docs.aws.amazon.com/emr/latest/ManagementGuide/configure-block-public-access.html) 2512// in the Amazon EMR Management Guide. 2513// 2514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2515// with awserr.Error's Code and Message methods to get detailed information about 2516// the error. 2517// 2518// See the AWS API reference guide for Amazon Elastic MapReduce's 2519// API operation PutBlockPublicAccessConfiguration for usage and error information. 2520// 2521// Returned Error Types: 2522// * InternalServerException 2523// This exception occurs when there is an internal failure in the EMR service. 2524// 2525// * InvalidRequestException 2526// This exception occurs when there is something wrong with user input. 2527// 2528// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutBlockPublicAccessConfiguration 2529func (c *EMR) PutBlockPublicAccessConfiguration(input *PutBlockPublicAccessConfigurationInput) (*PutBlockPublicAccessConfigurationOutput, error) { 2530 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 2531 return out, req.Send() 2532} 2533 2534// PutBlockPublicAccessConfigurationWithContext is the same as PutBlockPublicAccessConfiguration with the addition of 2535// the ability to pass a context and additional request options. 2536// 2537// See PutBlockPublicAccessConfiguration for details on how to use this API operation. 2538// 2539// The context must be non-nil and will be used for request cancellation. If 2540// the context is nil a panic will occur. In the future the SDK may create 2541// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2542// for more information on using Contexts. 2543func (c *EMR) PutBlockPublicAccessConfigurationWithContext(ctx aws.Context, input *PutBlockPublicAccessConfigurationInput, opts ...request.Option) (*PutBlockPublicAccessConfigurationOutput, error) { 2544 req, out := c.PutBlockPublicAccessConfigurationRequest(input) 2545 req.SetContext(ctx) 2546 req.ApplyOptions(opts...) 2547 return out, req.Send() 2548} 2549 2550const opPutManagedScalingPolicy = "PutManagedScalingPolicy" 2551 2552// PutManagedScalingPolicyRequest generates a "aws/request.Request" representing the 2553// client's request for the PutManagedScalingPolicy operation. The "output" return 2554// value will be populated with the request's response once the request completes 2555// successfully. 2556// 2557// Use "Send" method on the returned Request to send the API call to the service. 2558// the "output" return value is not valid until after Send returns without error. 2559// 2560// See PutManagedScalingPolicy for more information on using the PutManagedScalingPolicy 2561// API call, and error handling. 2562// 2563// This method is useful when you want to inject custom logic or configuration 2564// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2565// 2566// 2567// // Example sending a request using the PutManagedScalingPolicyRequest method. 2568// req, resp := client.PutManagedScalingPolicyRequest(params) 2569// 2570// err := req.Send() 2571// if err == nil { // resp is now filled 2572// fmt.Println(resp) 2573// } 2574// 2575// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 2576func (c *EMR) PutManagedScalingPolicyRequest(input *PutManagedScalingPolicyInput) (req *request.Request, output *PutManagedScalingPolicyOutput) { 2577 op := &request.Operation{ 2578 Name: opPutManagedScalingPolicy, 2579 HTTPMethod: "POST", 2580 HTTPPath: "/", 2581 } 2582 2583 if input == nil { 2584 input = &PutManagedScalingPolicyInput{} 2585 } 2586 2587 output = &PutManagedScalingPolicyOutput{} 2588 req = c.newRequest(op, input, output) 2589 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2590 return 2591} 2592 2593// PutManagedScalingPolicy API operation for Amazon Elastic MapReduce. 2594// 2595// Creates or updates a managed scaling policy for an Amazon EMR cluster. The 2596// managed scaling policy defines the limits for resources, such as EC2 instances 2597// that can be added or terminated from a cluster. The policy only applies to 2598// the core and task nodes. The master node cannot be scaled after initial configuration. 2599// 2600// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2601// with awserr.Error's Code and Message methods to get detailed information about 2602// the error. 2603// 2604// See the AWS API reference guide for Amazon Elastic MapReduce's 2605// API operation PutManagedScalingPolicy for usage and error information. 2606// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutManagedScalingPolicy 2607func (c *EMR) PutManagedScalingPolicy(input *PutManagedScalingPolicyInput) (*PutManagedScalingPolicyOutput, error) { 2608 req, out := c.PutManagedScalingPolicyRequest(input) 2609 return out, req.Send() 2610} 2611 2612// PutManagedScalingPolicyWithContext is the same as PutManagedScalingPolicy with the addition of 2613// the ability to pass a context and additional request options. 2614// 2615// See PutManagedScalingPolicy for details on how to use this API operation. 2616// 2617// The context must be non-nil and will be used for request cancellation. If 2618// the context is nil a panic will occur. In the future the SDK may create 2619// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2620// for more information on using Contexts. 2621func (c *EMR) PutManagedScalingPolicyWithContext(ctx aws.Context, input *PutManagedScalingPolicyInput, opts ...request.Option) (*PutManagedScalingPolicyOutput, error) { 2622 req, out := c.PutManagedScalingPolicyRequest(input) 2623 req.SetContext(ctx) 2624 req.ApplyOptions(opts...) 2625 return out, req.Send() 2626} 2627 2628const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy" 2629 2630// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the 2631// client's request for the RemoveAutoScalingPolicy operation. The "output" return 2632// value will be populated with the request's response once the request completes 2633// successfully. 2634// 2635// Use "Send" method on the returned Request to send the API call to the service. 2636// the "output" return value is not valid until after Send returns without error. 2637// 2638// See RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy 2639// API call, and error handling. 2640// 2641// This method is useful when you want to inject custom logic or configuration 2642// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2643// 2644// 2645// // Example sending a request using the RemoveAutoScalingPolicyRequest method. 2646// req, resp := client.RemoveAutoScalingPolicyRequest(params) 2647// 2648// err := req.Send() 2649// if err == nil { // resp is now filled 2650// fmt.Println(resp) 2651// } 2652// 2653// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 2654func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) { 2655 op := &request.Operation{ 2656 Name: opRemoveAutoScalingPolicy, 2657 HTTPMethod: "POST", 2658 HTTPPath: "/", 2659 } 2660 2661 if input == nil { 2662 input = &RemoveAutoScalingPolicyInput{} 2663 } 2664 2665 output = &RemoveAutoScalingPolicyOutput{} 2666 req = c.newRequest(op, input, output) 2667 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2668 return 2669} 2670 2671// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce. 2672// 2673// Removes an automatic scaling policy from a specified instance group within 2674// an EMR cluster. 2675// 2676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2677// with awserr.Error's Code and Message methods to get detailed information about 2678// the error. 2679// 2680// See the AWS API reference guide for Amazon Elastic MapReduce's 2681// API operation RemoveAutoScalingPolicy for usage and error information. 2682// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy 2683func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) { 2684 req, out := c.RemoveAutoScalingPolicyRequest(input) 2685 return out, req.Send() 2686} 2687 2688// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of 2689// the ability to pass a context and additional request options. 2690// 2691// See RemoveAutoScalingPolicy for details on how to use this API operation. 2692// 2693// The context must be non-nil and will be used for request cancellation. If 2694// the context is nil a panic will occur. In the future the SDK may create 2695// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2696// for more information on using Contexts. 2697func (c *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) { 2698 req, out := c.RemoveAutoScalingPolicyRequest(input) 2699 req.SetContext(ctx) 2700 req.ApplyOptions(opts...) 2701 return out, req.Send() 2702} 2703 2704const opRemoveManagedScalingPolicy = "RemoveManagedScalingPolicy" 2705 2706// RemoveManagedScalingPolicyRequest generates a "aws/request.Request" representing the 2707// client's request for the RemoveManagedScalingPolicy operation. The "output" return 2708// value will be populated with the request's response once the request completes 2709// successfully. 2710// 2711// Use "Send" method on the returned Request to send the API call to the service. 2712// the "output" return value is not valid until after Send returns without error. 2713// 2714// See RemoveManagedScalingPolicy for more information on using the RemoveManagedScalingPolicy 2715// API call, and error handling. 2716// 2717// This method is useful when you want to inject custom logic or configuration 2718// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2719// 2720// 2721// // Example sending a request using the RemoveManagedScalingPolicyRequest method. 2722// req, resp := client.RemoveManagedScalingPolicyRequest(params) 2723// 2724// err := req.Send() 2725// if err == nil { // resp is now filled 2726// fmt.Println(resp) 2727// } 2728// 2729// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 2730func (c *EMR) RemoveManagedScalingPolicyRequest(input *RemoveManagedScalingPolicyInput) (req *request.Request, output *RemoveManagedScalingPolicyOutput) { 2731 op := &request.Operation{ 2732 Name: opRemoveManagedScalingPolicy, 2733 HTTPMethod: "POST", 2734 HTTPPath: "/", 2735 } 2736 2737 if input == nil { 2738 input = &RemoveManagedScalingPolicyInput{} 2739 } 2740 2741 output = &RemoveManagedScalingPolicyOutput{} 2742 req = c.newRequest(op, input, output) 2743 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2744 return 2745} 2746 2747// RemoveManagedScalingPolicy API operation for Amazon Elastic MapReduce. 2748// 2749// Removes a managed scaling policy from a specified EMR cluster. 2750// 2751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2752// with awserr.Error's Code and Message methods to get detailed information about 2753// the error. 2754// 2755// See the AWS API reference guide for Amazon Elastic MapReduce's 2756// API operation RemoveManagedScalingPolicy for usage and error information. 2757// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveManagedScalingPolicy 2758func (c *EMR) RemoveManagedScalingPolicy(input *RemoveManagedScalingPolicyInput) (*RemoveManagedScalingPolicyOutput, error) { 2759 req, out := c.RemoveManagedScalingPolicyRequest(input) 2760 return out, req.Send() 2761} 2762 2763// RemoveManagedScalingPolicyWithContext is the same as RemoveManagedScalingPolicy with the addition of 2764// the ability to pass a context and additional request options. 2765// 2766// See RemoveManagedScalingPolicy for details on how to use this API operation. 2767// 2768// The context must be non-nil and will be used for request cancellation. If 2769// the context is nil a panic will occur. In the future the SDK may create 2770// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2771// for more information on using Contexts. 2772func (c *EMR) RemoveManagedScalingPolicyWithContext(ctx aws.Context, input *RemoveManagedScalingPolicyInput, opts ...request.Option) (*RemoveManagedScalingPolicyOutput, error) { 2773 req, out := c.RemoveManagedScalingPolicyRequest(input) 2774 req.SetContext(ctx) 2775 req.ApplyOptions(opts...) 2776 return out, req.Send() 2777} 2778 2779const opRemoveTags = "RemoveTags" 2780 2781// RemoveTagsRequest generates a "aws/request.Request" representing the 2782// client's request for the RemoveTags operation. The "output" return 2783// value will be populated with the request's response once the request completes 2784// successfully. 2785// 2786// Use "Send" method on the returned Request to send the API call to the service. 2787// the "output" return value is not valid until after Send returns without error. 2788// 2789// See RemoveTags for more information on using the RemoveTags 2790// API call, and error handling. 2791// 2792// This method is useful when you want to inject custom logic or configuration 2793// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2794// 2795// 2796// // Example sending a request using the RemoveTagsRequest method. 2797// req, resp := client.RemoveTagsRequest(params) 2798// 2799// err := req.Send() 2800// if err == nil { // resp is now filled 2801// fmt.Println(resp) 2802// } 2803// 2804// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 2805func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) { 2806 op := &request.Operation{ 2807 Name: opRemoveTags, 2808 HTTPMethod: "POST", 2809 HTTPPath: "/", 2810 } 2811 2812 if input == nil { 2813 input = &RemoveTagsInput{} 2814 } 2815 2816 output = &RemoveTagsOutput{} 2817 req = c.newRequest(op, input, output) 2818 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2819 return 2820} 2821 2822// RemoveTags API operation for Amazon Elastic MapReduce. 2823// 2824// Removes tags from an Amazon EMR resource. Tags make it easier to associate 2825// clusters in various ways, such as grouping clusters to track your Amazon 2826// EMR resource allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 2827// 2828// The following example removes the stack tag with value Prod from a cluster: 2829// 2830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2831// with awserr.Error's Code and Message methods to get detailed information about 2832// the error. 2833// 2834// See the AWS API reference guide for Amazon Elastic MapReduce's 2835// API operation RemoveTags for usage and error information. 2836// 2837// Returned Error Types: 2838// * InternalServerException 2839// This exception occurs when there is an internal failure in the EMR service. 2840// 2841// * InvalidRequestException 2842// This exception occurs when there is something wrong with user input. 2843// 2844// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags 2845func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) { 2846 req, out := c.RemoveTagsRequest(input) 2847 return out, req.Send() 2848} 2849 2850// RemoveTagsWithContext is the same as RemoveTags with the addition of 2851// the ability to pass a context and additional request options. 2852// 2853// See RemoveTags for details on how to use this API operation. 2854// 2855// The context must be non-nil and will be used for request cancellation. If 2856// the context is nil a panic will occur. In the future the SDK may create 2857// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2858// for more information on using Contexts. 2859func (c *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) { 2860 req, out := c.RemoveTagsRequest(input) 2861 req.SetContext(ctx) 2862 req.ApplyOptions(opts...) 2863 return out, req.Send() 2864} 2865 2866const opRunJobFlow = "RunJobFlow" 2867 2868// RunJobFlowRequest generates a "aws/request.Request" representing the 2869// client's request for the RunJobFlow operation. The "output" return 2870// value will be populated with the request's response once the request completes 2871// successfully. 2872// 2873// Use "Send" method on the returned Request to send the API call to the service. 2874// the "output" return value is not valid until after Send returns without error. 2875// 2876// See RunJobFlow for more information on using the RunJobFlow 2877// API call, and error handling. 2878// 2879// This method is useful when you want to inject custom logic or configuration 2880// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2881// 2882// 2883// // Example sending a request using the RunJobFlowRequest method. 2884// req, resp := client.RunJobFlowRequest(params) 2885// 2886// err := req.Send() 2887// if err == nil { // resp is now filled 2888// fmt.Println(resp) 2889// } 2890// 2891// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 2892func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) { 2893 op := &request.Operation{ 2894 Name: opRunJobFlow, 2895 HTTPMethod: "POST", 2896 HTTPPath: "/", 2897 } 2898 2899 if input == nil { 2900 input = &RunJobFlowInput{} 2901 } 2902 2903 output = &RunJobFlowOutput{} 2904 req = c.newRequest(op, input, output) 2905 return 2906} 2907 2908// RunJobFlow API operation for Amazon Elastic MapReduce. 2909// 2910// RunJobFlow creates and starts running a new cluster (job flow). The cluster 2911// runs the steps specified. After the steps complete, the cluster stops and 2912// the HDFS partition is lost. To prevent loss of data, configure the last step 2913// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfig 2914// KeepJobFlowAliveWhenNoSteps parameter is set to TRUE, the cluster transitions 2915// to the WAITING state rather than shutting down after the steps have completed. 2916// 2917// For additional protection, you can set the JobFlowInstancesConfig TerminationProtected 2918// parameter to TRUE to lock the cluster and prevent it from being terminated 2919// by API call, user intervention, or in the event of a job flow error. 2920// 2921// A maximum of 256 steps are allowed in each job flow. 2922// 2923// If your cluster is long-running (such as a Hive data warehouse) or complex, 2924// you may require more than 256 steps to process your data. You can bypass 2925// the 256-step limitation in various ways, including using the SSH shell to 2926// connect to the master node and submitting queries directly to the software 2927// running on the master node, such as Hive and Hadoop. For more information 2928// on how to do this, see Add More than 256 Steps to a Cluster (https://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html) 2929// in the Amazon EMR Management Guide. 2930// 2931// For long running clusters, we recommend that you periodically store your 2932// results. 2933// 2934// The instance fleets configuration is available only in Amazon EMR versions 2935// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain 2936// InstanceFleets parameters or InstanceGroups parameters, but not both. 2937// 2938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2939// with awserr.Error's Code and Message methods to get detailed information about 2940// the error. 2941// 2942// See the AWS API reference guide for Amazon Elastic MapReduce's 2943// API operation RunJobFlow for usage and error information. 2944// 2945// Returned Error Types: 2946// * InternalServerError 2947// Indicates that an error occurred while processing the request and that the 2948// request was not completed. 2949// 2950// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow 2951func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) { 2952 req, out := c.RunJobFlowRequest(input) 2953 return out, req.Send() 2954} 2955 2956// RunJobFlowWithContext is the same as RunJobFlow with the addition of 2957// the ability to pass a context and additional request options. 2958// 2959// See RunJobFlow for details on how to use this API operation. 2960// 2961// The context must be non-nil and will be used for request cancellation. If 2962// the context is nil a panic will occur. In the future the SDK may create 2963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2964// for more information on using Contexts. 2965func (c *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) { 2966 req, out := c.RunJobFlowRequest(input) 2967 req.SetContext(ctx) 2968 req.ApplyOptions(opts...) 2969 return out, req.Send() 2970} 2971 2972const opSetTerminationProtection = "SetTerminationProtection" 2973 2974// SetTerminationProtectionRequest generates a "aws/request.Request" representing the 2975// client's request for the SetTerminationProtection operation. The "output" return 2976// value will be populated with the request's response once the request completes 2977// successfully. 2978// 2979// Use "Send" method on the returned Request to send the API call to the service. 2980// the "output" return value is not valid until after Send returns without error. 2981// 2982// See SetTerminationProtection for more information on using the SetTerminationProtection 2983// API call, and error handling. 2984// 2985// This method is useful when you want to inject custom logic or configuration 2986// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2987// 2988// 2989// // Example sending a request using the SetTerminationProtectionRequest method. 2990// req, resp := client.SetTerminationProtectionRequest(params) 2991// 2992// err := req.Send() 2993// if err == nil { // resp is now filled 2994// fmt.Println(resp) 2995// } 2996// 2997// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 2998func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) { 2999 op := &request.Operation{ 3000 Name: opSetTerminationProtection, 3001 HTTPMethod: "POST", 3002 HTTPPath: "/", 3003 } 3004 3005 if input == nil { 3006 input = &SetTerminationProtectionInput{} 3007 } 3008 3009 output = &SetTerminationProtectionOutput{} 3010 req = c.newRequest(op, input, output) 3011 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3012 return 3013} 3014 3015// SetTerminationProtection API operation for Amazon Elastic MapReduce. 3016// 3017// SetTerminationProtection locks a cluster (job flow) so the EC2 instances 3018// in the cluster cannot be terminated by user intervention, an API call, or 3019// in the event of a job-flow error. The cluster still terminates upon successful 3020// completion of the job flow. Calling SetTerminationProtection on a cluster 3021// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2 3022// instances in a cluster. 3023// 3024// SetTerminationProtection is used to prevent accidental termination of a cluster 3025// and to ensure that in the event of an error, the instances persist so that 3026// you can recover any data stored in their ephemeral instance storage. 3027// 3028// To terminate a cluster that has been locked by setting SetTerminationProtection 3029// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection 3030// in which you set the value to false. 3031// 3032// For more information, seeManaging Cluster Termination (https://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html) 3033// in the Amazon EMR Management Guide. 3034// 3035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3036// with awserr.Error's Code and Message methods to get detailed information about 3037// the error. 3038// 3039// See the AWS API reference guide for Amazon Elastic MapReduce's 3040// API operation SetTerminationProtection for usage and error information. 3041// 3042// Returned Error Types: 3043// * InternalServerError 3044// Indicates that an error occurred while processing the request and that the 3045// request was not completed. 3046// 3047// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection 3048func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) { 3049 req, out := c.SetTerminationProtectionRequest(input) 3050 return out, req.Send() 3051} 3052 3053// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of 3054// the ability to pass a context and additional request options. 3055// 3056// See SetTerminationProtection for details on how to use this API operation. 3057// 3058// The context must be non-nil and will be used for request cancellation. If 3059// the context is nil a panic will occur. In the future the SDK may create 3060// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3061// for more information on using Contexts. 3062func (c *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) { 3063 req, out := c.SetTerminationProtectionRequest(input) 3064 req.SetContext(ctx) 3065 req.ApplyOptions(opts...) 3066 return out, req.Send() 3067} 3068 3069const opSetVisibleToAllUsers = "SetVisibleToAllUsers" 3070 3071// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the 3072// client's request for the SetVisibleToAllUsers operation. The "output" return 3073// value will be populated with the request's response once the request completes 3074// successfully. 3075// 3076// Use "Send" method on the returned Request to send the API call to the service. 3077// the "output" return value is not valid until after Send returns without error. 3078// 3079// See SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers 3080// API call, and error handling. 3081// 3082// This method is useful when you want to inject custom logic or configuration 3083// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3084// 3085// 3086// // Example sending a request using the SetVisibleToAllUsersRequest method. 3087// req, resp := client.SetVisibleToAllUsersRequest(params) 3088// 3089// err := req.Send() 3090// if err == nil { // resp is now filled 3091// fmt.Println(resp) 3092// } 3093// 3094// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 3095func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) { 3096 op := &request.Operation{ 3097 Name: opSetVisibleToAllUsers, 3098 HTTPMethod: "POST", 3099 HTTPPath: "/", 3100 } 3101 3102 if input == nil { 3103 input = &SetVisibleToAllUsersInput{} 3104 } 3105 3106 output = &SetVisibleToAllUsersOutput{} 3107 req = c.newRequest(op, input, output) 3108 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3109 return 3110} 3111 3112// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce. 3113// 3114// Sets the Cluster$VisibleToAllUsers value, which determines whether the cluster 3115// is visible to all IAM users of the AWS account associated with the cluster. 3116// Only the IAM user who created the cluster or the AWS account root user can 3117// call this action. The default value, true, indicates that all IAM users in 3118// the AWS account can perform cluster actions if they have the proper IAM policy 3119// permissions. If set to false, only the IAM user that created the cluster 3120// can perform actions. This action works on running clusters. You can override 3121// the default true setting when you create a cluster by using the VisibleToAllUsers 3122// parameter with RunJobFlow. 3123// 3124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3125// with awserr.Error's Code and Message methods to get detailed information about 3126// the error. 3127// 3128// See the AWS API reference guide for Amazon Elastic MapReduce's 3129// API operation SetVisibleToAllUsers for usage and error information. 3130// 3131// Returned Error Types: 3132// * InternalServerError 3133// Indicates that an error occurred while processing the request and that the 3134// request was not completed. 3135// 3136// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers 3137func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) { 3138 req, out := c.SetVisibleToAllUsersRequest(input) 3139 return out, req.Send() 3140} 3141 3142// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of 3143// the ability to pass a context and additional request options. 3144// 3145// See SetVisibleToAllUsers for details on how to use this API operation. 3146// 3147// The context must be non-nil and will be used for request cancellation. If 3148// the context is nil a panic will occur. In the future the SDK may create 3149// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3150// for more information on using Contexts. 3151func (c *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) { 3152 req, out := c.SetVisibleToAllUsersRequest(input) 3153 req.SetContext(ctx) 3154 req.ApplyOptions(opts...) 3155 return out, req.Send() 3156} 3157 3158const opTerminateJobFlows = "TerminateJobFlows" 3159 3160// TerminateJobFlowsRequest generates a "aws/request.Request" representing the 3161// client's request for the TerminateJobFlows operation. The "output" return 3162// value will be populated with the request's response once the request completes 3163// successfully. 3164// 3165// Use "Send" method on the returned Request to send the API call to the service. 3166// the "output" return value is not valid until after Send returns without error. 3167// 3168// See TerminateJobFlows for more information on using the TerminateJobFlows 3169// API call, and error handling. 3170// 3171// This method is useful when you want to inject custom logic or configuration 3172// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3173// 3174// 3175// // Example sending a request using the TerminateJobFlowsRequest method. 3176// req, resp := client.TerminateJobFlowsRequest(params) 3177// 3178// err := req.Send() 3179// if err == nil { // resp is now filled 3180// fmt.Println(resp) 3181// } 3182// 3183// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 3184func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) { 3185 op := &request.Operation{ 3186 Name: opTerminateJobFlows, 3187 HTTPMethod: "POST", 3188 HTTPPath: "/", 3189 } 3190 3191 if input == nil { 3192 input = &TerminateJobFlowsInput{} 3193 } 3194 3195 output = &TerminateJobFlowsOutput{} 3196 req = c.newRequest(op, input, output) 3197 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3198 return 3199} 3200 3201// TerminateJobFlows API operation for Amazon Elastic MapReduce. 3202// 3203// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow 3204// is shut down, any step not yet completed is canceled and the EC2 instances 3205// on which the cluster is running are stopped. Any log files not already saved 3206// are uploaded to Amazon S3 if a LogUri was specified when the cluster was 3207// created. 3208// 3209// The maximum number of clusters allowed is 10. The call to TerminateJobFlows 3210// is asynchronous. Depending on the configuration of the cluster, it may take 3211// up to 1-5 minutes for the cluster to completely terminate and release allocated 3212// resources, such as Amazon EC2 instances. 3213// 3214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3215// with awserr.Error's Code and Message methods to get detailed information about 3216// the error. 3217// 3218// See the AWS API reference guide for Amazon Elastic MapReduce's 3219// API operation TerminateJobFlows for usage and error information. 3220// 3221// Returned Error Types: 3222// * InternalServerError 3223// Indicates that an error occurred while processing the request and that the 3224// request was not completed. 3225// 3226// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows 3227func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) { 3228 req, out := c.TerminateJobFlowsRequest(input) 3229 return out, req.Send() 3230} 3231 3232// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of 3233// the ability to pass a context and additional request options. 3234// 3235// See TerminateJobFlows for details on how to use this API operation. 3236// 3237// The context must be non-nil and will be used for request cancellation. If 3238// the context is nil a panic will occur. In the future the SDK may create 3239// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3240// for more information on using Contexts. 3241func (c *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) { 3242 req, out := c.TerminateJobFlowsRequest(input) 3243 req.SetContext(ctx) 3244 req.ApplyOptions(opts...) 3245 return out, req.Send() 3246} 3247 3248type AddInstanceFleetInput struct { 3249 _ struct{} `type:"structure"` 3250 3251 // The unique identifier of the cluster. 3252 // 3253 // ClusterId is a required field 3254 ClusterId *string `type:"string" required:"true"` 3255 3256 // Specifies the configuration of the instance fleet. 3257 // 3258 // InstanceFleet is a required field 3259 InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"` 3260} 3261 3262// String returns the string representation 3263func (s AddInstanceFleetInput) String() string { 3264 return awsutil.Prettify(s) 3265} 3266 3267// GoString returns the string representation 3268func (s AddInstanceFleetInput) GoString() string { 3269 return s.String() 3270} 3271 3272// Validate inspects the fields of the type to determine if they are valid. 3273func (s *AddInstanceFleetInput) Validate() error { 3274 invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"} 3275 if s.ClusterId == nil { 3276 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 3277 } 3278 if s.InstanceFleet == nil { 3279 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 3280 } 3281 if s.InstanceFleet != nil { 3282 if err := s.InstanceFleet.Validate(); err != nil { 3283 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 3284 } 3285 } 3286 3287 if invalidParams.Len() > 0 { 3288 return invalidParams 3289 } 3290 return nil 3291} 3292 3293// SetClusterId sets the ClusterId field's value. 3294func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput { 3295 s.ClusterId = &v 3296 return s 3297} 3298 3299// SetInstanceFleet sets the InstanceFleet field's value. 3300func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput { 3301 s.InstanceFleet = v 3302 return s 3303} 3304 3305type AddInstanceFleetOutput struct { 3306 _ struct{} `type:"structure"` 3307 3308 // The Amazon Resource Name of the cluster. 3309 ClusterArn *string `min:"20" type:"string"` 3310 3311 // The unique identifier of the cluster. 3312 ClusterId *string `type:"string"` 3313 3314 // The unique identifier of the instance fleet. 3315 InstanceFleetId *string `type:"string"` 3316} 3317 3318// String returns the string representation 3319func (s AddInstanceFleetOutput) String() string { 3320 return awsutil.Prettify(s) 3321} 3322 3323// GoString returns the string representation 3324func (s AddInstanceFleetOutput) GoString() string { 3325 return s.String() 3326} 3327 3328// SetClusterArn sets the ClusterArn field's value. 3329func (s *AddInstanceFleetOutput) SetClusterArn(v string) *AddInstanceFleetOutput { 3330 s.ClusterArn = &v 3331 return s 3332} 3333 3334// SetClusterId sets the ClusterId field's value. 3335func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput { 3336 s.ClusterId = &v 3337 return s 3338} 3339 3340// SetInstanceFleetId sets the InstanceFleetId field's value. 3341func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput { 3342 s.InstanceFleetId = &v 3343 return s 3344} 3345 3346// Input to an AddInstanceGroups call. 3347type AddInstanceGroupsInput struct { 3348 _ struct{} `type:"structure"` 3349 3350 // Instance groups to add. 3351 // 3352 // InstanceGroups is a required field 3353 InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"` 3354 3355 // Job flow in which to add the instance groups. 3356 // 3357 // JobFlowId is a required field 3358 JobFlowId *string `type:"string" required:"true"` 3359} 3360 3361// String returns the string representation 3362func (s AddInstanceGroupsInput) String() string { 3363 return awsutil.Prettify(s) 3364} 3365 3366// GoString returns the string representation 3367func (s AddInstanceGroupsInput) GoString() string { 3368 return s.String() 3369} 3370 3371// Validate inspects the fields of the type to determine if they are valid. 3372func (s *AddInstanceGroupsInput) Validate() error { 3373 invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"} 3374 if s.InstanceGroups == nil { 3375 invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) 3376 } 3377 if s.JobFlowId == nil { 3378 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 3379 } 3380 if s.InstanceGroups != nil { 3381 for i, v := range s.InstanceGroups { 3382 if v == nil { 3383 continue 3384 } 3385 if err := v.Validate(); err != nil { 3386 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 3387 } 3388 } 3389 } 3390 3391 if invalidParams.Len() > 0 { 3392 return invalidParams 3393 } 3394 return nil 3395} 3396 3397// SetInstanceGroups sets the InstanceGroups field's value. 3398func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput { 3399 s.InstanceGroups = v 3400 return s 3401} 3402 3403// SetJobFlowId sets the JobFlowId field's value. 3404func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput { 3405 s.JobFlowId = &v 3406 return s 3407} 3408 3409// Output from an AddInstanceGroups call. 3410type AddInstanceGroupsOutput struct { 3411 _ struct{} `type:"structure"` 3412 3413 // The Amazon Resource Name of the cluster. 3414 ClusterArn *string `min:"20" type:"string"` 3415 3416 // Instance group IDs of the newly created instance groups. 3417 InstanceGroupIds []*string `type:"list"` 3418 3419 // The job flow ID in which the instance groups are added. 3420 JobFlowId *string `type:"string"` 3421} 3422 3423// String returns the string representation 3424func (s AddInstanceGroupsOutput) String() string { 3425 return awsutil.Prettify(s) 3426} 3427 3428// GoString returns the string representation 3429func (s AddInstanceGroupsOutput) GoString() string { 3430 return s.String() 3431} 3432 3433// SetClusterArn sets the ClusterArn field's value. 3434func (s *AddInstanceGroupsOutput) SetClusterArn(v string) *AddInstanceGroupsOutput { 3435 s.ClusterArn = &v 3436 return s 3437} 3438 3439// SetInstanceGroupIds sets the InstanceGroupIds field's value. 3440func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput { 3441 s.InstanceGroupIds = v 3442 return s 3443} 3444 3445// SetJobFlowId sets the JobFlowId field's value. 3446func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput { 3447 s.JobFlowId = &v 3448 return s 3449} 3450 3451// The input argument to the AddJobFlowSteps operation. 3452type AddJobFlowStepsInput struct { 3453 _ struct{} `type:"structure"` 3454 3455 // A string that uniquely identifies the job flow. This identifier is returned 3456 // by RunJobFlow and can also be obtained from ListClusters. 3457 // 3458 // JobFlowId is a required field 3459 JobFlowId *string `type:"string" required:"true"` 3460 3461 // A list of StepConfig to be executed by the job flow. 3462 // 3463 // Steps is a required field 3464 Steps []*StepConfig `type:"list" required:"true"` 3465} 3466 3467// String returns the string representation 3468func (s AddJobFlowStepsInput) String() string { 3469 return awsutil.Prettify(s) 3470} 3471 3472// GoString returns the string representation 3473func (s AddJobFlowStepsInput) GoString() string { 3474 return s.String() 3475} 3476 3477// Validate inspects the fields of the type to determine if they are valid. 3478func (s *AddJobFlowStepsInput) Validate() error { 3479 invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"} 3480 if s.JobFlowId == nil { 3481 invalidParams.Add(request.NewErrParamRequired("JobFlowId")) 3482 } 3483 if s.Steps == nil { 3484 invalidParams.Add(request.NewErrParamRequired("Steps")) 3485 } 3486 if s.Steps != nil { 3487 for i, v := range s.Steps { 3488 if v == nil { 3489 continue 3490 } 3491 if err := v.Validate(); err != nil { 3492 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 3493 } 3494 } 3495 } 3496 3497 if invalidParams.Len() > 0 { 3498 return invalidParams 3499 } 3500 return nil 3501} 3502 3503// SetJobFlowId sets the JobFlowId field's value. 3504func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput { 3505 s.JobFlowId = &v 3506 return s 3507} 3508 3509// SetSteps sets the Steps field's value. 3510func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput { 3511 s.Steps = v 3512 return s 3513} 3514 3515// The output for the AddJobFlowSteps operation. 3516type AddJobFlowStepsOutput struct { 3517 _ struct{} `type:"structure"` 3518 3519 // The identifiers of the list of steps added to the job flow. 3520 StepIds []*string `type:"list"` 3521} 3522 3523// String returns the string representation 3524func (s AddJobFlowStepsOutput) String() string { 3525 return awsutil.Prettify(s) 3526} 3527 3528// GoString returns the string representation 3529func (s AddJobFlowStepsOutput) GoString() string { 3530 return s.String() 3531} 3532 3533// SetStepIds sets the StepIds field's value. 3534func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput { 3535 s.StepIds = v 3536 return s 3537} 3538 3539// This input identifies a cluster and a list of tags to attach. 3540type AddTagsInput struct { 3541 _ struct{} `type:"structure"` 3542 3543 // The Amazon EMR resource identifier to which tags will be added. This value 3544 // must be a cluster identifier. 3545 // 3546 // ResourceId is a required field 3547 ResourceId *string `type:"string" required:"true"` 3548 3549 // A list of tags to associate with a cluster and propagate to EC2 instances. 3550 // Tags are user-defined key/value pairs that consist of a required key string 3551 // with a maximum of 128 characters, and an optional value string with a maximum 3552 // of 256 characters. 3553 // 3554 // Tags is a required field 3555 Tags []*Tag `type:"list" required:"true"` 3556} 3557 3558// String returns the string representation 3559func (s AddTagsInput) String() string { 3560 return awsutil.Prettify(s) 3561} 3562 3563// GoString returns the string representation 3564func (s AddTagsInput) GoString() string { 3565 return s.String() 3566} 3567 3568// Validate inspects the fields of the type to determine if they are valid. 3569func (s *AddTagsInput) Validate() error { 3570 invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"} 3571 if s.ResourceId == nil { 3572 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 3573 } 3574 if s.Tags == nil { 3575 invalidParams.Add(request.NewErrParamRequired("Tags")) 3576 } 3577 3578 if invalidParams.Len() > 0 { 3579 return invalidParams 3580 } 3581 return nil 3582} 3583 3584// SetResourceId sets the ResourceId field's value. 3585func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput { 3586 s.ResourceId = &v 3587 return s 3588} 3589 3590// SetTags sets the Tags field's value. 3591func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput { 3592 s.Tags = v 3593 return s 3594} 3595 3596// This output indicates the result of adding tags to a resource. 3597type AddTagsOutput struct { 3598 _ struct{} `type:"structure"` 3599} 3600 3601// String returns the string representation 3602func (s AddTagsOutput) String() string { 3603 return awsutil.Prettify(s) 3604} 3605 3606// GoString returns the string representation 3607func (s AddTagsOutput) GoString() string { 3608 return s.String() 3609} 3610 3611// With Amazon EMR release version 4.0 and later, the only accepted parameter 3612// is the application name. To pass arguments to applications, you use configuration 3613// classifications specified using configuration JSON objects. For more information, 3614// see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 3615// 3616// With earlier Amazon EMR releases, the application is any Amazon or third-party 3617// software that you can add to the cluster. This structure contains a list 3618// of strings that indicates the software to use with the cluster and accepts 3619// a user argument list. Amazon EMR accepts and forwards the argument list to 3620// the corresponding installation script as bootstrap action argument. 3621type Application struct { 3622 _ struct{} `type:"structure"` 3623 3624 // This option is for advanced users only. This is meta information about third-party 3625 // applications that third-party vendors use for testing purposes. 3626 AdditionalInfo map[string]*string `type:"map"` 3627 3628 // Arguments for Amazon EMR to pass to the application. 3629 Args []*string `type:"list"` 3630 3631 // The name of the application. 3632 Name *string `type:"string"` 3633 3634 // The version of the application. 3635 Version *string `type:"string"` 3636} 3637 3638// String returns the string representation 3639func (s Application) String() string { 3640 return awsutil.Prettify(s) 3641} 3642 3643// GoString returns the string representation 3644func (s Application) GoString() string { 3645 return s.String() 3646} 3647 3648// SetAdditionalInfo sets the AdditionalInfo field's value. 3649func (s *Application) SetAdditionalInfo(v map[string]*string) *Application { 3650 s.AdditionalInfo = v 3651 return s 3652} 3653 3654// SetArgs sets the Args field's value. 3655func (s *Application) SetArgs(v []*string) *Application { 3656 s.Args = v 3657 return s 3658} 3659 3660// SetName sets the Name field's value. 3661func (s *Application) SetName(v string) *Application { 3662 s.Name = &v 3663 return s 3664} 3665 3666// SetVersion sets the Version field's value. 3667func (s *Application) SetVersion(v string) *Application { 3668 s.Version = &v 3669 return s 3670} 3671 3672// An automatic scaling policy for a core instance group or task instance group 3673// in an Amazon EMR cluster. An automatic scaling policy defines how an instance 3674// group dynamically adds and terminates EC2 instances in response to the value 3675// of a CloudWatch metric. See PutAutoScalingPolicy. 3676type AutoScalingPolicy struct { 3677 _ struct{} `type:"structure"` 3678 3679 // The upper and lower EC2 instance limits for an automatic scaling policy. 3680 // Automatic scaling activity will not cause an instance group to grow above 3681 // or below these limits. 3682 // 3683 // Constraints is a required field 3684 Constraints *ScalingConstraints `type:"structure" required:"true"` 3685 3686 // The scale-in and scale-out rules that comprise the automatic scaling policy. 3687 // 3688 // Rules is a required field 3689 Rules []*ScalingRule `type:"list" required:"true"` 3690} 3691 3692// String returns the string representation 3693func (s AutoScalingPolicy) String() string { 3694 return awsutil.Prettify(s) 3695} 3696 3697// GoString returns the string representation 3698func (s AutoScalingPolicy) GoString() string { 3699 return s.String() 3700} 3701 3702// Validate inspects the fields of the type to determine if they are valid. 3703func (s *AutoScalingPolicy) Validate() error { 3704 invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"} 3705 if s.Constraints == nil { 3706 invalidParams.Add(request.NewErrParamRequired("Constraints")) 3707 } 3708 if s.Rules == nil { 3709 invalidParams.Add(request.NewErrParamRequired("Rules")) 3710 } 3711 if s.Constraints != nil { 3712 if err := s.Constraints.Validate(); err != nil { 3713 invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams)) 3714 } 3715 } 3716 if s.Rules != nil { 3717 for i, v := range s.Rules { 3718 if v == nil { 3719 continue 3720 } 3721 if err := v.Validate(); err != nil { 3722 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams)) 3723 } 3724 } 3725 } 3726 3727 if invalidParams.Len() > 0 { 3728 return invalidParams 3729 } 3730 return nil 3731} 3732 3733// SetConstraints sets the Constraints field's value. 3734func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy { 3735 s.Constraints = v 3736 return s 3737} 3738 3739// SetRules sets the Rules field's value. 3740func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy { 3741 s.Rules = v 3742 return s 3743} 3744 3745// An automatic scaling policy for a core instance group or task instance group 3746// in an Amazon EMR cluster. The automatic scaling policy defines how an instance 3747// group dynamically adds and terminates EC2 instances in response to the value 3748// of a CloudWatch metric. See PutAutoScalingPolicy. 3749type AutoScalingPolicyDescription struct { 3750 _ struct{} `type:"structure"` 3751 3752 // The upper and lower EC2 instance limits for an automatic scaling policy. 3753 // Automatic scaling activity will not cause an instance group to grow above 3754 // or below these limits. 3755 Constraints *ScalingConstraints `type:"structure"` 3756 3757 // The scale-in and scale-out rules that comprise the automatic scaling policy. 3758 Rules []*ScalingRule `type:"list"` 3759 3760 // The status of an automatic scaling policy. 3761 Status *AutoScalingPolicyStatus `type:"structure"` 3762} 3763 3764// String returns the string representation 3765func (s AutoScalingPolicyDescription) String() string { 3766 return awsutil.Prettify(s) 3767} 3768 3769// GoString returns the string representation 3770func (s AutoScalingPolicyDescription) GoString() string { 3771 return s.String() 3772} 3773 3774// SetConstraints sets the Constraints field's value. 3775func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription { 3776 s.Constraints = v 3777 return s 3778} 3779 3780// SetRules sets the Rules field's value. 3781func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription { 3782 s.Rules = v 3783 return s 3784} 3785 3786// SetStatus sets the Status field's value. 3787func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription { 3788 s.Status = v 3789 return s 3790} 3791 3792// The reason for an AutoScalingPolicyStatus change. 3793type AutoScalingPolicyStateChangeReason struct { 3794 _ struct{} `type:"structure"` 3795 3796 // The code indicating the reason for the change in status.USER_REQUEST indicates 3797 // that the scaling policy status was changed by a user. PROVISION_FAILURE indicates 3798 // that the status change was because the policy failed to provision. CLEANUP_FAILURE 3799 // indicates an error. 3800 Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"` 3801 3802 // A friendly, more verbose message that accompanies an automatic scaling policy 3803 // state change. 3804 Message *string `type:"string"` 3805} 3806 3807// String returns the string representation 3808func (s AutoScalingPolicyStateChangeReason) String() string { 3809 return awsutil.Prettify(s) 3810} 3811 3812// GoString returns the string representation 3813func (s AutoScalingPolicyStateChangeReason) GoString() string { 3814 return s.String() 3815} 3816 3817// SetCode sets the Code field's value. 3818func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason { 3819 s.Code = &v 3820 return s 3821} 3822 3823// SetMessage sets the Message field's value. 3824func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason { 3825 s.Message = &v 3826 return s 3827} 3828 3829// The status of an automatic scaling policy. 3830type AutoScalingPolicyStatus struct { 3831 _ struct{} `type:"structure"` 3832 3833 // Indicates the status of the automatic scaling policy. 3834 State *string `type:"string" enum:"AutoScalingPolicyState"` 3835 3836 // The reason for a change in status. 3837 StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"` 3838} 3839 3840// String returns the string representation 3841func (s AutoScalingPolicyStatus) String() string { 3842 return awsutil.Prettify(s) 3843} 3844 3845// GoString returns the string representation 3846func (s AutoScalingPolicyStatus) GoString() string { 3847 return s.String() 3848} 3849 3850// SetState sets the State field's value. 3851func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus { 3852 s.State = &v 3853 return s 3854} 3855 3856// SetStateChangeReason sets the StateChangeReason field's value. 3857func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus { 3858 s.StateChangeReason = v 3859 return s 3860} 3861 3862// A configuration for Amazon EMR block public access. When BlockPublicSecurityGroupRules 3863// is set to true, Amazon EMR prevents cluster creation if one of the cluster's 3864// security groups has a rule that allows inbound traffic from 0.0.0.0/0 or 3865// ::/0 on a port, unless the port is specified as an exception using PermittedPublicSecurityGroupRuleRanges. 3866type BlockPublicAccessConfiguration struct { 3867 _ struct{} `type:"structure"` 3868 3869 // Indicates whether EMR block public access is enabled (true) or disabled (false). 3870 // By default, the value is false for accounts that have created EMR clusters 3871 // before July 2019. For accounts created after this, the default is true. 3872 // 3873 // BlockPublicSecurityGroupRules is a required field 3874 BlockPublicSecurityGroupRules *bool `type:"boolean" required:"true"` 3875 3876 // Specifies ports and port ranges that are permitted to have security group 3877 // rules that allow inbound traffic from all public sources. For example, if 3878 // Port 23 (Telnet) is specified for PermittedPublicSecurityGroupRuleRanges, 3879 // Amazon EMR allows cluster creation if a security group associated with the 3880 // cluster has a rule that allows inbound traffic on Port 23 from IPv4 0.0.0.0/0 3881 // or IPv6 port ::/0 as the source. 3882 // 3883 // By default, Port 22, which is used for SSH access to the cluster EC2 instances, 3884 // is in the list of PermittedPublicSecurityGroupRuleRanges. 3885 PermittedPublicSecurityGroupRuleRanges []*PortRange `type:"list"` 3886} 3887 3888// String returns the string representation 3889func (s BlockPublicAccessConfiguration) String() string { 3890 return awsutil.Prettify(s) 3891} 3892 3893// GoString returns the string representation 3894func (s BlockPublicAccessConfiguration) GoString() string { 3895 return s.String() 3896} 3897 3898// Validate inspects the fields of the type to determine if they are valid. 3899func (s *BlockPublicAccessConfiguration) Validate() error { 3900 invalidParams := request.ErrInvalidParams{Context: "BlockPublicAccessConfiguration"} 3901 if s.BlockPublicSecurityGroupRules == nil { 3902 invalidParams.Add(request.NewErrParamRequired("BlockPublicSecurityGroupRules")) 3903 } 3904 if s.PermittedPublicSecurityGroupRuleRanges != nil { 3905 for i, v := range s.PermittedPublicSecurityGroupRuleRanges { 3906 if v == nil { 3907 continue 3908 } 3909 if err := v.Validate(); err != nil { 3910 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PermittedPublicSecurityGroupRuleRanges", i), err.(request.ErrInvalidParams)) 3911 } 3912 } 3913 } 3914 3915 if invalidParams.Len() > 0 { 3916 return invalidParams 3917 } 3918 return nil 3919} 3920 3921// SetBlockPublicSecurityGroupRules sets the BlockPublicSecurityGroupRules field's value. 3922func (s *BlockPublicAccessConfiguration) SetBlockPublicSecurityGroupRules(v bool) *BlockPublicAccessConfiguration { 3923 s.BlockPublicSecurityGroupRules = &v 3924 return s 3925} 3926 3927// SetPermittedPublicSecurityGroupRuleRanges sets the PermittedPublicSecurityGroupRuleRanges field's value. 3928func (s *BlockPublicAccessConfiguration) SetPermittedPublicSecurityGroupRuleRanges(v []*PortRange) *BlockPublicAccessConfiguration { 3929 s.PermittedPublicSecurityGroupRuleRanges = v 3930 return s 3931} 3932 3933// Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 3934// using the PutBlockPublicAccessConfiguration action as well as the date and 3935// time that the configuration was created. Each time a configuration for block 3936// public access is updated, Amazon EMR updates this metadata. 3937type BlockPublicAccessConfigurationMetadata struct { 3938 _ struct{} `type:"structure"` 3939 3940 // The Amazon Resource Name that created or last modified the configuration. 3941 // 3942 // CreatedByArn is a required field 3943 CreatedByArn *string `min:"20" type:"string" required:"true"` 3944 3945 // The date and time that the configuration was created. 3946 // 3947 // CreationDateTime is a required field 3948 CreationDateTime *time.Time `type:"timestamp" required:"true"` 3949} 3950 3951// String returns the string representation 3952func (s BlockPublicAccessConfigurationMetadata) String() string { 3953 return awsutil.Prettify(s) 3954} 3955 3956// GoString returns the string representation 3957func (s BlockPublicAccessConfigurationMetadata) GoString() string { 3958 return s.String() 3959} 3960 3961// SetCreatedByArn sets the CreatedByArn field's value. 3962func (s *BlockPublicAccessConfigurationMetadata) SetCreatedByArn(v string) *BlockPublicAccessConfigurationMetadata { 3963 s.CreatedByArn = &v 3964 return s 3965} 3966 3967// SetCreationDateTime sets the CreationDateTime field's value. 3968func (s *BlockPublicAccessConfigurationMetadata) SetCreationDateTime(v time.Time) *BlockPublicAccessConfigurationMetadata { 3969 s.CreationDateTime = &v 3970 return s 3971} 3972 3973// Configuration of a bootstrap action. 3974type BootstrapActionConfig struct { 3975 _ struct{} `type:"structure"` 3976 3977 // The name of the bootstrap action. 3978 // 3979 // Name is a required field 3980 Name *string `type:"string" required:"true"` 3981 3982 // The script run by the bootstrap action. 3983 // 3984 // ScriptBootstrapAction is a required field 3985 ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"` 3986} 3987 3988// String returns the string representation 3989func (s BootstrapActionConfig) String() string { 3990 return awsutil.Prettify(s) 3991} 3992 3993// GoString returns the string representation 3994func (s BootstrapActionConfig) GoString() string { 3995 return s.String() 3996} 3997 3998// Validate inspects the fields of the type to determine if they are valid. 3999func (s *BootstrapActionConfig) Validate() error { 4000 invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"} 4001 if s.Name == nil { 4002 invalidParams.Add(request.NewErrParamRequired("Name")) 4003 } 4004 if s.ScriptBootstrapAction == nil { 4005 invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction")) 4006 } 4007 if s.ScriptBootstrapAction != nil { 4008 if err := s.ScriptBootstrapAction.Validate(); err != nil { 4009 invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams)) 4010 } 4011 } 4012 4013 if invalidParams.Len() > 0 { 4014 return invalidParams 4015 } 4016 return nil 4017} 4018 4019// SetName sets the Name field's value. 4020func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig { 4021 s.Name = &v 4022 return s 4023} 4024 4025// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value. 4026func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig { 4027 s.ScriptBootstrapAction = v 4028 return s 4029} 4030 4031// Reports the configuration of a bootstrap action in a cluster (job flow). 4032type BootstrapActionDetail struct { 4033 _ struct{} `type:"structure"` 4034 4035 // A description of the bootstrap action. 4036 BootstrapActionConfig *BootstrapActionConfig `type:"structure"` 4037} 4038 4039// String returns the string representation 4040func (s BootstrapActionDetail) String() string { 4041 return awsutil.Prettify(s) 4042} 4043 4044// GoString returns the string representation 4045func (s BootstrapActionDetail) GoString() string { 4046 return s.String() 4047} 4048 4049// SetBootstrapActionConfig sets the BootstrapActionConfig field's value. 4050func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail { 4051 s.BootstrapActionConfig = v 4052 return s 4053} 4054 4055// Specification of the status of a CancelSteps request. Available only in Amazon 4056// EMR version 4.8.0 and later, excluding version 5.0.0. 4057type CancelStepsInfo struct { 4058 _ struct{} `type:"structure"` 4059 4060 // The reason for the failure if the CancelSteps request fails. 4061 Reason *string `type:"string"` 4062 4063 // The status of a CancelSteps Request. The value may be SUBMITTED or FAILED. 4064 Status *string `type:"string" enum:"CancelStepsRequestStatus"` 4065 4066 // The encrypted StepId of a step. 4067 StepId *string `type:"string"` 4068} 4069 4070// String returns the string representation 4071func (s CancelStepsInfo) String() string { 4072 return awsutil.Prettify(s) 4073} 4074 4075// GoString returns the string representation 4076func (s CancelStepsInfo) GoString() string { 4077 return s.String() 4078} 4079 4080// SetReason sets the Reason field's value. 4081func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo { 4082 s.Reason = &v 4083 return s 4084} 4085 4086// SetStatus sets the Status field's value. 4087func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo { 4088 s.Status = &v 4089 return s 4090} 4091 4092// SetStepId sets the StepId field's value. 4093func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo { 4094 s.StepId = &v 4095 return s 4096} 4097 4098// The input argument to the CancelSteps operation. 4099type CancelStepsInput struct { 4100 _ struct{} `type:"structure"` 4101 4102 // The ClusterID for which specified steps will be canceled. Use RunJobFlow 4103 // and ListClusters to get ClusterIDs. 4104 // 4105 // ClusterId is a required field 4106 ClusterId *string `type:"string" required:"true"` 4107 4108 // The option to choose for cancelling RUNNING steps. By default, the value 4109 // is SEND_INTERRUPT. 4110 StepCancellationOption *string `type:"string" enum:"StepCancellationOption"` 4111 4112 // The list of StepIDs to cancel. Use ListSteps to get steps and their states 4113 // for the specified cluster. 4114 // 4115 // StepIds is a required field 4116 StepIds []*string `type:"list" required:"true"` 4117} 4118 4119// String returns the string representation 4120func (s CancelStepsInput) String() string { 4121 return awsutil.Prettify(s) 4122} 4123 4124// GoString returns the string representation 4125func (s CancelStepsInput) GoString() string { 4126 return s.String() 4127} 4128 4129// Validate inspects the fields of the type to determine if they are valid. 4130func (s *CancelStepsInput) Validate() error { 4131 invalidParams := request.ErrInvalidParams{Context: "CancelStepsInput"} 4132 if s.ClusterId == nil { 4133 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 4134 } 4135 if s.StepIds == nil { 4136 invalidParams.Add(request.NewErrParamRequired("StepIds")) 4137 } 4138 4139 if invalidParams.Len() > 0 { 4140 return invalidParams 4141 } 4142 return nil 4143} 4144 4145// SetClusterId sets the ClusterId field's value. 4146func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput { 4147 s.ClusterId = &v 4148 return s 4149} 4150 4151// SetStepCancellationOption sets the StepCancellationOption field's value. 4152func (s *CancelStepsInput) SetStepCancellationOption(v string) *CancelStepsInput { 4153 s.StepCancellationOption = &v 4154 return s 4155} 4156 4157// SetStepIds sets the StepIds field's value. 4158func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput { 4159 s.StepIds = v 4160 return s 4161} 4162 4163// The output for the CancelSteps operation. 4164type CancelStepsOutput struct { 4165 _ struct{} `type:"structure"` 4166 4167 // A list of CancelStepsInfo, which shows the status of specified cancel requests 4168 // for each StepID specified. 4169 CancelStepsInfoList []*CancelStepsInfo `type:"list"` 4170} 4171 4172// String returns the string representation 4173func (s CancelStepsOutput) String() string { 4174 return awsutil.Prettify(s) 4175} 4176 4177// GoString returns the string representation 4178func (s CancelStepsOutput) GoString() string { 4179 return s.String() 4180} 4181 4182// SetCancelStepsInfoList sets the CancelStepsInfoList field's value. 4183func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput { 4184 s.CancelStepsInfoList = v 4185 return s 4186} 4187 4188// The definition of a CloudWatch metric alarm, which determines when an automatic 4189// scaling activity is triggered. When the defined alarm conditions are satisfied, 4190// scaling activity begins. 4191type CloudWatchAlarmDefinition struct { 4192 _ struct{} `type:"structure"` 4193 4194 // Determines how the metric specified by MetricName is compared to the value 4195 // specified by Threshold. 4196 // 4197 // ComparisonOperator is a required field 4198 ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"` 4199 4200 // A CloudWatch metric dimension. 4201 Dimensions []*MetricDimension `type:"list"` 4202 4203 // The number of periods, in five-minute increments, during which the alarm 4204 // condition must exist before the alarm triggers automatic scaling activity. 4205 // The default value is 1. 4206 EvaluationPeriods *int64 `type:"integer"` 4207 4208 // The name of the CloudWatch metric that is watched to determine an alarm condition. 4209 // 4210 // MetricName is a required field 4211 MetricName *string `type:"string" required:"true"` 4212 4213 // The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce. 4214 Namespace *string `type:"string"` 4215 4216 // The period, in seconds, over which the statistic is applied. EMR CloudWatch 4217 // metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch 4218 // metric is specified, specify 300. 4219 // 4220 // Period is a required field 4221 Period *int64 `type:"integer" required:"true"` 4222 4223 // The statistic to apply to the metric associated with the alarm. The default 4224 // is AVERAGE. 4225 Statistic *string `type:"string" enum:"Statistic"` 4226 4227 // The value against which the specified statistic is compared. 4228 // 4229 // Threshold is a required field 4230 Threshold *float64 `type:"double" required:"true"` 4231 4232 // The unit of measure associated with the CloudWatch metric being watched. 4233 // The value specified for Unit must correspond to the units specified in the 4234 // CloudWatch metric. 4235 Unit *string `type:"string" enum:"Unit"` 4236} 4237 4238// String returns the string representation 4239func (s CloudWatchAlarmDefinition) String() string { 4240 return awsutil.Prettify(s) 4241} 4242 4243// GoString returns the string representation 4244func (s CloudWatchAlarmDefinition) GoString() string { 4245 return s.String() 4246} 4247 4248// Validate inspects the fields of the type to determine if they are valid. 4249func (s *CloudWatchAlarmDefinition) Validate() error { 4250 invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"} 4251 if s.ComparisonOperator == nil { 4252 invalidParams.Add(request.NewErrParamRequired("ComparisonOperator")) 4253 } 4254 if s.MetricName == nil { 4255 invalidParams.Add(request.NewErrParamRequired("MetricName")) 4256 } 4257 if s.Period == nil { 4258 invalidParams.Add(request.NewErrParamRequired("Period")) 4259 } 4260 if s.Threshold == nil { 4261 invalidParams.Add(request.NewErrParamRequired("Threshold")) 4262 } 4263 4264 if invalidParams.Len() > 0 { 4265 return invalidParams 4266 } 4267 return nil 4268} 4269 4270// SetComparisonOperator sets the ComparisonOperator field's value. 4271func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition { 4272 s.ComparisonOperator = &v 4273 return s 4274} 4275 4276// SetDimensions sets the Dimensions field's value. 4277func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition { 4278 s.Dimensions = v 4279 return s 4280} 4281 4282// SetEvaluationPeriods sets the EvaluationPeriods field's value. 4283func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition { 4284 s.EvaluationPeriods = &v 4285 return s 4286} 4287 4288// SetMetricName sets the MetricName field's value. 4289func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition { 4290 s.MetricName = &v 4291 return s 4292} 4293 4294// SetNamespace sets the Namespace field's value. 4295func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition { 4296 s.Namespace = &v 4297 return s 4298} 4299 4300// SetPeriod sets the Period field's value. 4301func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition { 4302 s.Period = &v 4303 return s 4304} 4305 4306// SetStatistic sets the Statistic field's value. 4307func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition { 4308 s.Statistic = &v 4309 return s 4310} 4311 4312// SetThreshold sets the Threshold field's value. 4313func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition { 4314 s.Threshold = &v 4315 return s 4316} 4317 4318// SetUnit sets the Unit field's value. 4319func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition { 4320 s.Unit = &v 4321 return s 4322} 4323 4324// The detailed description of the cluster. 4325type Cluster struct { 4326 _ struct{} `type:"structure"` 4327 4328 // The applications installed on this cluster. 4329 Applications []*Application `type:"list"` 4330 4331 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 4332 // The IAM role provides permissions that the automatic scaling feature requires 4333 // to launch and terminate EC2 instances in an instance group. 4334 AutoScalingRole *string `type:"string"` 4335 4336 // Specifies whether the cluster should terminate after completing all steps. 4337 AutoTerminate *bool `type:"boolean"` 4338 4339 // The Amazon Resource Name of the cluster. 4340 ClusterArn *string `min:"20" type:"string"` 4341 4342 // Applies only to Amazon EMR releases 4.x and later. The list of Configurations 4343 // supplied to the EMR cluster. 4344 Configurations []*Configuration `type:"list"` 4345 4346 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 4347 // Amazon EBS-backed Linux AMI if the cluster uses a custom AMI. 4348 CustomAmiId *string `type:"string"` 4349 4350 // The size, in GiB, of the EBS root device volume of the Linux AMI that is 4351 // used for each EC2 instance. Available in Amazon EMR version 4.x and later. 4352 EbsRootVolumeSize *int64 `type:"integer"` 4353 4354 // Provides information about the EC2 instances in a cluster grouped by category. 4355 // For example, key name, subnet ID, IAM instance profile, and so on. 4356 Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"` 4357 4358 // The unique identifier for the cluster. 4359 Id *string `type:"string"` 4360 4361 // 4362 // The instance fleet configuration is available only in Amazon EMR versions 4363 // 4.8.0 and later, excluding 5.0.x versions. 4364 // 4365 // The instance group configuration of the cluster. A value of INSTANCE_GROUP 4366 // indicates a uniform instance group configuration. A value of INSTANCE_FLEET 4367 // indicates an instance fleets configuration. 4368 InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"` 4369 4370 // Attributes for Kerberos configuration when Kerberos authentication is enabled 4371 // using a security configuration. For more information see Use Kerberos Authentication 4372 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 4373 // in the EMR Management Guide. 4374 KerberosAttributes *KerberosAttributes `type:"structure"` 4375 4376 // The AWS KMS customer master key (CMK) used for encrypting log files. This 4377 // attribute is only available with EMR version 5.30.0 and later, excluding 4378 // EMR 6.0.0. 4379 LogEncryptionKmsKeyId *string `type:"string"` 4380 4381 // The path to the Amazon S3 location where logs for this cluster are stored. 4382 LogUri *string `type:"string"` 4383 4384 // The DNS name of the master node. If the cluster is on a private subnet, this 4385 // is the private DNS name. On a public subnet, this is the public DNS name. 4386 MasterPublicDnsName *string `type:"string"` 4387 4388 // The name of the cluster. 4389 Name *string `type:"string"` 4390 4391 // An approximation of the cost of the cluster, represented in m1.small/hours. 4392 // This value is incremented one time for every hour an m1.small instance runs. 4393 // Larger instances are weighted more, so an EC2 instance that is roughly four 4394 // times more expensive would result in the normalized instance hours being 4395 // incremented by four. This result is only an approximation and does not reflect 4396 // the actual billing rate. 4397 NormalizedInstanceHours *int64 `type:"integer"` 4398 4399 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 4400 OutpostArn *string `type:"string"` 4401 4402 // The Amazon EMR release label, which determines the version of open-source 4403 // application packages installed on the cluster. Release labels are in the 4404 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 4405 // For more information about Amazon EMR release versions and included application 4406 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 4407 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 4408 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 4409 // use AmiVersion. 4410 ReleaseLabel *string `type:"string"` 4411 4412 // Applies only when CustomAmiID is used. Specifies the type of updates that 4413 // are applied from the Amazon Linux AMI package repositories when an instance 4414 // boots using the AMI. 4415 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 4416 4417 // The AMI version requested for this cluster. 4418 RequestedAmiVersion *string `type:"string"` 4419 4420 // The AMI version running on this cluster. 4421 RunningAmiVersion *string `type:"string"` 4422 4423 // The way that individual Amazon EC2 instances terminate when an automatic 4424 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 4425 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 4426 // regardless of when the request to terminate the instance was submitted. This 4427 // option is only available with Amazon EMR 5.1.0 and later and is the default 4428 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 4429 // that Amazon EMR blacklists and drains tasks from nodes before terminating 4430 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 4431 // either behavior, Amazon EMR removes the least active nodes first and blocks 4432 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 4433 // is available only in Amazon EMR version 4.1.0 and later, and is the default 4434 // for versions of Amazon EMR earlier than 5.1.0. 4435 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 4436 4437 // The name of the security configuration applied to the cluster. 4438 SecurityConfiguration *string `type:"string"` 4439 4440 // The IAM role that will be assumed by the Amazon EMR service to access AWS 4441 // resources on your behalf. 4442 ServiceRole *string `type:"string"` 4443 4444 // The current status details about the cluster. 4445 Status *ClusterStatus `type:"structure"` 4446 4447 // Specifies the number of steps that can be executed concurrently. 4448 StepConcurrencyLevel *int64 `type:"integer"` 4449 4450 // A list of tags associated with a cluster. 4451 Tags []*Tag `type:"list"` 4452 4453 // Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances 4454 // from being terminated by an API call or user intervention, or in the event 4455 // of a cluster error. 4456 TerminationProtected *bool `type:"boolean"` 4457 4458 // Indicates whether the cluster is visible to all IAM users of the AWS account 4459 // associated with the cluster. The default value, true, indicates that all 4460 // IAM users in the AWS account can perform cluster actions if they have the 4461 // proper IAM policy permissions. If this value is false, only the IAM user 4462 // that created the cluster can perform actions. This value can be changed on 4463 // a running cluster by using the SetVisibleToAllUsers action. You can override 4464 // the default value of true when you create a cluster by using the VisibleToAllUsers 4465 // parameter of the RunJobFlow action. 4466 VisibleToAllUsers *bool `type:"boolean"` 4467} 4468 4469// String returns the string representation 4470func (s Cluster) String() string { 4471 return awsutil.Prettify(s) 4472} 4473 4474// GoString returns the string representation 4475func (s Cluster) GoString() string { 4476 return s.String() 4477} 4478 4479// SetApplications sets the Applications field's value. 4480func (s *Cluster) SetApplications(v []*Application) *Cluster { 4481 s.Applications = v 4482 return s 4483} 4484 4485// SetAutoScalingRole sets the AutoScalingRole field's value. 4486func (s *Cluster) SetAutoScalingRole(v string) *Cluster { 4487 s.AutoScalingRole = &v 4488 return s 4489} 4490 4491// SetAutoTerminate sets the AutoTerminate field's value. 4492func (s *Cluster) SetAutoTerminate(v bool) *Cluster { 4493 s.AutoTerminate = &v 4494 return s 4495} 4496 4497// SetClusterArn sets the ClusterArn field's value. 4498func (s *Cluster) SetClusterArn(v string) *Cluster { 4499 s.ClusterArn = &v 4500 return s 4501} 4502 4503// SetConfigurations sets the Configurations field's value. 4504func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster { 4505 s.Configurations = v 4506 return s 4507} 4508 4509// SetCustomAmiId sets the CustomAmiId field's value. 4510func (s *Cluster) SetCustomAmiId(v string) *Cluster { 4511 s.CustomAmiId = &v 4512 return s 4513} 4514 4515// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 4516func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster { 4517 s.EbsRootVolumeSize = &v 4518 return s 4519} 4520 4521// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value. 4522func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster { 4523 s.Ec2InstanceAttributes = v 4524 return s 4525} 4526 4527// SetId sets the Id field's value. 4528func (s *Cluster) SetId(v string) *Cluster { 4529 s.Id = &v 4530 return s 4531} 4532 4533// SetInstanceCollectionType sets the InstanceCollectionType field's value. 4534func (s *Cluster) SetInstanceCollectionType(v string) *Cluster { 4535 s.InstanceCollectionType = &v 4536 return s 4537} 4538 4539// SetKerberosAttributes sets the KerberosAttributes field's value. 4540func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster { 4541 s.KerberosAttributes = v 4542 return s 4543} 4544 4545// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 4546func (s *Cluster) SetLogEncryptionKmsKeyId(v string) *Cluster { 4547 s.LogEncryptionKmsKeyId = &v 4548 return s 4549} 4550 4551// SetLogUri sets the LogUri field's value. 4552func (s *Cluster) SetLogUri(v string) *Cluster { 4553 s.LogUri = &v 4554 return s 4555} 4556 4557// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 4558func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster { 4559 s.MasterPublicDnsName = &v 4560 return s 4561} 4562 4563// SetName sets the Name field's value. 4564func (s *Cluster) SetName(v string) *Cluster { 4565 s.Name = &v 4566 return s 4567} 4568 4569// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 4570func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster { 4571 s.NormalizedInstanceHours = &v 4572 return s 4573} 4574 4575// SetOutpostArn sets the OutpostArn field's value. 4576func (s *Cluster) SetOutpostArn(v string) *Cluster { 4577 s.OutpostArn = &v 4578 return s 4579} 4580 4581// SetReleaseLabel sets the ReleaseLabel field's value. 4582func (s *Cluster) SetReleaseLabel(v string) *Cluster { 4583 s.ReleaseLabel = &v 4584 return s 4585} 4586 4587// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 4588func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster { 4589 s.RepoUpgradeOnBoot = &v 4590 return s 4591} 4592 4593// SetRequestedAmiVersion sets the RequestedAmiVersion field's value. 4594func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster { 4595 s.RequestedAmiVersion = &v 4596 return s 4597} 4598 4599// SetRunningAmiVersion sets the RunningAmiVersion field's value. 4600func (s *Cluster) SetRunningAmiVersion(v string) *Cluster { 4601 s.RunningAmiVersion = &v 4602 return s 4603} 4604 4605// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 4606func (s *Cluster) SetScaleDownBehavior(v string) *Cluster { 4607 s.ScaleDownBehavior = &v 4608 return s 4609} 4610 4611// SetSecurityConfiguration sets the SecurityConfiguration field's value. 4612func (s *Cluster) SetSecurityConfiguration(v string) *Cluster { 4613 s.SecurityConfiguration = &v 4614 return s 4615} 4616 4617// SetServiceRole sets the ServiceRole field's value. 4618func (s *Cluster) SetServiceRole(v string) *Cluster { 4619 s.ServiceRole = &v 4620 return s 4621} 4622 4623// SetStatus sets the Status field's value. 4624func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster { 4625 s.Status = v 4626 return s 4627} 4628 4629// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 4630func (s *Cluster) SetStepConcurrencyLevel(v int64) *Cluster { 4631 s.StepConcurrencyLevel = &v 4632 return s 4633} 4634 4635// SetTags sets the Tags field's value. 4636func (s *Cluster) SetTags(v []*Tag) *Cluster { 4637 s.Tags = v 4638 return s 4639} 4640 4641// SetTerminationProtected sets the TerminationProtected field's value. 4642func (s *Cluster) SetTerminationProtected(v bool) *Cluster { 4643 s.TerminationProtected = &v 4644 return s 4645} 4646 4647// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 4648func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster { 4649 s.VisibleToAllUsers = &v 4650 return s 4651} 4652 4653// The reason that the cluster changed to its current state. 4654type ClusterStateChangeReason struct { 4655 _ struct{} `type:"structure"` 4656 4657 // The programmatic code for the state change reason. 4658 Code *string `type:"string" enum:"ClusterStateChangeReasonCode"` 4659 4660 // The descriptive message for the state change reason. 4661 Message *string `type:"string"` 4662} 4663 4664// String returns the string representation 4665func (s ClusterStateChangeReason) String() string { 4666 return awsutil.Prettify(s) 4667} 4668 4669// GoString returns the string representation 4670func (s ClusterStateChangeReason) GoString() string { 4671 return s.String() 4672} 4673 4674// SetCode sets the Code field's value. 4675func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason { 4676 s.Code = &v 4677 return s 4678} 4679 4680// SetMessage sets the Message field's value. 4681func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason { 4682 s.Message = &v 4683 return s 4684} 4685 4686// The detailed status of the cluster. 4687type ClusterStatus struct { 4688 _ struct{} `type:"structure"` 4689 4690 // The current state of the cluster. 4691 State *string `type:"string" enum:"ClusterState"` 4692 4693 // The reason for the cluster status change. 4694 StateChangeReason *ClusterStateChangeReason `type:"structure"` 4695 4696 // A timeline that represents the status of a cluster over the lifetime of the 4697 // cluster. 4698 Timeline *ClusterTimeline `type:"structure"` 4699} 4700 4701// String returns the string representation 4702func (s ClusterStatus) String() string { 4703 return awsutil.Prettify(s) 4704} 4705 4706// GoString returns the string representation 4707func (s ClusterStatus) GoString() string { 4708 return s.String() 4709} 4710 4711// SetState sets the State field's value. 4712func (s *ClusterStatus) SetState(v string) *ClusterStatus { 4713 s.State = &v 4714 return s 4715} 4716 4717// SetStateChangeReason sets the StateChangeReason field's value. 4718func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus { 4719 s.StateChangeReason = v 4720 return s 4721} 4722 4723// SetTimeline sets the Timeline field's value. 4724func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus { 4725 s.Timeline = v 4726 return s 4727} 4728 4729// The summary description of the cluster. 4730type ClusterSummary struct { 4731 _ struct{} `type:"structure"` 4732 4733 // The Amazon Resource Name of the cluster. 4734 ClusterArn *string `min:"20" type:"string"` 4735 4736 // The unique identifier for the cluster. 4737 Id *string `type:"string"` 4738 4739 // The name of the cluster. 4740 Name *string `type:"string"` 4741 4742 // An approximation of the cost of the cluster, represented in m1.small/hours. 4743 // This value is incremented one time for every hour an m1.small instance runs. 4744 // Larger instances are weighted more, so an EC2 instance that is roughly four 4745 // times more expensive would result in the normalized instance hours being 4746 // incremented by four. This result is only an approximation and does not reflect 4747 // the actual billing rate. 4748 NormalizedInstanceHours *int64 `type:"integer"` 4749 4750 // The Amazon Resource Name (ARN) of the Outpost where the cluster is launched. 4751 OutpostArn *string `type:"string"` 4752 4753 // The details about the current status of the cluster. 4754 Status *ClusterStatus `type:"structure"` 4755} 4756 4757// String returns the string representation 4758func (s ClusterSummary) String() string { 4759 return awsutil.Prettify(s) 4760} 4761 4762// GoString returns the string representation 4763func (s ClusterSummary) GoString() string { 4764 return s.String() 4765} 4766 4767// SetClusterArn sets the ClusterArn field's value. 4768func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { 4769 s.ClusterArn = &v 4770 return s 4771} 4772 4773// SetId sets the Id field's value. 4774func (s *ClusterSummary) SetId(v string) *ClusterSummary { 4775 s.Id = &v 4776 return s 4777} 4778 4779// SetName sets the Name field's value. 4780func (s *ClusterSummary) SetName(v string) *ClusterSummary { 4781 s.Name = &v 4782 return s 4783} 4784 4785// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 4786func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary { 4787 s.NormalizedInstanceHours = &v 4788 return s 4789} 4790 4791// SetOutpostArn sets the OutpostArn field's value. 4792func (s *ClusterSummary) SetOutpostArn(v string) *ClusterSummary { 4793 s.OutpostArn = &v 4794 return s 4795} 4796 4797// SetStatus sets the Status field's value. 4798func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary { 4799 s.Status = v 4800 return s 4801} 4802 4803// Represents the timeline of the cluster's lifecycle. 4804type ClusterTimeline struct { 4805 _ struct{} `type:"structure"` 4806 4807 // The creation date and time of the cluster. 4808 CreationDateTime *time.Time `type:"timestamp"` 4809 4810 // The date and time when the cluster was terminated. 4811 EndDateTime *time.Time `type:"timestamp"` 4812 4813 // The date and time when the cluster was ready to execute steps. 4814 ReadyDateTime *time.Time `type:"timestamp"` 4815} 4816 4817// String returns the string representation 4818func (s ClusterTimeline) String() string { 4819 return awsutil.Prettify(s) 4820} 4821 4822// GoString returns the string representation 4823func (s ClusterTimeline) GoString() string { 4824 return s.String() 4825} 4826 4827// SetCreationDateTime sets the CreationDateTime field's value. 4828func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline { 4829 s.CreationDateTime = &v 4830 return s 4831} 4832 4833// SetEndDateTime sets the EndDateTime field's value. 4834func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline { 4835 s.EndDateTime = &v 4836 return s 4837} 4838 4839// SetReadyDateTime sets the ReadyDateTime field's value. 4840func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline { 4841 s.ReadyDateTime = &v 4842 return s 4843} 4844 4845// An entity describing an executable that runs on a cluster. 4846type Command struct { 4847 _ struct{} `type:"structure"` 4848 4849 // Arguments for Amazon EMR to pass to the command for execution. 4850 Args []*string `type:"list"` 4851 4852 // The name of the command. 4853 Name *string `type:"string"` 4854 4855 // The Amazon S3 location of the command script. 4856 ScriptPath *string `type:"string"` 4857} 4858 4859// String returns the string representation 4860func (s Command) String() string { 4861 return awsutil.Prettify(s) 4862} 4863 4864// GoString returns the string representation 4865func (s Command) GoString() string { 4866 return s.String() 4867} 4868 4869// SetArgs sets the Args field's value. 4870func (s *Command) SetArgs(v []*string) *Command { 4871 s.Args = v 4872 return s 4873} 4874 4875// SetName sets the Name field's value. 4876func (s *Command) SetName(v string) *Command { 4877 s.Name = &v 4878 return s 4879} 4880 4881// SetScriptPath sets the ScriptPath field's value. 4882func (s *Command) SetScriptPath(v string) *Command { 4883 s.ScriptPath = &v 4884 return s 4885} 4886 4887// The EC2 unit limits for a managed scaling policy. The managed scaling activity 4888// of a cluster can not be above or below these limits. The limit only applies 4889// to the core and task nodes. The master node cannot be scaled after initial 4890// configuration. 4891type ComputeLimits struct { 4892 _ struct{} `type:"structure"` 4893 4894 // The upper boundary of EC2 units. It is measured through VCPU cores or instances 4895 // for instance groups and measured through units for instance fleets. Managed 4896 // scaling activities are not allowed beyond this boundary. The limit only applies 4897 // to the core and task nodes. The master node cannot be scaled after initial 4898 // configuration. 4899 // 4900 // MaximumCapacityUnits is a required field 4901 MaximumCapacityUnits *int64 `type:"integer" required:"true"` 4902 4903 // The upper boundary of EC2 units for core node type in a cluster. It is measured 4904 // through VCPU cores or instances for instance groups and measured through 4905 // units for instance fleets. The core units are not allowed to scale beyond 4906 // this boundary. The parameter is used to split capacity allocation between 4907 // core and task nodes. 4908 MaximumCoreCapacityUnits *int64 `type:"integer"` 4909 4910 // The upper boundary of On-Demand EC2 units. It is measured through VCPU cores 4911 // or instances for instance groups and measured through units for instance 4912 // fleets. The On-Demand units are not allowed to scale beyond this boundary. 4913 // The parameter is used to split capacity allocation between On-Demand and 4914 // Spot instances. 4915 MaximumOnDemandCapacityUnits *int64 `type:"integer"` 4916 4917 // The lower boundary of EC2 units. It is measured through VCPU cores or instances 4918 // for instance groups and measured through units for instance fleets. Managed 4919 // scaling activities are not allowed beyond this boundary. The limit only applies 4920 // to the core and task nodes. The master node cannot be scaled after initial 4921 // configuration. 4922 // 4923 // MinimumCapacityUnits is a required field 4924 MinimumCapacityUnits *int64 `type:"integer" required:"true"` 4925 4926 // The unit type used for specifying a managed scaling policy. 4927 // 4928 // UnitType is a required field 4929 UnitType *string `type:"string" required:"true" enum:"ComputeLimitsUnitType"` 4930} 4931 4932// String returns the string representation 4933func (s ComputeLimits) String() string { 4934 return awsutil.Prettify(s) 4935} 4936 4937// GoString returns the string representation 4938func (s ComputeLimits) GoString() string { 4939 return s.String() 4940} 4941 4942// Validate inspects the fields of the type to determine if they are valid. 4943func (s *ComputeLimits) Validate() error { 4944 invalidParams := request.ErrInvalidParams{Context: "ComputeLimits"} 4945 if s.MaximumCapacityUnits == nil { 4946 invalidParams.Add(request.NewErrParamRequired("MaximumCapacityUnits")) 4947 } 4948 if s.MinimumCapacityUnits == nil { 4949 invalidParams.Add(request.NewErrParamRequired("MinimumCapacityUnits")) 4950 } 4951 if s.UnitType == nil { 4952 invalidParams.Add(request.NewErrParamRequired("UnitType")) 4953 } 4954 4955 if invalidParams.Len() > 0 { 4956 return invalidParams 4957 } 4958 return nil 4959} 4960 4961// SetMaximumCapacityUnits sets the MaximumCapacityUnits field's value. 4962func (s *ComputeLimits) SetMaximumCapacityUnits(v int64) *ComputeLimits { 4963 s.MaximumCapacityUnits = &v 4964 return s 4965} 4966 4967// SetMaximumCoreCapacityUnits sets the MaximumCoreCapacityUnits field's value. 4968func (s *ComputeLimits) SetMaximumCoreCapacityUnits(v int64) *ComputeLimits { 4969 s.MaximumCoreCapacityUnits = &v 4970 return s 4971} 4972 4973// SetMaximumOnDemandCapacityUnits sets the MaximumOnDemandCapacityUnits field's value. 4974func (s *ComputeLimits) SetMaximumOnDemandCapacityUnits(v int64) *ComputeLimits { 4975 s.MaximumOnDemandCapacityUnits = &v 4976 return s 4977} 4978 4979// SetMinimumCapacityUnits sets the MinimumCapacityUnits field's value. 4980func (s *ComputeLimits) SetMinimumCapacityUnits(v int64) *ComputeLimits { 4981 s.MinimumCapacityUnits = &v 4982 return s 4983} 4984 4985// SetUnitType sets the UnitType field's value. 4986func (s *ComputeLimits) SetUnitType(v string) *ComputeLimits { 4987 s.UnitType = &v 4988 return s 4989} 4990 4991// 4992// Amazon EMR releases 4.x or later. 4993// 4994// An optional configuration specification to be used when provisioning cluster 4995// instances, which can include configurations for applications and software 4996// bundled with Amazon EMR. A configuration consists of a classification, properties, 4997// and optional nested configurations. A classification refers to an application-specific 4998// configuration file. Properties are the settings you want to change in that 4999// file. For more information, see Configuring Applications (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html). 5000type Configuration struct { 5001 _ struct{} `type:"structure"` 5002 5003 // The classification within a configuration. 5004 Classification *string `type:"string"` 5005 5006 // A list of additional configurations to apply within a configuration object. 5007 Configurations []*Configuration `type:"list"` 5008 5009 // A set of properties specified within a configuration classification. 5010 Properties map[string]*string `type:"map"` 5011} 5012 5013// String returns the string representation 5014func (s Configuration) String() string { 5015 return awsutil.Prettify(s) 5016} 5017 5018// GoString returns the string representation 5019func (s Configuration) GoString() string { 5020 return s.String() 5021} 5022 5023// SetClassification sets the Classification field's value. 5024func (s *Configuration) SetClassification(v string) *Configuration { 5025 s.Classification = &v 5026 return s 5027} 5028 5029// SetConfigurations sets the Configurations field's value. 5030func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration { 5031 s.Configurations = v 5032 return s 5033} 5034 5035// SetProperties sets the Properties field's value. 5036func (s *Configuration) SetProperties(v map[string]*string) *Configuration { 5037 s.Properties = v 5038 return s 5039} 5040 5041type CreateSecurityConfigurationInput struct { 5042 _ struct{} `type:"structure"` 5043 5044 // The name of the security configuration. 5045 // 5046 // Name is a required field 5047 Name *string `type:"string" required:"true"` 5048 5049 // The security configuration details in JSON format. For JSON parameters and 5050 // examples, see Use Security Configurations to Set Up Cluster Security (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html) 5051 // in the Amazon EMR Management Guide. 5052 // 5053 // SecurityConfiguration is a required field 5054 SecurityConfiguration *string `type:"string" required:"true"` 5055} 5056 5057// String returns the string representation 5058func (s CreateSecurityConfigurationInput) String() string { 5059 return awsutil.Prettify(s) 5060} 5061 5062// GoString returns the string representation 5063func (s CreateSecurityConfigurationInput) GoString() string { 5064 return s.String() 5065} 5066 5067// Validate inspects the fields of the type to determine if they are valid. 5068func (s *CreateSecurityConfigurationInput) Validate() error { 5069 invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"} 5070 if s.Name == nil { 5071 invalidParams.Add(request.NewErrParamRequired("Name")) 5072 } 5073 if s.SecurityConfiguration == nil { 5074 invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration")) 5075 } 5076 5077 if invalidParams.Len() > 0 { 5078 return invalidParams 5079 } 5080 return nil 5081} 5082 5083// SetName sets the Name field's value. 5084func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput { 5085 s.Name = &v 5086 return s 5087} 5088 5089// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5090func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput { 5091 s.SecurityConfiguration = &v 5092 return s 5093} 5094 5095type CreateSecurityConfigurationOutput struct { 5096 _ struct{} `type:"structure"` 5097 5098 // The date and time the security configuration was created. 5099 // 5100 // CreationDateTime is a required field 5101 CreationDateTime *time.Time `type:"timestamp" required:"true"` 5102 5103 // The name of the security configuration. 5104 // 5105 // Name is a required field 5106 Name *string `type:"string" required:"true"` 5107} 5108 5109// String returns the string representation 5110func (s CreateSecurityConfigurationOutput) String() string { 5111 return awsutil.Prettify(s) 5112} 5113 5114// GoString returns the string representation 5115func (s CreateSecurityConfigurationOutput) GoString() string { 5116 return s.String() 5117} 5118 5119// SetCreationDateTime sets the CreationDateTime field's value. 5120func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput { 5121 s.CreationDateTime = &v 5122 return s 5123} 5124 5125// SetName sets the Name field's value. 5126func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput { 5127 s.Name = &v 5128 return s 5129} 5130 5131type DeleteSecurityConfigurationInput struct { 5132 _ struct{} `type:"structure"` 5133 5134 // The name of the security configuration. 5135 // 5136 // Name is a required field 5137 Name *string `type:"string" required:"true"` 5138} 5139 5140// String returns the string representation 5141func (s DeleteSecurityConfigurationInput) String() string { 5142 return awsutil.Prettify(s) 5143} 5144 5145// GoString returns the string representation 5146func (s DeleteSecurityConfigurationInput) GoString() string { 5147 return s.String() 5148} 5149 5150// Validate inspects the fields of the type to determine if they are valid. 5151func (s *DeleteSecurityConfigurationInput) Validate() error { 5152 invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"} 5153 if s.Name == nil { 5154 invalidParams.Add(request.NewErrParamRequired("Name")) 5155 } 5156 5157 if invalidParams.Len() > 0 { 5158 return invalidParams 5159 } 5160 return nil 5161} 5162 5163// SetName sets the Name field's value. 5164func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput { 5165 s.Name = &v 5166 return s 5167} 5168 5169type DeleteSecurityConfigurationOutput struct { 5170 _ struct{} `type:"structure"` 5171} 5172 5173// String returns the string representation 5174func (s DeleteSecurityConfigurationOutput) String() string { 5175 return awsutil.Prettify(s) 5176} 5177 5178// GoString returns the string representation 5179func (s DeleteSecurityConfigurationOutput) GoString() string { 5180 return s.String() 5181} 5182 5183// This input determines which cluster to describe. 5184type DescribeClusterInput struct { 5185 _ struct{} `type:"structure"` 5186 5187 // The identifier of the cluster to describe. 5188 // 5189 // ClusterId is a required field 5190 ClusterId *string `type:"string" required:"true"` 5191} 5192 5193// String returns the string representation 5194func (s DescribeClusterInput) String() string { 5195 return awsutil.Prettify(s) 5196} 5197 5198// GoString returns the string representation 5199func (s DescribeClusterInput) GoString() string { 5200 return s.String() 5201} 5202 5203// Validate inspects the fields of the type to determine if they are valid. 5204func (s *DescribeClusterInput) Validate() error { 5205 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 5206 if s.ClusterId == nil { 5207 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5208 } 5209 5210 if invalidParams.Len() > 0 { 5211 return invalidParams 5212 } 5213 return nil 5214} 5215 5216// SetClusterId sets the ClusterId field's value. 5217func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput { 5218 s.ClusterId = &v 5219 return s 5220} 5221 5222// This output contains the description of the cluster. 5223type DescribeClusterOutput struct { 5224 _ struct{} `type:"structure"` 5225 5226 // This output contains the details for the requested cluster. 5227 Cluster *Cluster `type:"structure"` 5228} 5229 5230// String returns the string representation 5231func (s DescribeClusterOutput) String() string { 5232 return awsutil.Prettify(s) 5233} 5234 5235// GoString returns the string representation 5236func (s DescribeClusterOutput) GoString() string { 5237 return s.String() 5238} 5239 5240// SetCluster sets the Cluster field's value. 5241func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput { 5242 s.Cluster = v 5243 return s 5244} 5245 5246// The input for the DescribeJobFlows operation. 5247type DescribeJobFlowsInput struct { 5248 _ struct{} `type:"structure"` 5249 5250 // Return only job flows created after this date and time. 5251 CreatedAfter *time.Time `type:"timestamp"` 5252 5253 // Return only job flows created before this date and time. 5254 CreatedBefore *time.Time `type:"timestamp"` 5255 5256 // Return only job flows whose job flow ID is contained in this list. 5257 JobFlowIds []*string `type:"list"` 5258 5259 // Return only job flows whose state is contained in this list. 5260 JobFlowStates []*string `type:"list"` 5261} 5262 5263// String returns the string representation 5264func (s DescribeJobFlowsInput) String() string { 5265 return awsutil.Prettify(s) 5266} 5267 5268// GoString returns the string representation 5269func (s DescribeJobFlowsInput) GoString() string { 5270 return s.String() 5271} 5272 5273// SetCreatedAfter sets the CreatedAfter field's value. 5274func (s *DescribeJobFlowsInput) SetCreatedAfter(v time.Time) *DescribeJobFlowsInput { 5275 s.CreatedAfter = &v 5276 return s 5277} 5278 5279// SetCreatedBefore sets the CreatedBefore field's value. 5280func (s *DescribeJobFlowsInput) SetCreatedBefore(v time.Time) *DescribeJobFlowsInput { 5281 s.CreatedBefore = &v 5282 return s 5283} 5284 5285// SetJobFlowIds sets the JobFlowIds field's value. 5286func (s *DescribeJobFlowsInput) SetJobFlowIds(v []*string) *DescribeJobFlowsInput { 5287 s.JobFlowIds = v 5288 return s 5289} 5290 5291// SetJobFlowStates sets the JobFlowStates field's value. 5292func (s *DescribeJobFlowsInput) SetJobFlowStates(v []*string) *DescribeJobFlowsInput { 5293 s.JobFlowStates = v 5294 return s 5295} 5296 5297// The output for the DescribeJobFlows operation. 5298type DescribeJobFlowsOutput struct { 5299 _ struct{} `type:"structure"` 5300 5301 // A list of job flows matching the parameters supplied. 5302 JobFlows []*JobFlowDetail `type:"list"` 5303} 5304 5305// String returns the string representation 5306func (s DescribeJobFlowsOutput) String() string { 5307 return awsutil.Prettify(s) 5308} 5309 5310// GoString returns the string representation 5311func (s DescribeJobFlowsOutput) GoString() string { 5312 return s.String() 5313} 5314 5315// SetJobFlows sets the JobFlows field's value. 5316func (s *DescribeJobFlowsOutput) SetJobFlows(v []*JobFlowDetail) *DescribeJobFlowsOutput { 5317 s.JobFlows = v 5318 return s 5319} 5320 5321type DescribeSecurityConfigurationInput struct { 5322 _ struct{} `type:"structure"` 5323 5324 // The name of the security configuration. 5325 // 5326 // Name is a required field 5327 Name *string `type:"string" required:"true"` 5328} 5329 5330// String returns the string representation 5331func (s DescribeSecurityConfigurationInput) String() string { 5332 return awsutil.Prettify(s) 5333} 5334 5335// GoString returns the string representation 5336func (s DescribeSecurityConfigurationInput) GoString() string { 5337 return s.String() 5338} 5339 5340// Validate inspects the fields of the type to determine if they are valid. 5341func (s *DescribeSecurityConfigurationInput) Validate() error { 5342 invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"} 5343 if s.Name == nil { 5344 invalidParams.Add(request.NewErrParamRequired("Name")) 5345 } 5346 5347 if invalidParams.Len() > 0 { 5348 return invalidParams 5349 } 5350 return nil 5351} 5352 5353// SetName sets the Name field's value. 5354func (s *DescribeSecurityConfigurationInput) SetName(v string) *DescribeSecurityConfigurationInput { 5355 s.Name = &v 5356 return s 5357} 5358 5359type DescribeSecurityConfigurationOutput struct { 5360 _ struct{} `type:"structure"` 5361 5362 // The date and time the security configuration was created 5363 CreationDateTime *time.Time `type:"timestamp"` 5364 5365 // The name of the security configuration. 5366 Name *string `type:"string"` 5367 5368 // The security configuration details in JSON format. 5369 SecurityConfiguration *string `type:"string"` 5370} 5371 5372// String returns the string representation 5373func (s DescribeSecurityConfigurationOutput) String() string { 5374 return awsutil.Prettify(s) 5375} 5376 5377// GoString returns the string representation 5378func (s DescribeSecurityConfigurationOutput) GoString() string { 5379 return s.String() 5380} 5381 5382// SetCreationDateTime sets the CreationDateTime field's value. 5383func (s *DescribeSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *DescribeSecurityConfigurationOutput { 5384 s.CreationDateTime = &v 5385 return s 5386} 5387 5388// SetName sets the Name field's value. 5389func (s *DescribeSecurityConfigurationOutput) SetName(v string) *DescribeSecurityConfigurationOutput { 5390 s.Name = &v 5391 return s 5392} 5393 5394// SetSecurityConfiguration sets the SecurityConfiguration field's value. 5395func (s *DescribeSecurityConfigurationOutput) SetSecurityConfiguration(v string) *DescribeSecurityConfigurationOutput { 5396 s.SecurityConfiguration = &v 5397 return s 5398} 5399 5400// This input determines which step to describe. 5401type DescribeStepInput struct { 5402 _ struct{} `type:"structure"` 5403 5404 // The identifier of the cluster with steps to describe. 5405 // 5406 // ClusterId is a required field 5407 ClusterId *string `type:"string" required:"true"` 5408 5409 // The identifier of the step to describe. 5410 // 5411 // StepId is a required field 5412 StepId *string `type:"string" required:"true"` 5413} 5414 5415// String returns the string representation 5416func (s DescribeStepInput) String() string { 5417 return awsutil.Prettify(s) 5418} 5419 5420// GoString returns the string representation 5421func (s DescribeStepInput) GoString() string { 5422 return s.String() 5423} 5424 5425// Validate inspects the fields of the type to determine if they are valid. 5426func (s *DescribeStepInput) Validate() error { 5427 invalidParams := request.ErrInvalidParams{Context: "DescribeStepInput"} 5428 if s.ClusterId == nil { 5429 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5430 } 5431 if s.StepId == nil { 5432 invalidParams.Add(request.NewErrParamRequired("StepId")) 5433 } 5434 5435 if invalidParams.Len() > 0 { 5436 return invalidParams 5437 } 5438 return nil 5439} 5440 5441// SetClusterId sets the ClusterId field's value. 5442func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput { 5443 s.ClusterId = &v 5444 return s 5445} 5446 5447// SetStepId sets the StepId field's value. 5448func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput { 5449 s.StepId = &v 5450 return s 5451} 5452 5453// This output contains the description of the cluster step. 5454type DescribeStepOutput struct { 5455 _ struct{} `type:"structure"` 5456 5457 // The step details for the requested step identifier. 5458 Step *Step `type:"structure"` 5459} 5460 5461// String returns the string representation 5462func (s DescribeStepOutput) String() string { 5463 return awsutil.Prettify(s) 5464} 5465 5466// GoString returns the string representation 5467func (s DescribeStepOutput) GoString() string { 5468 return s.String() 5469} 5470 5471// SetStep sets the Step field's value. 5472func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput { 5473 s.Step = v 5474 return s 5475} 5476 5477// Configuration of requested EBS block device associated with the instance 5478// group. 5479type EbsBlockDevice struct { 5480 _ struct{} `type:"structure"` 5481 5482 // The device name that is exposed to the instance, such as /dev/sdh. 5483 Device *string `type:"string"` 5484 5485 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 5486 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 5487 VolumeSpecification *VolumeSpecification `type:"structure"` 5488} 5489 5490// String returns the string representation 5491func (s EbsBlockDevice) String() string { 5492 return awsutil.Prettify(s) 5493} 5494 5495// GoString returns the string representation 5496func (s EbsBlockDevice) GoString() string { 5497 return s.String() 5498} 5499 5500// SetDevice sets the Device field's value. 5501func (s *EbsBlockDevice) SetDevice(v string) *EbsBlockDevice { 5502 s.Device = &v 5503 return s 5504} 5505 5506// SetVolumeSpecification sets the VolumeSpecification field's value. 5507func (s *EbsBlockDevice) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDevice { 5508 s.VolumeSpecification = v 5509 return s 5510} 5511 5512// Configuration of requested EBS block device associated with the instance 5513// group with count of volumes that will be associated to every instance. 5514type EbsBlockDeviceConfig struct { 5515 _ struct{} `type:"structure"` 5516 5517 // EBS volume specifications such as volume type, IOPS, and size (GiB) that 5518 // will be requested for the EBS volume attached to an EC2 instance in the cluster. 5519 // 5520 // VolumeSpecification is a required field 5521 VolumeSpecification *VolumeSpecification `type:"structure" required:"true"` 5522 5523 // Number of EBS volumes with a specific volume configuration that will be associated 5524 // with every instance in the instance group 5525 VolumesPerInstance *int64 `type:"integer"` 5526} 5527 5528// String returns the string representation 5529func (s EbsBlockDeviceConfig) String() string { 5530 return awsutil.Prettify(s) 5531} 5532 5533// GoString returns the string representation 5534func (s EbsBlockDeviceConfig) GoString() string { 5535 return s.String() 5536} 5537 5538// Validate inspects the fields of the type to determine if they are valid. 5539func (s *EbsBlockDeviceConfig) Validate() error { 5540 invalidParams := request.ErrInvalidParams{Context: "EbsBlockDeviceConfig"} 5541 if s.VolumeSpecification == nil { 5542 invalidParams.Add(request.NewErrParamRequired("VolumeSpecification")) 5543 } 5544 if s.VolumeSpecification != nil { 5545 if err := s.VolumeSpecification.Validate(); err != nil { 5546 invalidParams.AddNested("VolumeSpecification", err.(request.ErrInvalidParams)) 5547 } 5548 } 5549 5550 if invalidParams.Len() > 0 { 5551 return invalidParams 5552 } 5553 return nil 5554} 5555 5556// SetVolumeSpecification sets the VolumeSpecification field's value. 5557func (s *EbsBlockDeviceConfig) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDeviceConfig { 5558 s.VolumeSpecification = v 5559 return s 5560} 5561 5562// SetVolumesPerInstance sets the VolumesPerInstance field's value. 5563func (s *EbsBlockDeviceConfig) SetVolumesPerInstance(v int64) *EbsBlockDeviceConfig { 5564 s.VolumesPerInstance = &v 5565 return s 5566} 5567 5568// The Amazon EBS configuration of a cluster instance. 5569type EbsConfiguration struct { 5570 _ struct{} `type:"structure"` 5571 5572 // An array of Amazon EBS volume specifications attached to a cluster instance. 5573 EbsBlockDeviceConfigs []*EbsBlockDeviceConfig `type:"list"` 5574 5575 // Indicates whether an Amazon EBS volume is EBS-optimized. 5576 EbsOptimized *bool `type:"boolean"` 5577} 5578 5579// String returns the string representation 5580func (s EbsConfiguration) String() string { 5581 return awsutil.Prettify(s) 5582} 5583 5584// GoString returns the string representation 5585func (s EbsConfiguration) GoString() string { 5586 return s.String() 5587} 5588 5589// Validate inspects the fields of the type to determine if they are valid. 5590func (s *EbsConfiguration) Validate() error { 5591 invalidParams := request.ErrInvalidParams{Context: "EbsConfiguration"} 5592 if s.EbsBlockDeviceConfigs != nil { 5593 for i, v := range s.EbsBlockDeviceConfigs { 5594 if v == nil { 5595 continue 5596 } 5597 if err := v.Validate(); err != nil { 5598 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EbsBlockDeviceConfigs", i), err.(request.ErrInvalidParams)) 5599 } 5600 } 5601 } 5602 5603 if invalidParams.Len() > 0 { 5604 return invalidParams 5605 } 5606 return nil 5607} 5608 5609// SetEbsBlockDeviceConfigs sets the EbsBlockDeviceConfigs field's value. 5610func (s *EbsConfiguration) SetEbsBlockDeviceConfigs(v []*EbsBlockDeviceConfig) *EbsConfiguration { 5611 s.EbsBlockDeviceConfigs = v 5612 return s 5613} 5614 5615// SetEbsOptimized sets the EbsOptimized field's value. 5616func (s *EbsConfiguration) SetEbsOptimized(v bool) *EbsConfiguration { 5617 s.EbsOptimized = &v 5618 return s 5619} 5620 5621// EBS block device that's attached to an EC2 instance. 5622type EbsVolume struct { 5623 _ struct{} `type:"structure"` 5624 5625 // The device name that is exposed to the instance, such as /dev/sdh. 5626 Device *string `type:"string"` 5627 5628 // The volume identifier of the EBS volume. 5629 VolumeId *string `type:"string"` 5630} 5631 5632// String returns the string representation 5633func (s EbsVolume) String() string { 5634 return awsutil.Prettify(s) 5635} 5636 5637// GoString returns the string representation 5638func (s EbsVolume) GoString() string { 5639 return s.String() 5640} 5641 5642// SetDevice sets the Device field's value. 5643func (s *EbsVolume) SetDevice(v string) *EbsVolume { 5644 s.Device = &v 5645 return s 5646} 5647 5648// SetVolumeId sets the VolumeId field's value. 5649func (s *EbsVolume) SetVolumeId(v string) *EbsVolume { 5650 s.VolumeId = &v 5651 return s 5652} 5653 5654// Provides information about the EC2 instances in a cluster grouped by category. 5655// For example, key name, subnet ID, IAM instance profile, and so on. 5656type Ec2InstanceAttributes struct { 5657 _ struct{} `type:"structure"` 5658 5659 // A list of additional Amazon EC2 security group IDs for the master node. 5660 AdditionalMasterSecurityGroups []*string `type:"list"` 5661 5662 // A list of additional Amazon EC2 security group IDs for the core and task 5663 // nodes. 5664 AdditionalSlaveSecurityGroups []*string `type:"list"` 5665 5666 // The Availability Zone in which the cluster will run. 5667 Ec2AvailabilityZone *string `type:"string"` 5668 5669 // The name of the Amazon EC2 key pair to use when connecting with SSH into 5670 // the master node as a user named "hadoop". 5671 Ec2KeyName *string `type:"string"` 5672 5673 // Set this parameter to the identifier of the Amazon VPC subnet where you want 5674 // the cluster to launch. If you do not specify this value, and your account 5675 // supports EC2-Classic, the cluster launches in EC2-Classic. 5676 Ec2SubnetId *string `type:"string"` 5677 5678 // The identifier of the Amazon EC2 security group for the master node. 5679 EmrManagedMasterSecurityGroup *string `type:"string"` 5680 5681 // The identifier of the Amazon EC2 security group for the core and task nodes. 5682 EmrManagedSlaveSecurityGroup *string `type:"string"` 5683 5684 // The IAM role that was specified when the cluster was launched. The EC2 instances 5685 // of the cluster assume this role. 5686 IamInstanceProfile *string `type:"string"` 5687 5688 // Applies to clusters configured with the instance fleets option. Specifies 5689 // one or more Availability Zones in which to launch EC2 cluster instances when 5690 // the EC2-Classic network configuration is supported. Amazon EMR chooses the 5691 // Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones, 5692 // and then launches all cluster instances within that Availability Zone. If 5693 // you do not specify this value, Amazon EMR chooses the Availability Zone for 5694 // you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified 5695 // together. 5696 RequestedEc2AvailabilityZones []*string `type:"list"` 5697 5698 // Applies to clusters configured with the instance fleets option. Specifies 5699 // the unique identifier of one or more Amazon EC2 subnets in which to launch 5700 // EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR 5701 // chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds, 5702 // and then launches all cluster instances within that Subnet. If this value 5703 // is not specified, and the account and Region support EC2-Classic networks, 5704 // the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones 5705 // instead of this setting. If EC2-Classic is not supported, and no Subnet is 5706 // specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and 5707 // RequestedEc2AvailabilityZones cannot be specified together. 5708 RequestedEc2SubnetIds []*string `type:"list"` 5709 5710 // The identifier of the Amazon EC2 security group for the Amazon EMR service 5711 // to access clusters in VPC private subnets. 5712 ServiceAccessSecurityGroup *string `type:"string"` 5713} 5714 5715// String returns the string representation 5716func (s Ec2InstanceAttributes) String() string { 5717 return awsutil.Prettify(s) 5718} 5719 5720// GoString returns the string representation 5721func (s Ec2InstanceAttributes) GoString() string { 5722 return s.String() 5723} 5724 5725// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 5726func (s *Ec2InstanceAttributes) SetAdditionalMasterSecurityGroups(v []*string) *Ec2InstanceAttributes { 5727 s.AdditionalMasterSecurityGroups = v 5728 return s 5729} 5730 5731// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 5732func (s *Ec2InstanceAttributes) SetAdditionalSlaveSecurityGroups(v []*string) *Ec2InstanceAttributes { 5733 s.AdditionalSlaveSecurityGroups = v 5734 return s 5735} 5736 5737// SetEc2AvailabilityZone sets the Ec2AvailabilityZone field's value. 5738func (s *Ec2InstanceAttributes) SetEc2AvailabilityZone(v string) *Ec2InstanceAttributes { 5739 s.Ec2AvailabilityZone = &v 5740 return s 5741} 5742 5743// SetEc2KeyName sets the Ec2KeyName field's value. 5744func (s *Ec2InstanceAttributes) SetEc2KeyName(v string) *Ec2InstanceAttributes { 5745 s.Ec2KeyName = &v 5746 return s 5747} 5748 5749// SetEc2SubnetId sets the Ec2SubnetId field's value. 5750func (s *Ec2InstanceAttributes) SetEc2SubnetId(v string) *Ec2InstanceAttributes { 5751 s.Ec2SubnetId = &v 5752 return s 5753} 5754 5755// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 5756func (s *Ec2InstanceAttributes) SetEmrManagedMasterSecurityGroup(v string) *Ec2InstanceAttributes { 5757 s.EmrManagedMasterSecurityGroup = &v 5758 return s 5759} 5760 5761// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 5762func (s *Ec2InstanceAttributes) SetEmrManagedSlaveSecurityGroup(v string) *Ec2InstanceAttributes { 5763 s.EmrManagedSlaveSecurityGroup = &v 5764 return s 5765} 5766 5767// SetIamInstanceProfile sets the IamInstanceProfile field's value. 5768func (s *Ec2InstanceAttributes) SetIamInstanceProfile(v string) *Ec2InstanceAttributes { 5769 s.IamInstanceProfile = &v 5770 return s 5771} 5772 5773// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value. 5774func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes { 5775 s.RequestedEc2AvailabilityZones = v 5776 return s 5777} 5778 5779// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value. 5780func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes { 5781 s.RequestedEc2SubnetIds = v 5782 return s 5783} 5784 5785// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 5786func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes { 5787 s.ServiceAccessSecurityGroup = &v 5788 return s 5789} 5790 5791// The details of the step failure. The service attempts to detect the root 5792// cause for many common failures. 5793type FailureDetails struct { 5794 _ struct{} `type:"structure"` 5795 5796 // The path to the log file where the step failure root cause was originally 5797 // recorded. 5798 LogFile *string `type:"string"` 5799 5800 // The descriptive message including the error the EMR service has identified 5801 // as the cause of step failure. This is text from an error log that describes 5802 // the root cause of the failure. 5803 Message *string `type:"string"` 5804 5805 // The reason for the step failure. In the case where the service cannot successfully 5806 // determine the root cause of the failure, it returns "Unknown Error" as a 5807 // reason. 5808 Reason *string `type:"string"` 5809} 5810 5811// String returns the string representation 5812func (s FailureDetails) String() string { 5813 return awsutil.Prettify(s) 5814} 5815 5816// GoString returns the string representation 5817func (s FailureDetails) GoString() string { 5818 return s.String() 5819} 5820 5821// SetLogFile sets the LogFile field's value. 5822func (s *FailureDetails) SetLogFile(v string) *FailureDetails { 5823 s.LogFile = &v 5824 return s 5825} 5826 5827// SetMessage sets the Message field's value. 5828func (s *FailureDetails) SetMessage(v string) *FailureDetails { 5829 s.Message = &v 5830 return s 5831} 5832 5833// SetReason sets the Reason field's value. 5834func (s *FailureDetails) SetReason(v string) *FailureDetails { 5835 s.Reason = &v 5836 return s 5837} 5838 5839type GetBlockPublicAccessConfigurationInput struct { 5840 _ struct{} `type:"structure"` 5841} 5842 5843// String returns the string representation 5844func (s GetBlockPublicAccessConfigurationInput) String() string { 5845 return awsutil.Prettify(s) 5846} 5847 5848// GoString returns the string representation 5849func (s GetBlockPublicAccessConfigurationInput) GoString() string { 5850 return s.String() 5851} 5852 5853type GetBlockPublicAccessConfigurationOutput struct { 5854 _ struct{} `type:"structure"` 5855 5856 // A configuration for Amazon EMR block public access. The configuration applies 5857 // to all clusters created in your account for the current Region. The configuration 5858 // specifies whether block public access is enabled. If block public access 5859 // is enabled, security groups associated with the cluster cannot have rules 5860 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 5861 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 5862 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 5863 // and public access is allowed on this port. You can change this by updating 5864 // the block public access configuration to remove the exception. 5865 // 5866 // For accounts that created clusters in a Region before November 25, 2019, 5867 // block public access is disabled by default in that Region. To use this feature, 5868 // you must manually enable and configure it. For accounts that did not create 5869 // an EMR cluster in a Region before this date, block public access is enabled 5870 // by default in that Region. 5871 // 5872 // BlockPublicAccessConfiguration is a required field 5873 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 5874 5875 // Properties that describe the AWS principal that created the BlockPublicAccessConfiguration 5876 // using the PutBlockPublicAccessConfiguration action as well as the date and 5877 // time that the configuration was created. Each time a configuration for block 5878 // public access is updated, Amazon EMR updates this metadata. 5879 // 5880 // BlockPublicAccessConfigurationMetadata is a required field 5881 BlockPublicAccessConfigurationMetadata *BlockPublicAccessConfigurationMetadata `type:"structure" required:"true"` 5882} 5883 5884// String returns the string representation 5885func (s GetBlockPublicAccessConfigurationOutput) String() string { 5886 return awsutil.Prettify(s) 5887} 5888 5889// GoString returns the string representation 5890func (s GetBlockPublicAccessConfigurationOutput) GoString() string { 5891 return s.String() 5892} 5893 5894// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 5895func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *GetBlockPublicAccessConfigurationOutput { 5896 s.BlockPublicAccessConfiguration = v 5897 return s 5898} 5899 5900// SetBlockPublicAccessConfigurationMetadata sets the BlockPublicAccessConfigurationMetadata field's value. 5901func (s *GetBlockPublicAccessConfigurationOutput) SetBlockPublicAccessConfigurationMetadata(v *BlockPublicAccessConfigurationMetadata) *GetBlockPublicAccessConfigurationOutput { 5902 s.BlockPublicAccessConfigurationMetadata = v 5903 return s 5904} 5905 5906type GetManagedScalingPolicyInput struct { 5907 _ struct{} `type:"structure"` 5908 5909 // Specifies the ID of the cluster for which the managed scaling policy will 5910 // be fetched. 5911 // 5912 // ClusterId is a required field 5913 ClusterId *string `type:"string" required:"true"` 5914} 5915 5916// String returns the string representation 5917func (s GetManagedScalingPolicyInput) String() string { 5918 return awsutil.Prettify(s) 5919} 5920 5921// GoString returns the string representation 5922func (s GetManagedScalingPolicyInput) GoString() string { 5923 return s.String() 5924} 5925 5926// Validate inspects the fields of the type to determine if they are valid. 5927func (s *GetManagedScalingPolicyInput) Validate() error { 5928 invalidParams := request.ErrInvalidParams{Context: "GetManagedScalingPolicyInput"} 5929 if s.ClusterId == nil { 5930 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 5931 } 5932 5933 if invalidParams.Len() > 0 { 5934 return invalidParams 5935 } 5936 return nil 5937} 5938 5939// SetClusterId sets the ClusterId field's value. 5940func (s *GetManagedScalingPolicyInput) SetClusterId(v string) *GetManagedScalingPolicyInput { 5941 s.ClusterId = &v 5942 return s 5943} 5944 5945type GetManagedScalingPolicyOutput struct { 5946 _ struct{} `type:"structure"` 5947 5948 // Specifies the managed scaling policy that is attached to an Amazon EMR cluster. 5949 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 5950} 5951 5952// String returns the string representation 5953func (s GetManagedScalingPolicyOutput) String() string { 5954 return awsutil.Prettify(s) 5955} 5956 5957// GoString returns the string representation 5958func (s GetManagedScalingPolicyOutput) GoString() string { 5959 return s.String() 5960} 5961 5962// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 5963func (s *GetManagedScalingPolicyOutput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *GetManagedScalingPolicyOutput { 5964 s.ManagedScalingPolicy = v 5965 return s 5966} 5967 5968// A job flow step consisting of a JAR file whose main function will be executed. 5969// The main function submits a job for Hadoop to execute and waits for the job 5970// to finish or fail. 5971type HadoopJarStepConfig struct { 5972 _ struct{} `type:"structure"` 5973 5974 // A list of command line arguments passed to the JAR file's main function when 5975 // executed. 5976 Args []*string `type:"list"` 5977 5978 // A path to a JAR file run during the step. 5979 // 5980 // Jar is a required field 5981 Jar *string `type:"string" required:"true"` 5982 5983 // The name of the main class in the specified Java file. If not specified, 5984 // the JAR file should specify a Main-Class in its manifest file. 5985 MainClass *string `type:"string"` 5986 5987 // A list of Java properties that are set when the step runs. You can use these 5988 // properties to pass key value pairs to your main function. 5989 Properties []*KeyValue `type:"list"` 5990} 5991 5992// String returns the string representation 5993func (s HadoopJarStepConfig) String() string { 5994 return awsutil.Prettify(s) 5995} 5996 5997// GoString returns the string representation 5998func (s HadoopJarStepConfig) GoString() string { 5999 return s.String() 6000} 6001 6002// Validate inspects the fields of the type to determine if they are valid. 6003func (s *HadoopJarStepConfig) Validate() error { 6004 invalidParams := request.ErrInvalidParams{Context: "HadoopJarStepConfig"} 6005 if s.Jar == nil { 6006 invalidParams.Add(request.NewErrParamRequired("Jar")) 6007 } 6008 6009 if invalidParams.Len() > 0 { 6010 return invalidParams 6011 } 6012 return nil 6013} 6014 6015// SetArgs sets the Args field's value. 6016func (s *HadoopJarStepConfig) SetArgs(v []*string) *HadoopJarStepConfig { 6017 s.Args = v 6018 return s 6019} 6020 6021// SetJar sets the Jar field's value. 6022func (s *HadoopJarStepConfig) SetJar(v string) *HadoopJarStepConfig { 6023 s.Jar = &v 6024 return s 6025} 6026 6027// SetMainClass sets the MainClass field's value. 6028func (s *HadoopJarStepConfig) SetMainClass(v string) *HadoopJarStepConfig { 6029 s.MainClass = &v 6030 return s 6031} 6032 6033// SetProperties sets the Properties field's value. 6034func (s *HadoopJarStepConfig) SetProperties(v []*KeyValue) *HadoopJarStepConfig { 6035 s.Properties = v 6036 return s 6037} 6038 6039// A cluster step consisting of a JAR file whose main function will be executed. 6040// The main function submits a job for Hadoop to execute and waits for the job 6041// to finish or fail. 6042type HadoopStepConfig struct { 6043 _ struct{} `type:"structure"` 6044 6045 // The list of command line arguments to pass to the JAR file's main function 6046 // for execution. 6047 Args []*string `type:"list"` 6048 6049 // The path to the JAR file that runs during the step. 6050 Jar *string `type:"string"` 6051 6052 // The name of the main class in the specified Java file. If not specified, 6053 // the JAR file should specify a main class in its manifest file. 6054 MainClass *string `type:"string"` 6055 6056 // The list of Java properties that are set when the step runs. You can use 6057 // these properties to pass key value pairs to your main function. 6058 Properties map[string]*string `type:"map"` 6059} 6060 6061// String returns the string representation 6062func (s HadoopStepConfig) String() string { 6063 return awsutil.Prettify(s) 6064} 6065 6066// GoString returns the string representation 6067func (s HadoopStepConfig) GoString() string { 6068 return s.String() 6069} 6070 6071// SetArgs sets the Args field's value. 6072func (s *HadoopStepConfig) SetArgs(v []*string) *HadoopStepConfig { 6073 s.Args = v 6074 return s 6075} 6076 6077// SetJar sets the Jar field's value. 6078func (s *HadoopStepConfig) SetJar(v string) *HadoopStepConfig { 6079 s.Jar = &v 6080 return s 6081} 6082 6083// SetMainClass sets the MainClass field's value. 6084func (s *HadoopStepConfig) SetMainClass(v string) *HadoopStepConfig { 6085 s.MainClass = &v 6086 return s 6087} 6088 6089// SetProperties sets the Properties field's value. 6090func (s *HadoopStepConfig) SetProperties(v map[string]*string) *HadoopStepConfig { 6091 s.Properties = v 6092 return s 6093} 6094 6095// Represents an EC2 instance provisioned as part of cluster. 6096type Instance struct { 6097 _ struct{} `type:"structure"` 6098 6099 // The list of EBS volumes that are attached to this instance. 6100 EbsVolumes []*EbsVolume `type:"list"` 6101 6102 // The unique identifier of the instance in Amazon EC2. 6103 Ec2InstanceId *string `type:"string"` 6104 6105 // The unique identifier for the instance in Amazon EMR. 6106 Id *string `type:"string"` 6107 6108 // The unique identifier of the instance fleet to which an EC2 instance belongs. 6109 InstanceFleetId *string `type:"string"` 6110 6111 // The identifier of the instance group to which this instance belongs. 6112 InstanceGroupId *string `type:"string"` 6113 6114 // The EC2 instance type, for example m3.xlarge. 6115 InstanceType *string `min:"1" type:"string"` 6116 6117 // The instance purchasing option. Valid values are ON_DEMAND or SPOT. 6118 Market *string `type:"string" enum:"MarketType"` 6119 6120 // The private DNS name of the instance. 6121 PrivateDnsName *string `type:"string"` 6122 6123 // The private IP address of the instance. 6124 PrivateIpAddress *string `type:"string"` 6125 6126 // The public DNS name of the instance. 6127 PublicDnsName *string `type:"string"` 6128 6129 // The public IP address of the instance. 6130 PublicIpAddress *string `type:"string"` 6131 6132 // The current status of the instance. 6133 Status *InstanceStatus `type:"structure"` 6134} 6135 6136// String returns the string representation 6137func (s Instance) String() string { 6138 return awsutil.Prettify(s) 6139} 6140 6141// GoString returns the string representation 6142func (s Instance) GoString() string { 6143 return s.String() 6144} 6145 6146// SetEbsVolumes sets the EbsVolumes field's value. 6147func (s *Instance) SetEbsVolumes(v []*EbsVolume) *Instance { 6148 s.EbsVolumes = v 6149 return s 6150} 6151 6152// SetEc2InstanceId sets the Ec2InstanceId field's value. 6153func (s *Instance) SetEc2InstanceId(v string) *Instance { 6154 s.Ec2InstanceId = &v 6155 return s 6156} 6157 6158// SetId sets the Id field's value. 6159func (s *Instance) SetId(v string) *Instance { 6160 s.Id = &v 6161 return s 6162} 6163 6164// SetInstanceFleetId sets the InstanceFleetId field's value. 6165func (s *Instance) SetInstanceFleetId(v string) *Instance { 6166 s.InstanceFleetId = &v 6167 return s 6168} 6169 6170// SetInstanceGroupId sets the InstanceGroupId field's value. 6171func (s *Instance) SetInstanceGroupId(v string) *Instance { 6172 s.InstanceGroupId = &v 6173 return s 6174} 6175 6176// SetInstanceType sets the InstanceType field's value. 6177func (s *Instance) SetInstanceType(v string) *Instance { 6178 s.InstanceType = &v 6179 return s 6180} 6181 6182// SetMarket sets the Market field's value. 6183func (s *Instance) SetMarket(v string) *Instance { 6184 s.Market = &v 6185 return s 6186} 6187 6188// SetPrivateDnsName sets the PrivateDnsName field's value. 6189func (s *Instance) SetPrivateDnsName(v string) *Instance { 6190 s.PrivateDnsName = &v 6191 return s 6192} 6193 6194// SetPrivateIpAddress sets the PrivateIpAddress field's value. 6195func (s *Instance) SetPrivateIpAddress(v string) *Instance { 6196 s.PrivateIpAddress = &v 6197 return s 6198} 6199 6200// SetPublicDnsName sets the PublicDnsName field's value. 6201func (s *Instance) SetPublicDnsName(v string) *Instance { 6202 s.PublicDnsName = &v 6203 return s 6204} 6205 6206// SetPublicIpAddress sets the PublicIpAddress field's value. 6207func (s *Instance) SetPublicIpAddress(v string) *Instance { 6208 s.PublicIpAddress = &v 6209 return s 6210} 6211 6212// SetStatus sets the Status field's value. 6213func (s *Instance) SetStatus(v *InstanceStatus) *Instance { 6214 s.Status = v 6215 return s 6216} 6217 6218// Describes an instance fleet, which is a group of EC2 instances that host 6219// a particular node type (master, core, or task) in an Amazon EMR cluster. 6220// Instance fleets can consist of a mix of instance types and On-Demand and 6221// Spot instances, which are provisioned to meet a defined target capacity. 6222// 6223// The instance fleet configuration is available only in Amazon EMR versions 6224// 4.8.0 and later, excluding 5.0.x versions. 6225type InstanceFleet struct { 6226 _ struct{} `type:"structure"` 6227 6228 // The unique identifier of the instance fleet. 6229 Id *string `type:"string"` 6230 6231 // The node type that the instance fleet hosts. Valid values are MASTER, CORE, 6232 // or TASK. 6233 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 6234 6235 // The specification for the instance types that comprise an instance fleet. 6236 // Up to five unique instance specifications may be defined for each instance 6237 // fleet. 6238 InstanceTypeSpecifications []*InstanceTypeSpecification `type:"list"` 6239 6240 // Describes the launch specification for an instance fleet. 6241 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 6242 6243 // A friendly name for the instance fleet. 6244 Name *string `type:"string"` 6245 6246 // The number of On-Demand units that have been provisioned for the instance 6247 // fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might 6248 // be less than or greater than TargetOnDemandCapacity. 6249 ProvisionedOnDemandCapacity *int64 `type:"integer"` 6250 6251 // The number of Spot units that have been provisioned for this instance fleet 6252 // to fulfill TargetSpotCapacity. This provisioned capacity might be less than 6253 // or greater than TargetSpotCapacity. 6254 ProvisionedSpotCapacity *int64 `type:"integer"` 6255 6256 // The current status of the instance fleet. 6257 Status *InstanceFleetStatus `type:"structure"` 6258 6259 // The target capacity of On-Demand units for the instance fleet, which determines 6260 // how many On-Demand instances to provision. When the instance fleet launches, 6261 // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. 6262 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 6263 // instance is provisioned, the WeightedCapacity units count toward the target 6264 // capacity. Amazon EMR provisions instances until the target capacity is totally 6265 // fulfilled, even if this results in an overage. For example, if there are 6266 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6267 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6268 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity 6269 // to determine the Spot capacity units that have been provisioned for the instance 6270 // fleet. 6271 // 6272 // If not specified or set to 0, only Spot instances are provisioned for the 6273 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 6274 // and TargetOnDemandCapacity should be greater than 0. For a master instance 6275 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 6276 // and its value must be 1. 6277 TargetOnDemandCapacity *int64 `type:"integer"` 6278 6279 // The target capacity of Spot units for the instance fleet, which determines 6280 // how many Spot instances to provision. When the instance fleet launches, Amazon 6281 // EMR tries to provision Spot instances as specified by InstanceTypeConfig. 6282 // Each instance configuration has a specified WeightedCapacity. When a Spot 6283 // instance is provisioned, the WeightedCapacity units count toward the target 6284 // capacity. Amazon EMR provisions instances until the target capacity is totally 6285 // fulfilled, even if this results in an overage. For example, if there are 6286 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6287 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6288 // and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity 6289 // to determine the Spot capacity units that have been provisioned for the instance 6290 // fleet. 6291 // 6292 // If not specified or set to 0, only On-Demand instances are provisioned for 6293 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 6294 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 6295 // and TargetOnDemandCapacity can be specified, and its value must be 1. 6296 TargetSpotCapacity *int64 `type:"integer"` 6297} 6298 6299// String returns the string representation 6300func (s InstanceFleet) String() string { 6301 return awsutil.Prettify(s) 6302} 6303 6304// GoString returns the string representation 6305func (s InstanceFleet) GoString() string { 6306 return s.String() 6307} 6308 6309// SetId sets the Id field's value. 6310func (s *InstanceFleet) SetId(v string) *InstanceFleet { 6311 s.Id = &v 6312 return s 6313} 6314 6315// SetInstanceFleetType sets the InstanceFleetType field's value. 6316func (s *InstanceFleet) SetInstanceFleetType(v string) *InstanceFleet { 6317 s.InstanceFleetType = &v 6318 return s 6319} 6320 6321// SetInstanceTypeSpecifications sets the InstanceTypeSpecifications field's value. 6322func (s *InstanceFleet) SetInstanceTypeSpecifications(v []*InstanceTypeSpecification) *InstanceFleet { 6323 s.InstanceTypeSpecifications = v 6324 return s 6325} 6326 6327// SetLaunchSpecifications sets the LaunchSpecifications field's value. 6328func (s *InstanceFleet) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleet { 6329 s.LaunchSpecifications = v 6330 return s 6331} 6332 6333// SetName sets the Name field's value. 6334func (s *InstanceFleet) SetName(v string) *InstanceFleet { 6335 s.Name = &v 6336 return s 6337} 6338 6339// SetProvisionedOnDemandCapacity sets the ProvisionedOnDemandCapacity field's value. 6340func (s *InstanceFleet) SetProvisionedOnDemandCapacity(v int64) *InstanceFleet { 6341 s.ProvisionedOnDemandCapacity = &v 6342 return s 6343} 6344 6345// SetProvisionedSpotCapacity sets the ProvisionedSpotCapacity field's value. 6346func (s *InstanceFleet) SetProvisionedSpotCapacity(v int64) *InstanceFleet { 6347 s.ProvisionedSpotCapacity = &v 6348 return s 6349} 6350 6351// SetStatus sets the Status field's value. 6352func (s *InstanceFleet) SetStatus(v *InstanceFleetStatus) *InstanceFleet { 6353 s.Status = v 6354 return s 6355} 6356 6357// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 6358func (s *InstanceFleet) SetTargetOnDemandCapacity(v int64) *InstanceFleet { 6359 s.TargetOnDemandCapacity = &v 6360 return s 6361} 6362 6363// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 6364func (s *InstanceFleet) SetTargetSpotCapacity(v int64) *InstanceFleet { 6365 s.TargetSpotCapacity = &v 6366 return s 6367} 6368 6369// The configuration that defines an instance fleet. 6370// 6371// The instance fleet configuration is available only in Amazon EMR versions 6372// 4.8.0 and later, excluding 5.0.x versions. 6373type InstanceFleetConfig struct { 6374 _ struct{} `type:"structure"` 6375 6376 // The node type that the instance fleet hosts. Valid values are MASTER,CORE,and 6377 // TASK. 6378 // 6379 // InstanceFleetType is a required field 6380 InstanceFleetType *string `type:"string" required:"true" enum:"InstanceFleetType"` 6381 6382 // The instance type configurations that define the EC2 instances in the instance 6383 // fleet. 6384 InstanceTypeConfigs []*InstanceTypeConfig `type:"list"` 6385 6386 // The launch specification for the instance fleet. 6387 LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"` 6388 6389 // The friendly name of the instance fleet. 6390 Name *string `type:"string"` 6391 6392 // The target capacity of On-Demand units for the instance fleet, which determines 6393 // how many On-Demand instances to provision. When the instance fleet launches, 6394 // Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig. 6395 // Each instance configuration has a specified WeightedCapacity. When an On-Demand 6396 // instance is provisioned, the WeightedCapacity units count toward the target 6397 // capacity. Amazon EMR provisions instances until the target capacity is totally 6398 // fulfilled, even if this results in an overage. For example, if there are 6399 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6400 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6401 // and the target capacity is exceeded by 3 units. 6402 // 6403 // If not specified or set to 0, only Spot instances are provisioned for the 6404 // instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity 6405 // and TargetOnDemandCapacity should be greater than 0. For a master instance 6406 // fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified, 6407 // and its value must be 1. 6408 TargetOnDemandCapacity *int64 `type:"integer"` 6409 6410 // The target capacity of Spot units for the instance fleet, which determines 6411 // how many Spot instances to provision. When the instance fleet launches, Amazon 6412 // EMR tries to provision Spot instances as specified by InstanceTypeConfig. 6413 // Each instance configuration has a specified WeightedCapacity. When a Spot 6414 // instance is provisioned, the WeightedCapacity units count toward the target 6415 // capacity. Amazon EMR provisions instances until the target capacity is totally 6416 // fulfilled, even if this results in an overage. For example, if there are 6417 // 2 units remaining to fulfill capacity, and Amazon EMR can only provision 6418 // an instance with a WeightedCapacity of 5 units, the instance is provisioned, 6419 // and the target capacity is exceeded by 3 units. 6420 // 6421 // If not specified or set to 0, only On-Demand instances are provisioned for 6422 // the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity 6423 // should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity 6424 // and TargetOnDemandCapacity can be specified, and its value must be 1. 6425 TargetSpotCapacity *int64 `type:"integer"` 6426} 6427 6428// String returns the string representation 6429func (s InstanceFleetConfig) String() string { 6430 return awsutil.Prettify(s) 6431} 6432 6433// GoString returns the string representation 6434func (s InstanceFleetConfig) GoString() string { 6435 return s.String() 6436} 6437 6438// Validate inspects the fields of the type to determine if they are valid. 6439func (s *InstanceFleetConfig) Validate() error { 6440 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetConfig"} 6441 if s.InstanceFleetType == nil { 6442 invalidParams.Add(request.NewErrParamRequired("InstanceFleetType")) 6443 } 6444 if s.InstanceTypeConfigs != nil { 6445 for i, v := range s.InstanceTypeConfigs { 6446 if v == nil { 6447 continue 6448 } 6449 if err := v.Validate(); err != nil { 6450 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTypeConfigs", i), err.(request.ErrInvalidParams)) 6451 } 6452 } 6453 } 6454 if s.LaunchSpecifications != nil { 6455 if err := s.LaunchSpecifications.Validate(); err != nil { 6456 invalidParams.AddNested("LaunchSpecifications", err.(request.ErrInvalidParams)) 6457 } 6458 } 6459 6460 if invalidParams.Len() > 0 { 6461 return invalidParams 6462 } 6463 return nil 6464} 6465 6466// SetInstanceFleetType sets the InstanceFleetType field's value. 6467func (s *InstanceFleetConfig) SetInstanceFleetType(v string) *InstanceFleetConfig { 6468 s.InstanceFleetType = &v 6469 return s 6470} 6471 6472// SetInstanceTypeConfigs sets the InstanceTypeConfigs field's value. 6473func (s *InstanceFleetConfig) SetInstanceTypeConfigs(v []*InstanceTypeConfig) *InstanceFleetConfig { 6474 s.InstanceTypeConfigs = v 6475 return s 6476} 6477 6478// SetLaunchSpecifications sets the LaunchSpecifications field's value. 6479func (s *InstanceFleetConfig) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleetConfig { 6480 s.LaunchSpecifications = v 6481 return s 6482} 6483 6484// SetName sets the Name field's value. 6485func (s *InstanceFleetConfig) SetName(v string) *InstanceFleetConfig { 6486 s.Name = &v 6487 return s 6488} 6489 6490// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 6491func (s *InstanceFleetConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetConfig { 6492 s.TargetOnDemandCapacity = &v 6493 return s 6494} 6495 6496// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 6497func (s *InstanceFleetConfig) SetTargetSpotCapacity(v int64) *InstanceFleetConfig { 6498 s.TargetSpotCapacity = &v 6499 return s 6500} 6501 6502// Configuration parameters for an instance fleet modification request. 6503// 6504// The instance fleet configuration is available only in Amazon EMR versions 6505// 4.8.0 and later, excluding 5.0.x versions. 6506type InstanceFleetModifyConfig struct { 6507 _ struct{} `type:"structure"` 6508 6509 // A unique identifier for the instance fleet. 6510 // 6511 // InstanceFleetId is a required field 6512 InstanceFleetId *string `type:"string" required:"true"` 6513 6514 // The target capacity of On-Demand units for the instance fleet. For more information 6515 // see InstanceFleetConfig$TargetOnDemandCapacity. 6516 TargetOnDemandCapacity *int64 `type:"integer"` 6517 6518 // The target capacity of Spot units for the instance fleet. For more information, 6519 // see InstanceFleetConfig$TargetSpotCapacity. 6520 TargetSpotCapacity *int64 `type:"integer"` 6521} 6522 6523// String returns the string representation 6524func (s InstanceFleetModifyConfig) String() string { 6525 return awsutil.Prettify(s) 6526} 6527 6528// GoString returns the string representation 6529func (s InstanceFleetModifyConfig) GoString() string { 6530 return s.String() 6531} 6532 6533// Validate inspects the fields of the type to determine if they are valid. 6534func (s *InstanceFleetModifyConfig) Validate() error { 6535 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetModifyConfig"} 6536 if s.InstanceFleetId == nil { 6537 invalidParams.Add(request.NewErrParamRequired("InstanceFleetId")) 6538 } 6539 6540 if invalidParams.Len() > 0 { 6541 return invalidParams 6542 } 6543 return nil 6544} 6545 6546// SetInstanceFleetId sets the InstanceFleetId field's value. 6547func (s *InstanceFleetModifyConfig) SetInstanceFleetId(v string) *InstanceFleetModifyConfig { 6548 s.InstanceFleetId = &v 6549 return s 6550} 6551 6552// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value. 6553func (s *InstanceFleetModifyConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetModifyConfig { 6554 s.TargetOnDemandCapacity = &v 6555 return s 6556} 6557 6558// SetTargetSpotCapacity sets the TargetSpotCapacity field's value. 6559func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFleetModifyConfig { 6560 s.TargetSpotCapacity = &v 6561 return s 6562} 6563 6564// The launch specification for Spot instances in the fleet, which determines 6565// the defined duration, provisioning timeout behavior, and allocation strategy. 6566// 6567// The instance fleet configuration is available only in Amazon EMR versions 6568// 4.8.0 and later, excluding 5.0.x versions. On-Demand and Spot instance allocation 6569// strategies are available in Amazon EMR version 5.12.1 and later. 6570type InstanceFleetProvisioningSpecifications struct { 6571 _ struct{} `type:"structure"` 6572 6573 // The launch specification for On-Demand instances in the instance fleet, which 6574 // determines the allocation strategy. 6575 // 6576 // The instance fleet configuration is available only in Amazon EMR versions 6577 // 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation 6578 // strategy is available in Amazon EMR version 5.12.1 and later. 6579 OnDemandSpecification *OnDemandProvisioningSpecification `type:"structure"` 6580 6581 // The launch specification for Spot instances in the fleet, which determines 6582 // the defined duration, provisioning timeout behavior, and allocation strategy. 6583 SpotSpecification *SpotProvisioningSpecification `type:"structure"` 6584} 6585 6586// String returns the string representation 6587func (s InstanceFleetProvisioningSpecifications) String() string { 6588 return awsutil.Prettify(s) 6589} 6590 6591// GoString returns the string representation 6592func (s InstanceFleetProvisioningSpecifications) GoString() string { 6593 return s.String() 6594} 6595 6596// Validate inspects the fields of the type to determine if they are valid. 6597func (s *InstanceFleetProvisioningSpecifications) Validate() error { 6598 invalidParams := request.ErrInvalidParams{Context: "InstanceFleetProvisioningSpecifications"} 6599 if s.OnDemandSpecification != nil { 6600 if err := s.OnDemandSpecification.Validate(); err != nil { 6601 invalidParams.AddNested("OnDemandSpecification", err.(request.ErrInvalidParams)) 6602 } 6603 } 6604 if s.SpotSpecification != nil { 6605 if err := s.SpotSpecification.Validate(); err != nil { 6606 invalidParams.AddNested("SpotSpecification", err.(request.ErrInvalidParams)) 6607 } 6608 } 6609 6610 if invalidParams.Len() > 0 { 6611 return invalidParams 6612 } 6613 return nil 6614} 6615 6616// SetOnDemandSpecification sets the OnDemandSpecification field's value. 6617func (s *InstanceFleetProvisioningSpecifications) SetOnDemandSpecification(v *OnDemandProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 6618 s.OnDemandSpecification = v 6619 return s 6620} 6621 6622// SetSpotSpecification sets the SpotSpecification field's value. 6623func (s *InstanceFleetProvisioningSpecifications) SetSpotSpecification(v *SpotProvisioningSpecification) *InstanceFleetProvisioningSpecifications { 6624 s.SpotSpecification = v 6625 return s 6626} 6627 6628// Provides status change reason details for the instance fleet. 6629// 6630// The instance fleet configuration is available only in Amazon EMR versions 6631// 4.8.0 and later, excluding 5.0.x versions. 6632type InstanceFleetStateChangeReason struct { 6633 _ struct{} `type:"structure"` 6634 6635 // A code corresponding to the reason the state change occurred. 6636 Code *string `type:"string" enum:"InstanceFleetStateChangeReasonCode"` 6637 6638 // An explanatory message. 6639 Message *string `type:"string"` 6640} 6641 6642// String returns the string representation 6643func (s InstanceFleetStateChangeReason) String() string { 6644 return awsutil.Prettify(s) 6645} 6646 6647// GoString returns the string representation 6648func (s InstanceFleetStateChangeReason) GoString() string { 6649 return s.String() 6650} 6651 6652// SetCode sets the Code field's value. 6653func (s *InstanceFleetStateChangeReason) SetCode(v string) *InstanceFleetStateChangeReason { 6654 s.Code = &v 6655 return s 6656} 6657 6658// SetMessage sets the Message field's value. 6659func (s *InstanceFleetStateChangeReason) SetMessage(v string) *InstanceFleetStateChangeReason { 6660 s.Message = &v 6661 return s 6662} 6663 6664// The status of the instance fleet. 6665// 6666// The instance fleet configuration is available only in Amazon EMR versions 6667// 4.8.0 and later, excluding 5.0.x versions. 6668type InstanceFleetStatus struct { 6669 _ struct{} `type:"structure"` 6670 6671 // A code representing the instance fleet status. 6672 // 6673 // * PROVISIONING—The instance fleet is provisioning EC2 resources and 6674 // is not yet ready to run jobs. 6675 // 6676 // * BOOTSTRAPPING—EC2 instances and other resources have been provisioned 6677 // and the bootstrap actions specified for the instances are underway. 6678 // 6679 // * RUNNING—EC2 instances and other resources are running. They are either 6680 // executing jobs or waiting to execute jobs. 6681 // 6682 // * RESIZING—A resize operation is underway. EC2 instances are either 6683 // being added or removed. 6684 // 6685 // * SUSPENDED—A resize operation could not complete. Existing EC2 instances 6686 // are running, but instances can't be added or removed. 6687 // 6688 // * TERMINATING—The instance fleet is terminating EC2 instances. 6689 // 6690 // * TERMINATED—The instance fleet is no longer active, and all EC2 instances 6691 // have been terminated. 6692 State *string `type:"string" enum:"InstanceFleetState"` 6693 6694 // Provides status change reason details for the instance fleet. 6695 StateChangeReason *InstanceFleetStateChangeReason `type:"structure"` 6696 6697 // Provides historical timestamps for the instance fleet, including the time 6698 // of creation, the time it became ready to run jobs, and the time of termination. 6699 Timeline *InstanceFleetTimeline `type:"structure"` 6700} 6701 6702// String returns the string representation 6703func (s InstanceFleetStatus) String() string { 6704 return awsutil.Prettify(s) 6705} 6706 6707// GoString returns the string representation 6708func (s InstanceFleetStatus) GoString() string { 6709 return s.String() 6710} 6711 6712// SetState sets the State field's value. 6713func (s *InstanceFleetStatus) SetState(v string) *InstanceFleetStatus { 6714 s.State = &v 6715 return s 6716} 6717 6718// SetStateChangeReason sets the StateChangeReason field's value. 6719func (s *InstanceFleetStatus) SetStateChangeReason(v *InstanceFleetStateChangeReason) *InstanceFleetStatus { 6720 s.StateChangeReason = v 6721 return s 6722} 6723 6724// SetTimeline sets the Timeline field's value. 6725func (s *InstanceFleetStatus) SetTimeline(v *InstanceFleetTimeline) *InstanceFleetStatus { 6726 s.Timeline = v 6727 return s 6728} 6729 6730// Provides historical timestamps for the instance fleet, including the time 6731// of creation, the time it became ready to run jobs, and the time of termination. 6732// 6733// The instance fleet configuration is available only in Amazon EMR versions 6734// 4.8.0 and later, excluding 5.0.x versions. 6735type InstanceFleetTimeline struct { 6736 _ struct{} `type:"structure"` 6737 6738 // The time and date the instance fleet was created. 6739 CreationDateTime *time.Time `type:"timestamp"` 6740 6741 // The time and date the instance fleet terminated. 6742 EndDateTime *time.Time `type:"timestamp"` 6743 6744 // The time and date the instance fleet was ready to run jobs. 6745 ReadyDateTime *time.Time `type:"timestamp"` 6746} 6747 6748// String returns the string representation 6749func (s InstanceFleetTimeline) String() string { 6750 return awsutil.Prettify(s) 6751} 6752 6753// GoString returns the string representation 6754func (s InstanceFleetTimeline) GoString() string { 6755 return s.String() 6756} 6757 6758// SetCreationDateTime sets the CreationDateTime field's value. 6759func (s *InstanceFleetTimeline) SetCreationDateTime(v time.Time) *InstanceFleetTimeline { 6760 s.CreationDateTime = &v 6761 return s 6762} 6763 6764// SetEndDateTime sets the EndDateTime field's value. 6765func (s *InstanceFleetTimeline) SetEndDateTime(v time.Time) *InstanceFleetTimeline { 6766 s.EndDateTime = &v 6767 return s 6768} 6769 6770// SetReadyDateTime sets the ReadyDateTime field's value. 6771func (s *InstanceFleetTimeline) SetReadyDateTime(v time.Time) *InstanceFleetTimeline { 6772 s.ReadyDateTime = &v 6773 return s 6774} 6775 6776// This entity represents an instance group, which is a group of instances that 6777// have common purpose. For example, CORE instance group is used for HDFS. 6778type InstanceGroup struct { 6779 _ struct{} `type:"structure"` 6780 6781 // An automatic scaling policy for a core instance group or task instance group 6782 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 6783 // group dynamically adds and terminates EC2 instances in response to the value 6784 // of a CloudWatch metric. See PutAutoScalingPolicy. 6785 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 6786 6787 // The bid price for each EC2 Spot instance type as defined by InstanceType. 6788 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 6789 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 6790 BidPrice *string `type:"string"` 6791 6792 // 6793 // Amazon EMR releases 4.x or later. 6794 // 6795 // The list of configurations supplied for an EMR cluster instance group. You 6796 // can specify a separate configuration for each instance group (master, core, 6797 // and task). 6798 Configurations []*Configuration `type:"list"` 6799 6800 // The version number of the requested configuration specification for this 6801 // instance group. 6802 ConfigurationsVersion *int64 `type:"long"` 6803 6804 // The EBS block devices that are mapped to this instance group. 6805 EbsBlockDevices []*EbsBlockDevice `type:"list"` 6806 6807 // If the instance group is EBS-optimized. An Amazon EBS-optimized instance 6808 // uses an optimized configuration stack and provides additional, dedicated 6809 // capacity for Amazon EBS I/O. 6810 EbsOptimized *bool `type:"boolean"` 6811 6812 // The identifier of the instance group. 6813 Id *string `type:"string"` 6814 6815 // The type of the instance group. Valid values are MASTER, CORE or TASK. 6816 InstanceGroupType *string `type:"string" enum:"InstanceGroupType"` 6817 6818 // The EC2 instance type for all instances in the instance group. 6819 InstanceType *string `min:"1" type:"string"` 6820 6821 // A list of configurations that were successfully applied for an instance group 6822 // last time. 6823 LastSuccessfullyAppliedConfigurations []*Configuration `type:"list"` 6824 6825 // The version number of a configuration specification that was successfully 6826 // applied for an instance group last time. 6827 LastSuccessfullyAppliedConfigurationsVersion *int64 `type:"long"` 6828 6829 // The marketplace to provision instances for this group. Valid values are ON_DEMAND 6830 // or SPOT. 6831 Market *string `type:"string" enum:"MarketType"` 6832 6833 // The name of the instance group. 6834 Name *string `type:"string"` 6835 6836 // The target number of instances for the instance group. 6837 RequestedInstanceCount *int64 `type:"integer"` 6838 6839 // The number of instances currently running in this instance group. 6840 RunningInstanceCount *int64 `type:"integer"` 6841 6842 // Policy for customizing shrink operations. 6843 ShrinkPolicy *ShrinkPolicy `type:"structure"` 6844 6845 // The current status of the instance group. 6846 Status *InstanceGroupStatus `type:"structure"` 6847} 6848 6849// String returns the string representation 6850func (s InstanceGroup) String() string { 6851 return awsutil.Prettify(s) 6852} 6853 6854// GoString returns the string representation 6855func (s InstanceGroup) GoString() string { 6856 return s.String() 6857} 6858 6859// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 6860func (s *InstanceGroup) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *InstanceGroup { 6861 s.AutoScalingPolicy = v 6862 return s 6863} 6864 6865// SetBidPrice sets the BidPrice field's value. 6866func (s *InstanceGroup) SetBidPrice(v string) *InstanceGroup { 6867 s.BidPrice = &v 6868 return s 6869} 6870 6871// SetConfigurations sets the Configurations field's value. 6872func (s *InstanceGroup) SetConfigurations(v []*Configuration) *InstanceGroup { 6873 s.Configurations = v 6874 return s 6875} 6876 6877// SetConfigurationsVersion sets the ConfigurationsVersion field's value. 6878func (s *InstanceGroup) SetConfigurationsVersion(v int64) *InstanceGroup { 6879 s.ConfigurationsVersion = &v 6880 return s 6881} 6882 6883// SetEbsBlockDevices sets the EbsBlockDevices field's value. 6884func (s *InstanceGroup) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceGroup { 6885 s.EbsBlockDevices = v 6886 return s 6887} 6888 6889// SetEbsOptimized sets the EbsOptimized field's value. 6890func (s *InstanceGroup) SetEbsOptimized(v bool) *InstanceGroup { 6891 s.EbsOptimized = &v 6892 return s 6893} 6894 6895// SetId sets the Id field's value. 6896func (s *InstanceGroup) SetId(v string) *InstanceGroup { 6897 s.Id = &v 6898 return s 6899} 6900 6901// SetInstanceGroupType sets the InstanceGroupType field's value. 6902func (s *InstanceGroup) SetInstanceGroupType(v string) *InstanceGroup { 6903 s.InstanceGroupType = &v 6904 return s 6905} 6906 6907// SetInstanceType sets the InstanceType field's value. 6908func (s *InstanceGroup) SetInstanceType(v string) *InstanceGroup { 6909 s.InstanceType = &v 6910 return s 6911} 6912 6913// SetLastSuccessfullyAppliedConfigurations sets the LastSuccessfullyAppliedConfigurations field's value. 6914func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurations(v []*Configuration) *InstanceGroup { 6915 s.LastSuccessfullyAppliedConfigurations = v 6916 return s 6917} 6918 6919// SetLastSuccessfullyAppliedConfigurationsVersion sets the LastSuccessfullyAppliedConfigurationsVersion field's value. 6920func (s *InstanceGroup) SetLastSuccessfullyAppliedConfigurationsVersion(v int64) *InstanceGroup { 6921 s.LastSuccessfullyAppliedConfigurationsVersion = &v 6922 return s 6923} 6924 6925// SetMarket sets the Market field's value. 6926func (s *InstanceGroup) SetMarket(v string) *InstanceGroup { 6927 s.Market = &v 6928 return s 6929} 6930 6931// SetName sets the Name field's value. 6932func (s *InstanceGroup) SetName(v string) *InstanceGroup { 6933 s.Name = &v 6934 return s 6935} 6936 6937// SetRequestedInstanceCount sets the RequestedInstanceCount field's value. 6938func (s *InstanceGroup) SetRequestedInstanceCount(v int64) *InstanceGroup { 6939 s.RequestedInstanceCount = &v 6940 return s 6941} 6942 6943// SetRunningInstanceCount sets the RunningInstanceCount field's value. 6944func (s *InstanceGroup) SetRunningInstanceCount(v int64) *InstanceGroup { 6945 s.RunningInstanceCount = &v 6946 return s 6947} 6948 6949// SetShrinkPolicy sets the ShrinkPolicy field's value. 6950func (s *InstanceGroup) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroup { 6951 s.ShrinkPolicy = v 6952 return s 6953} 6954 6955// SetStatus sets the Status field's value. 6956func (s *InstanceGroup) SetStatus(v *InstanceGroupStatus) *InstanceGroup { 6957 s.Status = v 6958 return s 6959} 6960 6961// Configuration defining a new instance group. 6962type InstanceGroupConfig struct { 6963 _ struct{} `type:"structure"` 6964 6965 // An automatic scaling policy for a core instance group or task instance group 6966 // in an Amazon EMR cluster. The automatic scaling policy defines how an instance 6967 // group dynamically adds and terminates EC2 instances in response to the value 6968 // of a CloudWatch metric. See PutAutoScalingPolicy. 6969 AutoScalingPolicy *AutoScalingPolicy `type:"structure"` 6970 6971 // The bid price for each EC2 Spot instance type as defined by InstanceType. 6972 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 6973 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 6974 BidPrice *string `type:"string"` 6975 6976 // 6977 // Amazon EMR releases 4.x or later. 6978 // 6979 // The list of configurations supplied for an EMR cluster instance group. You 6980 // can specify a separate configuration for each instance group (master, core, 6981 // and task). 6982 Configurations []*Configuration `type:"list"` 6983 6984 // EBS configurations that will be attached to each EC2 instance in the instance 6985 // group. 6986 EbsConfiguration *EbsConfiguration `type:"structure"` 6987 6988 // Target number of instances for the instance group. 6989 // 6990 // InstanceCount is a required field 6991 InstanceCount *int64 `type:"integer" required:"true"` 6992 6993 // The role of the instance group in the cluster. 6994 // 6995 // InstanceRole is a required field 6996 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 6997 6998 // The EC2 instance type for all instances in the instance group. 6999 // 7000 // InstanceType is a required field 7001 InstanceType *string `min:"1" type:"string" required:"true"` 7002 7003 // Market type of the EC2 instances used to create a cluster node. 7004 Market *string `type:"string" enum:"MarketType"` 7005 7006 // Friendly name given to the instance group. 7007 Name *string `type:"string"` 7008} 7009 7010// String returns the string representation 7011func (s InstanceGroupConfig) String() string { 7012 return awsutil.Prettify(s) 7013} 7014 7015// GoString returns the string representation 7016func (s InstanceGroupConfig) GoString() string { 7017 return s.String() 7018} 7019 7020// Validate inspects the fields of the type to determine if they are valid. 7021func (s *InstanceGroupConfig) Validate() error { 7022 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupConfig"} 7023 if s.InstanceCount == nil { 7024 invalidParams.Add(request.NewErrParamRequired("InstanceCount")) 7025 } 7026 if s.InstanceRole == nil { 7027 invalidParams.Add(request.NewErrParamRequired("InstanceRole")) 7028 } 7029 if s.InstanceType == nil { 7030 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 7031 } 7032 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 7033 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 7034 } 7035 if s.AutoScalingPolicy != nil { 7036 if err := s.AutoScalingPolicy.Validate(); err != nil { 7037 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 7038 } 7039 } 7040 if s.EbsConfiguration != nil { 7041 if err := s.EbsConfiguration.Validate(); err != nil { 7042 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 7043 } 7044 } 7045 7046 if invalidParams.Len() > 0 { 7047 return invalidParams 7048 } 7049 return nil 7050} 7051 7052// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 7053func (s *InstanceGroupConfig) SetAutoScalingPolicy(v *AutoScalingPolicy) *InstanceGroupConfig { 7054 s.AutoScalingPolicy = v 7055 return s 7056} 7057 7058// SetBidPrice sets the BidPrice field's value. 7059func (s *InstanceGroupConfig) SetBidPrice(v string) *InstanceGroupConfig { 7060 s.BidPrice = &v 7061 return s 7062} 7063 7064// SetConfigurations sets the Configurations field's value. 7065func (s *InstanceGroupConfig) SetConfigurations(v []*Configuration) *InstanceGroupConfig { 7066 s.Configurations = v 7067 return s 7068} 7069 7070// SetEbsConfiguration sets the EbsConfiguration field's value. 7071func (s *InstanceGroupConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceGroupConfig { 7072 s.EbsConfiguration = v 7073 return s 7074} 7075 7076// SetInstanceCount sets the InstanceCount field's value. 7077func (s *InstanceGroupConfig) SetInstanceCount(v int64) *InstanceGroupConfig { 7078 s.InstanceCount = &v 7079 return s 7080} 7081 7082// SetInstanceRole sets the InstanceRole field's value. 7083func (s *InstanceGroupConfig) SetInstanceRole(v string) *InstanceGroupConfig { 7084 s.InstanceRole = &v 7085 return s 7086} 7087 7088// SetInstanceType sets the InstanceType field's value. 7089func (s *InstanceGroupConfig) SetInstanceType(v string) *InstanceGroupConfig { 7090 s.InstanceType = &v 7091 return s 7092} 7093 7094// SetMarket sets the Market field's value. 7095func (s *InstanceGroupConfig) SetMarket(v string) *InstanceGroupConfig { 7096 s.Market = &v 7097 return s 7098} 7099 7100// SetName sets the Name field's value. 7101func (s *InstanceGroupConfig) SetName(v string) *InstanceGroupConfig { 7102 s.Name = &v 7103 return s 7104} 7105 7106// Detailed information about an instance group. 7107type InstanceGroupDetail struct { 7108 _ struct{} `type:"structure"` 7109 7110 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7111 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 7112 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7113 BidPrice *string `type:"string"` 7114 7115 // The date/time the instance group was created. 7116 // 7117 // CreationDateTime is a required field 7118 CreationDateTime *time.Time `type:"timestamp" required:"true"` 7119 7120 // The date/time the instance group was terminated. 7121 EndDateTime *time.Time `type:"timestamp"` 7122 7123 // Unique identifier for the instance group. 7124 InstanceGroupId *string `type:"string"` 7125 7126 // Target number of instances to run in the instance group. 7127 // 7128 // InstanceRequestCount is a required field 7129 InstanceRequestCount *int64 `type:"integer" required:"true"` 7130 7131 // Instance group role in the cluster 7132 // 7133 // InstanceRole is a required field 7134 InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"` 7135 7136 // Actual count of running instances. 7137 // 7138 // InstanceRunningCount is a required field 7139 InstanceRunningCount *int64 `type:"integer" required:"true"` 7140 7141 // EC2 instance type. 7142 // 7143 // InstanceType is a required field 7144 InstanceType *string `min:"1" type:"string" required:"true"` 7145 7146 // Details regarding the state of the instance group. 7147 LastStateChangeReason *string `type:"string"` 7148 7149 // Market type of the EC2 instances used to create a cluster node. 7150 // 7151 // Market is a required field 7152 Market *string `type:"string" required:"true" enum:"MarketType"` 7153 7154 // Friendly name for the instance group. 7155 Name *string `type:"string"` 7156 7157 // The date/time the instance group was available to the cluster. 7158 ReadyDateTime *time.Time `type:"timestamp"` 7159 7160 // The date/time the instance group was started. 7161 StartDateTime *time.Time `type:"timestamp"` 7162 7163 // State of instance group. The following values are deprecated: STARTING, TERMINATED, 7164 // and FAILED. 7165 // 7166 // State is a required field 7167 State *string `type:"string" required:"true" enum:"InstanceGroupState"` 7168} 7169 7170// String returns the string representation 7171func (s InstanceGroupDetail) String() string { 7172 return awsutil.Prettify(s) 7173} 7174 7175// GoString returns the string representation 7176func (s InstanceGroupDetail) GoString() string { 7177 return s.String() 7178} 7179 7180// SetBidPrice sets the BidPrice field's value. 7181func (s *InstanceGroupDetail) SetBidPrice(v string) *InstanceGroupDetail { 7182 s.BidPrice = &v 7183 return s 7184} 7185 7186// SetCreationDateTime sets the CreationDateTime field's value. 7187func (s *InstanceGroupDetail) SetCreationDateTime(v time.Time) *InstanceGroupDetail { 7188 s.CreationDateTime = &v 7189 return s 7190} 7191 7192// SetEndDateTime sets the EndDateTime field's value. 7193func (s *InstanceGroupDetail) SetEndDateTime(v time.Time) *InstanceGroupDetail { 7194 s.EndDateTime = &v 7195 return s 7196} 7197 7198// SetInstanceGroupId sets the InstanceGroupId field's value. 7199func (s *InstanceGroupDetail) SetInstanceGroupId(v string) *InstanceGroupDetail { 7200 s.InstanceGroupId = &v 7201 return s 7202} 7203 7204// SetInstanceRequestCount sets the InstanceRequestCount field's value. 7205func (s *InstanceGroupDetail) SetInstanceRequestCount(v int64) *InstanceGroupDetail { 7206 s.InstanceRequestCount = &v 7207 return s 7208} 7209 7210// SetInstanceRole sets the InstanceRole field's value. 7211func (s *InstanceGroupDetail) SetInstanceRole(v string) *InstanceGroupDetail { 7212 s.InstanceRole = &v 7213 return s 7214} 7215 7216// SetInstanceRunningCount sets the InstanceRunningCount field's value. 7217func (s *InstanceGroupDetail) SetInstanceRunningCount(v int64) *InstanceGroupDetail { 7218 s.InstanceRunningCount = &v 7219 return s 7220} 7221 7222// SetInstanceType sets the InstanceType field's value. 7223func (s *InstanceGroupDetail) SetInstanceType(v string) *InstanceGroupDetail { 7224 s.InstanceType = &v 7225 return s 7226} 7227 7228// SetLastStateChangeReason sets the LastStateChangeReason field's value. 7229func (s *InstanceGroupDetail) SetLastStateChangeReason(v string) *InstanceGroupDetail { 7230 s.LastStateChangeReason = &v 7231 return s 7232} 7233 7234// SetMarket sets the Market field's value. 7235func (s *InstanceGroupDetail) SetMarket(v string) *InstanceGroupDetail { 7236 s.Market = &v 7237 return s 7238} 7239 7240// SetName sets the Name field's value. 7241func (s *InstanceGroupDetail) SetName(v string) *InstanceGroupDetail { 7242 s.Name = &v 7243 return s 7244} 7245 7246// SetReadyDateTime sets the ReadyDateTime field's value. 7247func (s *InstanceGroupDetail) SetReadyDateTime(v time.Time) *InstanceGroupDetail { 7248 s.ReadyDateTime = &v 7249 return s 7250} 7251 7252// SetStartDateTime sets the StartDateTime field's value. 7253func (s *InstanceGroupDetail) SetStartDateTime(v time.Time) *InstanceGroupDetail { 7254 s.StartDateTime = &v 7255 return s 7256} 7257 7258// SetState sets the State field's value. 7259func (s *InstanceGroupDetail) SetState(v string) *InstanceGroupDetail { 7260 s.State = &v 7261 return s 7262} 7263 7264// Modify the size or configurations of an instance group. 7265type InstanceGroupModifyConfig struct { 7266 _ struct{} `type:"structure"` 7267 7268 // A list of new or modified configurations to apply for an instance group. 7269 Configurations []*Configuration `type:"list"` 7270 7271 // The EC2 InstanceIds to terminate. After you terminate the instances, the 7272 // instance group will not return to its original requested size. 7273 EC2InstanceIdsToTerminate []*string `type:"list"` 7274 7275 // Target size for the instance group. 7276 InstanceCount *int64 `type:"integer"` 7277 7278 // Unique ID of the instance group to expand or shrink. 7279 // 7280 // InstanceGroupId is a required field 7281 InstanceGroupId *string `type:"string" required:"true"` 7282 7283 // Policy for customizing shrink operations. 7284 ShrinkPolicy *ShrinkPolicy `type:"structure"` 7285} 7286 7287// String returns the string representation 7288func (s InstanceGroupModifyConfig) String() string { 7289 return awsutil.Prettify(s) 7290} 7291 7292// GoString returns the string representation 7293func (s InstanceGroupModifyConfig) GoString() string { 7294 return s.String() 7295} 7296 7297// Validate inspects the fields of the type to determine if they are valid. 7298func (s *InstanceGroupModifyConfig) Validate() error { 7299 invalidParams := request.ErrInvalidParams{Context: "InstanceGroupModifyConfig"} 7300 if s.InstanceGroupId == nil { 7301 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 7302 } 7303 7304 if invalidParams.Len() > 0 { 7305 return invalidParams 7306 } 7307 return nil 7308} 7309 7310// SetConfigurations sets the Configurations field's value. 7311func (s *InstanceGroupModifyConfig) SetConfigurations(v []*Configuration) *InstanceGroupModifyConfig { 7312 s.Configurations = v 7313 return s 7314} 7315 7316// SetEC2InstanceIdsToTerminate sets the EC2InstanceIdsToTerminate field's value. 7317func (s *InstanceGroupModifyConfig) SetEC2InstanceIdsToTerminate(v []*string) *InstanceGroupModifyConfig { 7318 s.EC2InstanceIdsToTerminate = v 7319 return s 7320} 7321 7322// SetInstanceCount sets the InstanceCount field's value. 7323func (s *InstanceGroupModifyConfig) SetInstanceCount(v int64) *InstanceGroupModifyConfig { 7324 s.InstanceCount = &v 7325 return s 7326} 7327 7328// SetInstanceGroupId sets the InstanceGroupId field's value. 7329func (s *InstanceGroupModifyConfig) SetInstanceGroupId(v string) *InstanceGroupModifyConfig { 7330 s.InstanceGroupId = &v 7331 return s 7332} 7333 7334// SetShrinkPolicy sets the ShrinkPolicy field's value. 7335func (s *InstanceGroupModifyConfig) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroupModifyConfig { 7336 s.ShrinkPolicy = v 7337 return s 7338} 7339 7340// The status change reason details for the instance group. 7341type InstanceGroupStateChangeReason struct { 7342 _ struct{} `type:"structure"` 7343 7344 // The programmable code for the state change reason. 7345 Code *string `type:"string" enum:"InstanceGroupStateChangeReasonCode"` 7346 7347 // The status change reason description. 7348 Message *string `type:"string"` 7349} 7350 7351// String returns the string representation 7352func (s InstanceGroupStateChangeReason) String() string { 7353 return awsutil.Prettify(s) 7354} 7355 7356// GoString returns the string representation 7357func (s InstanceGroupStateChangeReason) GoString() string { 7358 return s.String() 7359} 7360 7361// SetCode sets the Code field's value. 7362func (s *InstanceGroupStateChangeReason) SetCode(v string) *InstanceGroupStateChangeReason { 7363 s.Code = &v 7364 return s 7365} 7366 7367// SetMessage sets the Message field's value. 7368func (s *InstanceGroupStateChangeReason) SetMessage(v string) *InstanceGroupStateChangeReason { 7369 s.Message = &v 7370 return s 7371} 7372 7373// The details of the instance group status. 7374type InstanceGroupStatus struct { 7375 _ struct{} `type:"structure"` 7376 7377 // The current state of the instance group. 7378 State *string `type:"string" enum:"InstanceGroupState"` 7379 7380 // The status change reason details for the instance group. 7381 StateChangeReason *InstanceGroupStateChangeReason `type:"structure"` 7382 7383 // The timeline of the instance group status over time. 7384 Timeline *InstanceGroupTimeline `type:"structure"` 7385} 7386 7387// String returns the string representation 7388func (s InstanceGroupStatus) String() string { 7389 return awsutil.Prettify(s) 7390} 7391 7392// GoString returns the string representation 7393func (s InstanceGroupStatus) GoString() string { 7394 return s.String() 7395} 7396 7397// SetState sets the State field's value. 7398func (s *InstanceGroupStatus) SetState(v string) *InstanceGroupStatus { 7399 s.State = &v 7400 return s 7401} 7402 7403// SetStateChangeReason sets the StateChangeReason field's value. 7404func (s *InstanceGroupStatus) SetStateChangeReason(v *InstanceGroupStateChangeReason) *InstanceGroupStatus { 7405 s.StateChangeReason = v 7406 return s 7407} 7408 7409// SetTimeline sets the Timeline field's value. 7410func (s *InstanceGroupStatus) SetTimeline(v *InstanceGroupTimeline) *InstanceGroupStatus { 7411 s.Timeline = v 7412 return s 7413} 7414 7415// The timeline of the instance group lifecycle. 7416type InstanceGroupTimeline struct { 7417 _ struct{} `type:"structure"` 7418 7419 // The creation date and time of the instance group. 7420 CreationDateTime *time.Time `type:"timestamp"` 7421 7422 // The date and time when the instance group terminated. 7423 EndDateTime *time.Time `type:"timestamp"` 7424 7425 // The date and time when the instance group became ready to perform tasks. 7426 ReadyDateTime *time.Time `type:"timestamp"` 7427} 7428 7429// String returns the string representation 7430func (s InstanceGroupTimeline) String() string { 7431 return awsutil.Prettify(s) 7432} 7433 7434// GoString returns the string representation 7435func (s InstanceGroupTimeline) GoString() string { 7436 return s.String() 7437} 7438 7439// SetCreationDateTime sets the CreationDateTime field's value. 7440func (s *InstanceGroupTimeline) SetCreationDateTime(v time.Time) *InstanceGroupTimeline { 7441 s.CreationDateTime = &v 7442 return s 7443} 7444 7445// SetEndDateTime sets the EndDateTime field's value. 7446func (s *InstanceGroupTimeline) SetEndDateTime(v time.Time) *InstanceGroupTimeline { 7447 s.EndDateTime = &v 7448 return s 7449} 7450 7451// SetReadyDateTime sets the ReadyDateTime field's value. 7452func (s *InstanceGroupTimeline) SetReadyDateTime(v time.Time) *InstanceGroupTimeline { 7453 s.ReadyDateTime = &v 7454 return s 7455} 7456 7457// Custom policy for requesting termination protection or termination of specific 7458// instances when shrinking an instance group. 7459type InstanceResizePolicy struct { 7460 _ struct{} `type:"structure"` 7461 7462 // Decommissioning timeout override for the specific list of instances to be 7463 // terminated. 7464 InstanceTerminationTimeout *int64 `type:"integer"` 7465 7466 // Specific list of instances to be protected when shrinking an instance group. 7467 InstancesToProtect []*string `type:"list"` 7468 7469 // Specific list of instances to be terminated when shrinking an instance group. 7470 InstancesToTerminate []*string `type:"list"` 7471} 7472 7473// String returns the string representation 7474func (s InstanceResizePolicy) String() string { 7475 return awsutil.Prettify(s) 7476} 7477 7478// GoString returns the string representation 7479func (s InstanceResizePolicy) GoString() string { 7480 return s.String() 7481} 7482 7483// SetInstanceTerminationTimeout sets the InstanceTerminationTimeout field's value. 7484func (s *InstanceResizePolicy) SetInstanceTerminationTimeout(v int64) *InstanceResizePolicy { 7485 s.InstanceTerminationTimeout = &v 7486 return s 7487} 7488 7489// SetInstancesToProtect sets the InstancesToProtect field's value. 7490func (s *InstanceResizePolicy) SetInstancesToProtect(v []*string) *InstanceResizePolicy { 7491 s.InstancesToProtect = v 7492 return s 7493} 7494 7495// SetInstancesToTerminate sets the InstancesToTerminate field's value. 7496func (s *InstanceResizePolicy) SetInstancesToTerminate(v []*string) *InstanceResizePolicy { 7497 s.InstancesToTerminate = v 7498 return s 7499} 7500 7501// The details of the status change reason for the instance. 7502type InstanceStateChangeReason struct { 7503 _ struct{} `type:"structure"` 7504 7505 // The programmable code for the state change reason. 7506 Code *string `type:"string" enum:"InstanceStateChangeReasonCode"` 7507 7508 // The status change reason description. 7509 Message *string `type:"string"` 7510} 7511 7512// String returns the string representation 7513func (s InstanceStateChangeReason) String() string { 7514 return awsutil.Prettify(s) 7515} 7516 7517// GoString returns the string representation 7518func (s InstanceStateChangeReason) GoString() string { 7519 return s.String() 7520} 7521 7522// SetCode sets the Code field's value. 7523func (s *InstanceStateChangeReason) SetCode(v string) *InstanceStateChangeReason { 7524 s.Code = &v 7525 return s 7526} 7527 7528// SetMessage sets the Message field's value. 7529func (s *InstanceStateChangeReason) SetMessage(v string) *InstanceStateChangeReason { 7530 s.Message = &v 7531 return s 7532} 7533 7534// The instance status details. 7535type InstanceStatus struct { 7536 _ struct{} `type:"structure"` 7537 7538 // The current state of the instance. 7539 State *string `type:"string" enum:"InstanceState"` 7540 7541 // The details of the status change reason for the instance. 7542 StateChangeReason *InstanceStateChangeReason `type:"structure"` 7543 7544 // The timeline of the instance status over time. 7545 Timeline *InstanceTimeline `type:"structure"` 7546} 7547 7548// String returns the string representation 7549func (s InstanceStatus) String() string { 7550 return awsutil.Prettify(s) 7551} 7552 7553// GoString returns the string representation 7554func (s InstanceStatus) GoString() string { 7555 return s.String() 7556} 7557 7558// SetState sets the State field's value. 7559func (s *InstanceStatus) SetState(v string) *InstanceStatus { 7560 s.State = &v 7561 return s 7562} 7563 7564// SetStateChangeReason sets the StateChangeReason field's value. 7565func (s *InstanceStatus) SetStateChangeReason(v *InstanceStateChangeReason) *InstanceStatus { 7566 s.StateChangeReason = v 7567 return s 7568} 7569 7570// SetTimeline sets the Timeline field's value. 7571func (s *InstanceStatus) SetTimeline(v *InstanceTimeline) *InstanceStatus { 7572 s.Timeline = v 7573 return s 7574} 7575 7576// The timeline of the instance lifecycle. 7577type InstanceTimeline struct { 7578 _ struct{} `type:"structure"` 7579 7580 // The creation date and time of the instance. 7581 CreationDateTime *time.Time `type:"timestamp"` 7582 7583 // The date and time when the instance was terminated. 7584 EndDateTime *time.Time `type:"timestamp"` 7585 7586 // The date and time when the instance was ready to perform tasks. 7587 ReadyDateTime *time.Time `type:"timestamp"` 7588} 7589 7590// String returns the string representation 7591func (s InstanceTimeline) String() string { 7592 return awsutil.Prettify(s) 7593} 7594 7595// GoString returns the string representation 7596func (s InstanceTimeline) GoString() string { 7597 return s.String() 7598} 7599 7600// SetCreationDateTime sets the CreationDateTime field's value. 7601func (s *InstanceTimeline) SetCreationDateTime(v time.Time) *InstanceTimeline { 7602 s.CreationDateTime = &v 7603 return s 7604} 7605 7606// SetEndDateTime sets the EndDateTime field's value. 7607func (s *InstanceTimeline) SetEndDateTime(v time.Time) *InstanceTimeline { 7608 s.EndDateTime = &v 7609 return s 7610} 7611 7612// SetReadyDateTime sets the ReadyDateTime field's value. 7613func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline { 7614 s.ReadyDateTime = &v 7615 return s 7616} 7617 7618// An instance type configuration for each instance type in an instance fleet, 7619// which determines the EC2 instances Amazon EMR attempts to provision to fulfill 7620// On-Demand and Spot target capacities. There can be a maximum of 5 instance 7621// type configurations in a fleet. 7622// 7623// The instance fleet configuration is available only in Amazon EMR versions 7624// 4.8.0 and later, excluding 5.0.x versions. 7625type InstanceTypeConfig struct { 7626 _ struct{} `type:"structure"` 7627 7628 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7629 // Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice 7630 // is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7631 BidPrice *string `type:"string"` 7632 7633 // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance 7634 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 7635 // 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided, 7636 // BidPriceAsPercentageOfOnDemandPrice defaults to 100%. 7637 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 7638 7639 // A configuration classification that applies when provisioning cluster instances, 7640 // which can include configurations for applications and software that run on 7641 // the cluster. 7642 Configurations []*Configuration `type:"list"` 7643 7644 // The configuration of Amazon Elastic Block Storage (EBS) attached to each 7645 // instance as defined by InstanceType. 7646 EbsConfiguration *EbsConfiguration `type:"structure"` 7647 7648 // An EC2 instance type, such as m3.xlarge. 7649 // 7650 // InstanceType is a required field 7651 InstanceType *string `min:"1" type:"string" required:"true"` 7652 7653 // The number of units that a provisioned instance of this type provides toward 7654 // fulfilling the target capacities defined in InstanceFleetConfig. This value 7655 // is 1 for a master instance fleet, and must be 1 or greater for core and task 7656 // instance fleets. Defaults to 1 if not specified. 7657 WeightedCapacity *int64 `type:"integer"` 7658} 7659 7660// String returns the string representation 7661func (s InstanceTypeConfig) String() string { 7662 return awsutil.Prettify(s) 7663} 7664 7665// GoString returns the string representation 7666func (s InstanceTypeConfig) GoString() string { 7667 return s.String() 7668} 7669 7670// Validate inspects the fields of the type to determine if they are valid. 7671func (s *InstanceTypeConfig) Validate() error { 7672 invalidParams := request.ErrInvalidParams{Context: "InstanceTypeConfig"} 7673 if s.InstanceType == nil { 7674 invalidParams.Add(request.NewErrParamRequired("InstanceType")) 7675 } 7676 if s.InstanceType != nil && len(*s.InstanceType) < 1 { 7677 invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1)) 7678 } 7679 if s.EbsConfiguration != nil { 7680 if err := s.EbsConfiguration.Validate(); err != nil { 7681 invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams)) 7682 } 7683 } 7684 7685 if invalidParams.Len() > 0 { 7686 return invalidParams 7687 } 7688 return nil 7689} 7690 7691// SetBidPrice sets the BidPrice field's value. 7692func (s *InstanceTypeConfig) SetBidPrice(v string) *InstanceTypeConfig { 7693 s.BidPrice = &v 7694 return s 7695} 7696 7697// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 7698func (s *InstanceTypeConfig) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeConfig { 7699 s.BidPriceAsPercentageOfOnDemandPrice = &v 7700 return s 7701} 7702 7703// SetConfigurations sets the Configurations field's value. 7704func (s *InstanceTypeConfig) SetConfigurations(v []*Configuration) *InstanceTypeConfig { 7705 s.Configurations = v 7706 return s 7707} 7708 7709// SetEbsConfiguration sets the EbsConfiguration field's value. 7710func (s *InstanceTypeConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceTypeConfig { 7711 s.EbsConfiguration = v 7712 return s 7713} 7714 7715// SetInstanceType sets the InstanceType field's value. 7716func (s *InstanceTypeConfig) SetInstanceType(v string) *InstanceTypeConfig { 7717 s.InstanceType = &v 7718 return s 7719} 7720 7721// SetWeightedCapacity sets the WeightedCapacity field's value. 7722func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig { 7723 s.WeightedCapacity = &v 7724 return s 7725} 7726 7727// The configuration specification for each instance type in an instance fleet. 7728// 7729// The instance fleet configuration is available only in Amazon EMR versions 7730// 4.8.0 and later, excluding 5.0.x versions. 7731type InstanceTypeSpecification struct { 7732 _ struct{} `type:"structure"` 7733 7734 // The bid price for each EC2 Spot instance type as defined by InstanceType. 7735 // Expressed in USD. 7736 BidPrice *string `type:"string"` 7737 7738 // The bid price, as a percentage of On-Demand price, for each EC2 Spot instance 7739 // as defined by InstanceType. Expressed as a number (for example, 20 specifies 7740 // 20%). 7741 BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"` 7742 7743 // A configuration classification that applies when provisioning cluster instances, 7744 // which can include configurations for applications and software bundled with 7745 // Amazon EMR. 7746 Configurations []*Configuration `type:"list"` 7747 7748 // The configuration of Amazon Elastic Block Storage (EBS) attached to each 7749 // instance as defined by InstanceType. 7750 EbsBlockDevices []*EbsBlockDevice `type:"list"` 7751 7752 // Evaluates to TRUE when the specified InstanceType is EBS-optimized. 7753 EbsOptimized *bool `type:"boolean"` 7754 7755 // The EC2 instance type, for example m3.xlarge. 7756 InstanceType *string `min:"1" type:"string"` 7757 7758 // The number of units that a provisioned instance of this type provides toward 7759 // fulfilling the target capacities defined in InstanceFleetConfig. Capacity 7760 // values represent performance characteristics such as vCPUs, memory, or I/O. 7761 // If not specified, the default value is 1. 7762 WeightedCapacity *int64 `type:"integer"` 7763} 7764 7765// String returns the string representation 7766func (s InstanceTypeSpecification) String() string { 7767 return awsutil.Prettify(s) 7768} 7769 7770// GoString returns the string representation 7771func (s InstanceTypeSpecification) GoString() string { 7772 return s.String() 7773} 7774 7775// SetBidPrice sets the BidPrice field's value. 7776func (s *InstanceTypeSpecification) SetBidPrice(v string) *InstanceTypeSpecification { 7777 s.BidPrice = &v 7778 return s 7779} 7780 7781// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value. 7782func (s *InstanceTypeSpecification) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeSpecification { 7783 s.BidPriceAsPercentageOfOnDemandPrice = &v 7784 return s 7785} 7786 7787// SetConfigurations sets the Configurations field's value. 7788func (s *InstanceTypeSpecification) SetConfigurations(v []*Configuration) *InstanceTypeSpecification { 7789 s.Configurations = v 7790 return s 7791} 7792 7793// SetEbsBlockDevices sets the EbsBlockDevices field's value. 7794func (s *InstanceTypeSpecification) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceTypeSpecification { 7795 s.EbsBlockDevices = v 7796 return s 7797} 7798 7799// SetEbsOptimized sets the EbsOptimized field's value. 7800func (s *InstanceTypeSpecification) SetEbsOptimized(v bool) *InstanceTypeSpecification { 7801 s.EbsOptimized = &v 7802 return s 7803} 7804 7805// SetInstanceType sets the InstanceType field's value. 7806func (s *InstanceTypeSpecification) SetInstanceType(v string) *InstanceTypeSpecification { 7807 s.InstanceType = &v 7808 return s 7809} 7810 7811// SetWeightedCapacity sets the WeightedCapacity field's value. 7812func (s *InstanceTypeSpecification) SetWeightedCapacity(v int64) *InstanceTypeSpecification { 7813 s.WeightedCapacity = &v 7814 return s 7815} 7816 7817// Indicates that an error occurred while processing the request and that the 7818// request was not completed. 7819type InternalServerError struct { 7820 _ struct{} `type:"structure"` 7821 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7822 7823 Message_ *string `locationName:"message" type:"string"` 7824} 7825 7826// String returns the string representation 7827func (s InternalServerError) String() string { 7828 return awsutil.Prettify(s) 7829} 7830 7831// GoString returns the string representation 7832func (s InternalServerError) GoString() string { 7833 return s.String() 7834} 7835 7836func newErrorInternalServerError(v protocol.ResponseMetadata) error { 7837 return &InternalServerError{ 7838 RespMetadata: v, 7839 } 7840} 7841 7842// Code returns the exception type name. 7843func (s *InternalServerError) Code() string { 7844 return "InternalServerError" 7845} 7846 7847// Message returns the exception's message. 7848func (s *InternalServerError) Message() string { 7849 if s.Message_ != nil { 7850 return *s.Message_ 7851 } 7852 return "" 7853} 7854 7855// OrigErr always returns nil, satisfies awserr.Error interface. 7856func (s *InternalServerError) OrigErr() error { 7857 return nil 7858} 7859 7860func (s *InternalServerError) Error() string { 7861 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7862} 7863 7864// Status code returns the HTTP status code for the request's response error. 7865func (s *InternalServerError) StatusCode() int { 7866 return s.RespMetadata.StatusCode 7867} 7868 7869// RequestID returns the service's response RequestID for request. 7870func (s *InternalServerError) RequestID() string { 7871 return s.RespMetadata.RequestID 7872} 7873 7874// This exception occurs when there is an internal failure in the EMR service. 7875type InternalServerException struct { 7876 _ struct{} `type:"structure"` 7877 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7878 7879 // The message associated with the exception. 7880 Message_ *string `locationName:"Message" type:"string"` 7881} 7882 7883// String returns the string representation 7884func (s InternalServerException) String() string { 7885 return awsutil.Prettify(s) 7886} 7887 7888// GoString returns the string representation 7889func (s InternalServerException) GoString() string { 7890 return s.String() 7891} 7892 7893func newErrorInternalServerException(v protocol.ResponseMetadata) error { 7894 return &InternalServerException{ 7895 RespMetadata: v, 7896 } 7897} 7898 7899// Code returns the exception type name. 7900func (s *InternalServerException) Code() string { 7901 return "InternalServerException" 7902} 7903 7904// Message returns the exception's message. 7905func (s *InternalServerException) Message() string { 7906 if s.Message_ != nil { 7907 return *s.Message_ 7908 } 7909 return "" 7910} 7911 7912// OrigErr always returns nil, satisfies awserr.Error interface. 7913func (s *InternalServerException) OrigErr() error { 7914 return nil 7915} 7916 7917func (s *InternalServerException) Error() string { 7918 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7919} 7920 7921// Status code returns the HTTP status code for the request's response error. 7922func (s *InternalServerException) StatusCode() int { 7923 return s.RespMetadata.StatusCode 7924} 7925 7926// RequestID returns the service's response RequestID for request. 7927func (s *InternalServerException) RequestID() string { 7928 return s.RespMetadata.RequestID 7929} 7930 7931// This exception occurs when there is something wrong with user input. 7932type InvalidRequestException struct { 7933 _ struct{} `type:"structure"` 7934 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7935 7936 // The error code associated with the exception. 7937 ErrorCode *string `min:"1" type:"string"` 7938 7939 // The message associated with the exception. 7940 Message_ *string `locationName:"Message" type:"string"` 7941} 7942 7943// String returns the string representation 7944func (s InvalidRequestException) String() string { 7945 return awsutil.Prettify(s) 7946} 7947 7948// GoString returns the string representation 7949func (s InvalidRequestException) GoString() string { 7950 return s.String() 7951} 7952 7953func newErrorInvalidRequestException(v protocol.ResponseMetadata) error { 7954 return &InvalidRequestException{ 7955 RespMetadata: v, 7956 } 7957} 7958 7959// Code returns the exception type name. 7960func (s *InvalidRequestException) Code() string { 7961 return "InvalidRequestException" 7962} 7963 7964// Message returns the exception's message. 7965func (s *InvalidRequestException) Message() string { 7966 if s.Message_ != nil { 7967 return *s.Message_ 7968 } 7969 return "" 7970} 7971 7972// OrigErr always returns nil, satisfies awserr.Error interface. 7973func (s *InvalidRequestException) OrigErr() error { 7974 return nil 7975} 7976 7977func (s *InvalidRequestException) Error() string { 7978 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 7979} 7980 7981// Status code returns the HTTP status code for the request's response error. 7982func (s *InvalidRequestException) StatusCode() int { 7983 return s.RespMetadata.StatusCode 7984} 7985 7986// RequestID returns the service's response RequestID for request. 7987func (s *InvalidRequestException) RequestID() string { 7988 return s.RespMetadata.RequestID 7989} 7990 7991// A description of a cluster (job flow). 7992type JobFlowDetail struct { 7993 _ struct{} `type:"structure"` 7994 7995 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 7996 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 7997 AmiVersion *string `type:"string"` 7998 7999 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 8000 // The IAM role provides a way for the automatic scaling feature to get the 8001 // required permissions it needs to launch and terminate EC2 instances in an 8002 // instance group. 8003 AutoScalingRole *string `type:"string"` 8004 8005 // A list of the bootstrap actions run by the job flow. 8006 BootstrapActions []*BootstrapActionDetail `type:"list"` 8007 8008 // Describes the execution status of the job flow. 8009 // 8010 // ExecutionStatusDetail is a required field 8011 ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"` 8012 8013 // Describes the Amazon EC2 instances of the job flow. 8014 // 8015 // Instances is a required field 8016 Instances *JobFlowInstancesDetail `type:"structure" required:"true"` 8017 8018 // The job flow identifier. 8019 // 8020 // JobFlowId is a required field 8021 JobFlowId *string `type:"string" required:"true"` 8022 8023 // The IAM role that was specified when the job flow was launched. The EC2 instances 8024 // of the job flow assume this role. 8025 JobFlowRole *string `type:"string"` 8026 8027 // The AWS KMS customer master key (CMK) used for encrypting log files. This 8028 // attribute is only available with EMR version 5.30.0 and later, excluding 8029 // EMR 6.0.0. 8030 LogEncryptionKmsKeyId *string `type:"string"` 8031 8032 // The location in Amazon S3 where log files for the job are stored. 8033 LogUri *string `type:"string"` 8034 8035 // The name of the job flow. 8036 // 8037 // Name is a required field 8038 Name *string `type:"string" required:"true"` 8039 8040 // The way that individual Amazon EC2 instances terminate when an automatic 8041 // scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 8042 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 8043 // regardless of when the request to terminate the instance was submitted. This 8044 // option is only available with Amazon EMR 5.1.0 and later and is the default 8045 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 8046 // that Amazon EMR blacklists and drains tasks from nodes before terminating 8047 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 8048 // either behavior, Amazon EMR removes the least active nodes first and blocks 8049 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 8050 // available only in Amazon EMR version 4.1.0 and later, and is the default 8051 // for versions of Amazon EMR earlier than 5.1.0. 8052 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 8053 8054 // The IAM role that will be assumed by the Amazon EMR service to access AWS 8055 // resources on your behalf. 8056 ServiceRole *string `type:"string"` 8057 8058 // A list of steps run by the job flow. 8059 Steps []*StepDetail `type:"list"` 8060 8061 // A list of strings set by third party software when the job flow is launched. 8062 // If you are not using third party software to manage the job flow this value 8063 // is empty. 8064 SupportedProducts []*string `type:"list"` 8065 8066 // Indicates whether the cluster is visible to all IAM users of the AWS account 8067 // associated with the cluster. The default value, true, indicates that all 8068 // IAM users in the AWS account can perform cluster actions if they have the 8069 // proper IAM policy permissions. If this value is false, only the IAM user 8070 // that created the cluster can perform actions. This value can be changed on 8071 // a running cluster by using the SetVisibleToAllUsers action. You can override 8072 // the default value of true when you create a cluster by using the VisibleToAllUsers 8073 // parameter of the RunJobFlow action. 8074 VisibleToAllUsers *bool `type:"boolean"` 8075} 8076 8077// String returns the string representation 8078func (s JobFlowDetail) String() string { 8079 return awsutil.Prettify(s) 8080} 8081 8082// GoString returns the string representation 8083func (s JobFlowDetail) GoString() string { 8084 return s.String() 8085} 8086 8087// SetAmiVersion sets the AmiVersion field's value. 8088func (s *JobFlowDetail) SetAmiVersion(v string) *JobFlowDetail { 8089 s.AmiVersion = &v 8090 return s 8091} 8092 8093// SetAutoScalingRole sets the AutoScalingRole field's value. 8094func (s *JobFlowDetail) SetAutoScalingRole(v string) *JobFlowDetail { 8095 s.AutoScalingRole = &v 8096 return s 8097} 8098 8099// SetBootstrapActions sets the BootstrapActions field's value. 8100func (s *JobFlowDetail) SetBootstrapActions(v []*BootstrapActionDetail) *JobFlowDetail { 8101 s.BootstrapActions = v 8102 return s 8103} 8104 8105// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 8106func (s *JobFlowDetail) SetExecutionStatusDetail(v *JobFlowExecutionStatusDetail) *JobFlowDetail { 8107 s.ExecutionStatusDetail = v 8108 return s 8109} 8110 8111// SetInstances sets the Instances field's value. 8112func (s *JobFlowDetail) SetInstances(v *JobFlowInstancesDetail) *JobFlowDetail { 8113 s.Instances = v 8114 return s 8115} 8116 8117// SetJobFlowId sets the JobFlowId field's value. 8118func (s *JobFlowDetail) SetJobFlowId(v string) *JobFlowDetail { 8119 s.JobFlowId = &v 8120 return s 8121} 8122 8123// SetJobFlowRole sets the JobFlowRole field's value. 8124func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail { 8125 s.JobFlowRole = &v 8126 return s 8127} 8128 8129// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 8130func (s *JobFlowDetail) SetLogEncryptionKmsKeyId(v string) *JobFlowDetail { 8131 s.LogEncryptionKmsKeyId = &v 8132 return s 8133} 8134 8135// SetLogUri sets the LogUri field's value. 8136func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail { 8137 s.LogUri = &v 8138 return s 8139} 8140 8141// SetName sets the Name field's value. 8142func (s *JobFlowDetail) SetName(v string) *JobFlowDetail { 8143 s.Name = &v 8144 return s 8145} 8146 8147// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 8148func (s *JobFlowDetail) SetScaleDownBehavior(v string) *JobFlowDetail { 8149 s.ScaleDownBehavior = &v 8150 return s 8151} 8152 8153// SetServiceRole sets the ServiceRole field's value. 8154func (s *JobFlowDetail) SetServiceRole(v string) *JobFlowDetail { 8155 s.ServiceRole = &v 8156 return s 8157} 8158 8159// SetSteps sets the Steps field's value. 8160func (s *JobFlowDetail) SetSteps(v []*StepDetail) *JobFlowDetail { 8161 s.Steps = v 8162 return s 8163} 8164 8165// SetSupportedProducts sets the SupportedProducts field's value. 8166func (s *JobFlowDetail) SetSupportedProducts(v []*string) *JobFlowDetail { 8167 s.SupportedProducts = v 8168 return s 8169} 8170 8171// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 8172func (s *JobFlowDetail) SetVisibleToAllUsers(v bool) *JobFlowDetail { 8173 s.VisibleToAllUsers = &v 8174 return s 8175} 8176 8177// Describes the status of the cluster (job flow). 8178type JobFlowExecutionStatusDetail struct { 8179 _ struct{} `type:"structure"` 8180 8181 // The creation date and time of the job flow. 8182 // 8183 // CreationDateTime is a required field 8184 CreationDateTime *time.Time `type:"timestamp" required:"true"` 8185 8186 // The completion date and time of the job flow. 8187 EndDateTime *time.Time `type:"timestamp"` 8188 8189 // Description of the job flow last changed state. 8190 LastStateChangeReason *string `type:"string"` 8191 8192 // The date and time when the job flow was ready to start running bootstrap 8193 // actions. 8194 ReadyDateTime *time.Time `type:"timestamp"` 8195 8196 // The start date and time of the job flow. 8197 StartDateTime *time.Time `type:"timestamp"` 8198 8199 // The state of the job flow. 8200 // 8201 // State is a required field 8202 State *string `type:"string" required:"true" enum:"JobFlowExecutionState"` 8203} 8204 8205// String returns the string representation 8206func (s JobFlowExecutionStatusDetail) String() string { 8207 return awsutil.Prettify(s) 8208} 8209 8210// GoString returns the string representation 8211func (s JobFlowExecutionStatusDetail) GoString() string { 8212 return s.String() 8213} 8214 8215// SetCreationDateTime sets the CreationDateTime field's value. 8216func (s *JobFlowExecutionStatusDetail) SetCreationDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8217 s.CreationDateTime = &v 8218 return s 8219} 8220 8221// SetEndDateTime sets the EndDateTime field's value. 8222func (s *JobFlowExecutionStatusDetail) SetEndDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8223 s.EndDateTime = &v 8224 return s 8225} 8226 8227// SetLastStateChangeReason sets the LastStateChangeReason field's value. 8228func (s *JobFlowExecutionStatusDetail) SetLastStateChangeReason(v string) *JobFlowExecutionStatusDetail { 8229 s.LastStateChangeReason = &v 8230 return s 8231} 8232 8233// SetReadyDateTime sets the ReadyDateTime field's value. 8234func (s *JobFlowExecutionStatusDetail) SetReadyDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8235 s.ReadyDateTime = &v 8236 return s 8237} 8238 8239// SetStartDateTime sets the StartDateTime field's value. 8240func (s *JobFlowExecutionStatusDetail) SetStartDateTime(v time.Time) *JobFlowExecutionStatusDetail { 8241 s.StartDateTime = &v 8242 return s 8243} 8244 8245// SetState sets the State field's value. 8246func (s *JobFlowExecutionStatusDetail) SetState(v string) *JobFlowExecutionStatusDetail { 8247 s.State = &v 8248 return s 8249} 8250 8251// A description of the Amazon EC2 instance on which the cluster (job flow) 8252// runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or 8253// InstanceFleets, which is the recommended configuration. They cannot be used 8254// together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount 8255// (all three must be present), but we don't recommend this configuration. 8256type JobFlowInstancesConfig struct { 8257 _ struct{} `type:"structure"` 8258 8259 // A list of additional Amazon EC2 security group IDs for the master node. 8260 AdditionalMasterSecurityGroups []*string `type:"list"` 8261 8262 // A list of additional Amazon EC2 security group IDs for the core and task 8263 // nodes. 8264 AdditionalSlaveSecurityGroups []*string `type:"list"` 8265 8266 // The name of the EC2 key pair that can be used to ssh to the master node as 8267 // the user called "hadoop." 8268 Ec2KeyName *string `type:"string"` 8269 8270 // Applies to clusters that use the uniform instance group configuration. To 8271 // launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this 8272 // parameter to the identifier of the Amazon VPC subnet where you want the cluster 8273 // to launch. If you do not specify this value and your account supports EC2-Classic, 8274 // the cluster launches in EC2-Classic. 8275 Ec2SubnetId *string `type:"string"` 8276 8277 // Applies to clusters that use the instance fleet configuration. When multiple 8278 // EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances 8279 // in the optimal subnet. 8280 // 8281 // The instance fleet configuration is available only in Amazon EMR versions 8282 // 4.8.0 and later, excluding 5.0.x versions. 8283 Ec2SubnetIds []*string `type:"list"` 8284 8285 // The identifier of the Amazon EC2 security group for the master node. 8286 EmrManagedMasterSecurityGroup *string `type:"string"` 8287 8288 // The identifier of the Amazon EC2 security group for the core and task nodes. 8289 EmrManagedSlaveSecurityGroup *string `type:"string"` 8290 8291 // Applies only to Amazon EMR release versions earlier than 4.0. The Hadoop 8292 // version for the cluster. Valid inputs are "0.18" (deprecated), "0.20" (deprecated), 8293 // "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0". If you do not set 8294 // this value, the default of 0.18 is used, unless the AmiVersion parameter 8295 // is set in the RunJobFlow call, in which case the default version of Hadoop 8296 // for that AMI version is used. 8297 HadoopVersion *string `type:"string"` 8298 8299 // The number of EC2 instances in the cluster. 8300 InstanceCount *int64 `type:"integer"` 8301 8302 // 8303 // The instance fleet configuration is available only in Amazon EMR versions 8304 // 4.8.0 and later, excluding 5.0.x versions. 8305 // 8306 // Describes the EC2 instances and instance configurations for clusters that 8307 // use the instance fleet configuration. 8308 InstanceFleets []*InstanceFleetConfig `type:"list"` 8309 8310 // Configuration for the instance groups in a cluster. 8311 InstanceGroups []*InstanceGroupConfig `type:"list"` 8312 8313 // Specifies whether the cluster should remain available after completing all 8314 // steps. 8315 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 8316 8317 // The EC2 instance type of the master node. 8318 MasterInstanceType *string `min:"1" type:"string"` 8319 8320 // The Availability Zone in which the cluster runs. 8321 Placement *PlacementType `type:"structure"` 8322 8323 // The identifier of the Amazon EC2 security group for the Amazon EMR service 8324 // to access clusters in VPC private subnets. 8325 ServiceAccessSecurityGroup *string `type:"string"` 8326 8327 // The EC2 instance type of the core and task nodes. 8328 SlaveInstanceType *string `min:"1" type:"string"` 8329 8330 // Specifies whether to lock the cluster to prevent the Amazon EC2 instances 8331 // from being terminated by API call, user intervention, or in the event of 8332 // a job-flow error. 8333 TerminationProtected *bool `type:"boolean"` 8334} 8335 8336// String returns the string representation 8337func (s JobFlowInstancesConfig) String() string { 8338 return awsutil.Prettify(s) 8339} 8340 8341// GoString returns the string representation 8342func (s JobFlowInstancesConfig) GoString() string { 8343 return s.String() 8344} 8345 8346// Validate inspects the fields of the type to determine if they are valid. 8347func (s *JobFlowInstancesConfig) Validate() error { 8348 invalidParams := request.ErrInvalidParams{Context: "JobFlowInstancesConfig"} 8349 if s.MasterInstanceType != nil && len(*s.MasterInstanceType) < 1 { 8350 invalidParams.Add(request.NewErrParamMinLen("MasterInstanceType", 1)) 8351 } 8352 if s.SlaveInstanceType != nil && len(*s.SlaveInstanceType) < 1 { 8353 invalidParams.Add(request.NewErrParamMinLen("SlaveInstanceType", 1)) 8354 } 8355 if s.InstanceFleets != nil { 8356 for i, v := range s.InstanceFleets { 8357 if v == nil { 8358 continue 8359 } 8360 if err := v.Validate(); err != nil { 8361 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceFleets", i), err.(request.ErrInvalidParams)) 8362 } 8363 } 8364 } 8365 if s.InstanceGroups != nil { 8366 for i, v := range s.InstanceGroups { 8367 if v == nil { 8368 continue 8369 } 8370 if err := v.Validate(); err != nil { 8371 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 8372 } 8373 } 8374 } 8375 8376 if invalidParams.Len() > 0 { 8377 return invalidParams 8378 } 8379 return nil 8380} 8381 8382// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value. 8383func (s *JobFlowInstancesConfig) SetAdditionalMasterSecurityGroups(v []*string) *JobFlowInstancesConfig { 8384 s.AdditionalMasterSecurityGroups = v 8385 return s 8386} 8387 8388// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value. 8389func (s *JobFlowInstancesConfig) SetAdditionalSlaveSecurityGroups(v []*string) *JobFlowInstancesConfig { 8390 s.AdditionalSlaveSecurityGroups = v 8391 return s 8392} 8393 8394// SetEc2KeyName sets the Ec2KeyName field's value. 8395func (s *JobFlowInstancesConfig) SetEc2KeyName(v string) *JobFlowInstancesConfig { 8396 s.Ec2KeyName = &v 8397 return s 8398} 8399 8400// SetEc2SubnetId sets the Ec2SubnetId field's value. 8401func (s *JobFlowInstancesConfig) SetEc2SubnetId(v string) *JobFlowInstancesConfig { 8402 s.Ec2SubnetId = &v 8403 return s 8404} 8405 8406// SetEc2SubnetIds sets the Ec2SubnetIds field's value. 8407func (s *JobFlowInstancesConfig) SetEc2SubnetIds(v []*string) *JobFlowInstancesConfig { 8408 s.Ec2SubnetIds = v 8409 return s 8410} 8411 8412// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value. 8413func (s *JobFlowInstancesConfig) SetEmrManagedMasterSecurityGroup(v string) *JobFlowInstancesConfig { 8414 s.EmrManagedMasterSecurityGroup = &v 8415 return s 8416} 8417 8418// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value. 8419func (s *JobFlowInstancesConfig) SetEmrManagedSlaveSecurityGroup(v string) *JobFlowInstancesConfig { 8420 s.EmrManagedSlaveSecurityGroup = &v 8421 return s 8422} 8423 8424// SetHadoopVersion sets the HadoopVersion field's value. 8425func (s *JobFlowInstancesConfig) SetHadoopVersion(v string) *JobFlowInstancesConfig { 8426 s.HadoopVersion = &v 8427 return s 8428} 8429 8430// SetInstanceCount sets the InstanceCount field's value. 8431func (s *JobFlowInstancesConfig) SetInstanceCount(v int64) *JobFlowInstancesConfig { 8432 s.InstanceCount = &v 8433 return s 8434} 8435 8436// SetInstanceFleets sets the InstanceFleets field's value. 8437func (s *JobFlowInstancesConfig) SetInstanceFleets(v []*InstanceFleetConfig) *JobFlowInstancesConfig { 8438 s.InstanceFleets = v 8439 return s 8440} 8441 8442// SetInstanceGroups sets the InstanceGroups field's value. 8443func (s *JobFlowInstancesConfig) SetInstanceGroups(v []*InstanceGroupConfig) *JobFlowInstancesConfig { 8444 s.InstanceGroups = v 8445 return s 8446} 8447 8448// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 8449func (s *JobFlowInstancesConfig) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesConfig { 8450 s.KeepJobFlowAliveWhenNoSteps = &v 8451 return s 8452} 8453 8454// SetMasterInstanceType sets the MasterInstanceType field's value. 8455func (s *JobFlowInstancesConfig) SetMasterInstanceType(v string) *JobFlowInstancesConfig { 8456 s.MasterInstanceType = &v 8457 return s 8458} 8459 8460// SetPlacement sets the Placement field's value. 8461func (s *JobFlowInstancesConfig) SetPlacement(v *PlacementType) *JobFlowInstancesConfig { 8462 s.Placement = v 8463 return s 8464} 8465 8466// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value. 8467func (s *JobFlowInstancesConfig) SetServiceAccessSecurityGroup(v string) *JobFlowInstancesConfig { 8468 s.ServiceAccessSecurityGroup = &v 8469 return s 8470} 8471 8472// SetSlaveInstanceType sets the SlaveInstanceType field's value. 8473func (s *JobFlowInstancesConfig) SetSlaveInstanceType(v string) *JobFlowInstancesConfig { 8474 s.SlaveInstanceType = &v 8475 return s 8476} 8477 8478// SetTerminationProtected sets the TerminationProtected field's value. 8479func (s *JobFlowInstancesConfig) SetTerminationProtected(v bool) *JobFlowInstancesConfig { 8480 s.TerminationProtected = &v 8481 return s 8482} 8483 8484// Specify the type of Amazon EC2 instances that the cluster (job flow) runs 8485// on. 8486type JobFlowInstancesDetail struct { 8487 _ struct{} `type:"structure"` 8488 8489 // The name of an Amazon EC2 key pair that can be used to ssh to the master 8490 // node. 8491 Ec2KeyName *string `type:"string"` 8492 8493 // For clusters launched within Amazon Virtual Private Cloud, this is the identifier 8494 // of the subnet where the cluster was launched. 8495 Ec2SubnetId *string `type:"string"` 8496 8497 // The Hadoop version for the cluster. 8498 HadoopVersion *string `type:"string"` 8499 8500 // The number of Amazon EC2 instances in the cluster. If the value is 1, the 8501 // same instance serves as both the master and core and task node. If the value 8502 // is greater than 1, one instance is the master node and all others are core 8503 // and task nodes. 8504 // 8505 // InstanceCount is a required field 8506 InstanceCount *int64 `type:"integer" required:"true"` 8507 8508 // Details about the instance groups in a cluster. 8509 InstanceGroups []*InstanceGroupDetail `type:"list"` 8510 8511 // Specifies whether the cluster should remain available after completing all 8512 // steps. 8513 KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"` 8514 8515 // The Amazon EC2 instance identifier of the master node. 8516 MasterInstanceId *string `type:"string"` 8517 8518 // The Amazon EC2 master node instance type. 8519 // 8520 // MasterInstanceType is a required field 8521 MasterInstanceType *string `min:"1" type:"string" required:"true"` 8522 8523 // The DNS name of the master node. If the cluster is on a private subnet, this 8524 // is the private DNS name. On a public subnet, this is the public DNS name. 8525 MasterPublicDnsName *string `type:"string"` 8526 8527 // An approximation of the cost of the cluster, represented in m1.small/hours. 8528 // This value is incremented one time for every hour that an m1.small runs. 8529 // Larger instances are weighted more, so an Amazon EC2 instance that is roughly 8530 // four times more expensive would result in the normalized instance hours being 8531 // incremented by four. This result is only an approximation and does not reflect 8532 // the actual billing rate. 8533 NormalizedInstanceHours *int64 `type:"integer"` 8534 8535 // The Amazon EC2 Availability Zone for the cluster. 8536 Placement *PlacementType `type:"structure"` 8537 8538 // The Amazon EC2 core and task node instance type. 8539 // 8540 // SlaveInstanceType is a required field 8541 SlaveInstanceType *string `min:"1" type:"string" required:"true"` 8542 8543 // Specifies whether the Amazon EC2 instances in the cluster are protected from 8544 // termination by API calls, user intervention, or in the event of a job-flow 8545 // error. 8546 TerminationProtected *bool `type:"boolean"` 8547} 8548 8549// String returns the string representation 8550func (s JobFlowInstancesDetail) String() string { 8551 return awsutil.Prettify(s) 8552} 8553 8554// GoString returns the string representation 8555func (s JobFlowInstancesDetail) GoString() string { 8556 return s.String() 8557} 8558 8559// SetEc2KeyName sets the Ec2KeyName field's value. 8560func (s *JobFlowInstancesDetail) SetEc2KeyName(v string) *JobFlowInstancesDetail { 8561 s.Ec2KeyName = &v 8562 return s 8563} 8564 8565// SetEc2SubnetId sets the Ec2SubnetId field's value. 8566func (s *JobFlowInstancesDetail) SetEc2SubnetId(v string) *JobFlowInstancesDetail { 8567 s.Ec2SubnetId = &v 8568 return s 8569} 8570 8571// SetHadoopVersion sets the HadoopVersion field's value. 8572func (s *JobFlowInstancesDetail) SetHadoopVersion(v string) *JobFlowInstancesDetail { 8573 s.HadoopVersion = &v 8574 return s 8575} 8576 8577// SetInstanceCount sets the InstanceCount field's value. 8578func (s *JobFlowInstancesDetail) SetInstanceCount(v int64) *JobFlowInstancesDetail { 8579 s.InstanceCount = &v 8580 return s 8581} 8582 8583// SetInstanceGroups sets the InstanceGroups field's value. 8584func (s *JobFlowInstancesDetail) SetInstanceGroups(v []*InstanceGroupDetail) *JobFlowInstancesDetail { 8585 s.InstanceGroups = v 8586 return s 8587} 8588 8589// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value. 8590func (s *JobFlowInstancesDetail) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesDetail { 8591 s.KeepJobFlowAliveWhenNoSteps = &v 8592 return s 8593} 8594 8595// SetMasterInstanceId sets the MasterInstanceId field's value. 8596func (s *JobFlowInstancesDetail) SetMasterInstanceId(v string) *JobFlowInstancesDetail { 8597 s.MasterInstanceId = &v 8598 return s 8599} 8600 8601// SetMasterInstanceType sets the MasterInstanceType field's value. 8602func (s *JobFlowInstancesDetail) SetMasterInstanceType(v string) *JobFlowInstancesDetail { 8603 s.MasterInstanceType = &v 8604 return s 8605} 8606 8607// SetMasterPublicDnsName sets the MasterPublicDnsName field's value. 8608func (s *JobFlowInstancesDetail) SetMasterPublicDnsName(v string) *JobFlowInstancesDetail { 8609 s.MasterPublicDnsName = &v 8610 return s 8611} 8612 8613// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value. 8614func (s *JobFlowInstancesDetail) SetNormalizedInstanceHours(v int64) *JobFlowInstancesDetail { 8615 s.NormalizedInstanceHours = &v 8616 return s 8617} 8618 8619// SetPlacement sets the Placement field's value. 8620func (s *JobFlowInstancesDetail) SetPlacement(v *PlacementType) *JobFlowInstancesDetail { 8621 s.Placement = v 8622 return s 8623} 8624 8625// SetSlaveInstanceType sets the SlaveInstanceType field's value. 8626func (s *JobFlowInstancesDetail) SetSlaveInstanceType(v string) *JobFlowInstancesDetail { 8627 s.SlaveInstanceType = &v 8628 return s 8629} 8630 8631// SetTerminationProtected sets the TerminationProtected field's value. 8632func (s *JobFlowInstancesDetail) SetTerminationProtected(v bool) *JobFlowInstancesDetail { 8633 s.TerminationProtected = &v 8634 return s 8635} 8636 8637// Attributes for Kerberos configuration when Kerberos authentication is enabled 8638// using a security configuration. For more information see Use Kerberos Authentication 8639// (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 8640// in the EMR Management Guide. 8641type KerberosAttributes struct { 8642 _ struct{} `type:"structure"` 8643 8644 // The Active Directory password for ADDomainJoinUser. 8645 ADDomainJoinPassword *string `type:"string"` 8646 8647 // Required only when establishing a cross-realm trust with an Active Directory 8648 // domain. A user with sufficient privileges to join resources to the domain. 8649 ADDomainJoinUser *string `type:"string"` 8650 8651 // Required only when establishing a cross-realm trust with a KDC in a different 8652 // realm. The cross-realm principal password, which must be identical across 8653 // realms. 8654 CrossRealmTrustPrincipalPassword *string `type:"string"` 8655 8656 // The password used within the cluster for the kadmin service on the cluster-dedicated 8657 // KDC, which maintains Kerberos principals, password policies, and keytabs 8658 // for the cluster. 8659 // 8660 // KdcAdminPassword is a required field 8661 KdcAdminPassword *string `type:"string" required:"true"` 8662 8663 // The name of the Kerberos realm to which all nodes in a cluster belong. For 8664 // example, EC2.INTERNAL. 8665 // 8666 // Realm is a required field 8667 Realm *string `type:"string" required:"true"` 8668} 8669 8670// String returns the string representation 8671func (s KerberosAttributes) String() string { 8672 return awsutil.Prettify(s) 8673} 8674 8675// GoString returns the string representation 8676func (s KerberosAttributes) GoString() string { 8677 return s.String() 8678} 8679 8680// Validate inspects the fields of the type to determine if they are valid. 8681func (s *KerberosAttributes) Validate() error { 8682 invalidParams := request.ErrInvalidParams{Context: "KerberosAttributes"} 8683 if s.KdcAdminPassword == nil { 8684 invalidParams.Add(request.NewErrParamRequired("KdcAdminPassword")) 8685 } 8686 if s.Realm == nil { 8687 invalidParams.Add(request.NewErrParamRequired("Realm")) 8688 } 8689 8690 if invalidParams.Len() > 0 { 8691 return invalidParams 8692 } 8693 return nil 8694} 8695 8696// SetADDomainJoinPassword sets the ADDomainJoinPassword field's value. 8697func (s *KerberosAttributes) SetADDomainJoinPassword(v string) *KerberosAttributes { 8698 s.ADDomainJoinPassword = &v 8699 return s 8700} 8701 8702// SetADDomainJoinUser sets the ADDomainJoinUser field's value. 8703func (s *KerberosAttributes) SetADDomainJoinUser(v string) *KerberosAttributes { 8704 s.ADDomainJoinUser = &v 8705 return s 8706} 8707 8708// SetCrossRealmTrustPrincipalPassword sets the CrossRealmTrustPrincipalPassword field's value. 8709func (s *KerberosAttributes) SetCrossRealmTrustPrincipalPassword(v string) *KerberosAttributes { 8710 s.CrossRealmTrustPrincipalPassword = &v 8711 return s 8712} 8713 8714// SetKdcAdminPassword sets the KdcAdminPassword field's value. 8715func (s *KerberosAttributes) SetKdcAdminPassword(v string) *KerberosAttributes { 8716 s.KdcAdminPassword = &v 8717 return s 8718} 8719 8720// SetRealm sets the Realm field's value. 8721func (s *KerberosAttributes) SetRealm(v string) *KerberosAttributes { 8722 s.Realm = &v 8723 return s 8724} 8725 8726// A key value pair. 8727type KeyValue struct { 8728 _ struct{} `type:"structure"` 8729 8730 // The unique identifier of a key value pair. 8731 Key *string `type:"string"` 8732 8733 // The value part of the identified key. 8734 Value *string `type:"string"` 8735} 8736 8737// String returns the string representation 8738func (s KeyValue) String() string { 8739 return awsutil.Prettify(s) 8740} 8741 8742// GoString returns the string representation 8743func (s KeyValue) GoString() string { 8744 return s.String() 8745} 8746 8747// SetKey sets the Key field's value. 8748func (s *KeyValue) SetKey(v string) *KeyValue { 8749 s.Key = &v 8750 return s 8751} 8752 8753// SetValue sets the Value field's value. 8754func (s *KeyValue) SetValue(v string) *KeyValue { 8755 s.Value = &v 8756 return s 8757} 8758 8759// This input determines which bootstrap actions to retrieve. 8760type ListBootstrapActionsInput struct { 8761 _ struct{} `type:"structure"` 8762 8763 // The cluster identifier for the bootstrap actions to list. 8764 // 8765 // ClusterId is a required field 8766 ClusterId *string `type:"string" required:"true"` 8767 8768 // The pagination token that indicates the next set of results to retrieve. 8769 Marker *string `type:"string"` 8770} 8771 8772// String returns the string representation 8773func (s ListBootstrapActionsInput) String() string { 8774 return awsutil.Prettify(s) 8775} 8776 8777// GoString returns the string representation 8778func (s ListBootstrapActionsInput) GoString() string { 8779 return s.String() 8780} 8781 8782// Validate inspects the fields of the type to determine if they are valid. 8783func (s *ListBootstrapActionsInput) Validate() error { 8784 invalidParams := request.ErrInvalidParams{Context: "ListBootstrapActionsInput"} 8785 if s.ClusterId == nil { 8786 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 8787 } 8788 8789 if invalidParams.Len() > 0 { 8790 return invalidParams 8791 } 8792 return nil 8793} 8794 8795// SetClusterId sets the ClusterId field's value. 8796func (s *ListBootstrapActionsInput) SetClusterId(v string) *ListBootstrapActionsInput { 8797 s.ClusterId = &v 8798 return s 8799} 8800 8801// SetMarker sets the Marker field's value. 8802func (s *ListBootstrapActionsInput) SetMarker(v string) *ListBootstrapActionsInput { 8803 s.Marker = &v 8804 return s 8805} 8806 8807// This output contains the bootstrap actions detail. 8808type ListBootstrapActionsOutput struct { 8809 _ struct{} `type:"structure"` 8810 8811 // The bootstrap actions associated with the cluster. 8812 BootstrapActions []*Command `type:"list"` 8813 8814 // The pagination token that indicates the next set of results to retrieve. 8815 Marker *string `type:"string"` 8816} 8817 8818// String returns the string representation 8819func (s ListBootstrapActionsOutput) String() string { 8820 return awsutil.Prettify(s) 8821} 8822 8823// GoString returns the string representation 8824func (s ListBootstrapActionsOutput) GoString() string { 8825 return s.String() 8826} 8827 8828// SetBootstrapActions sets the BootstrapActions field's value. 8829func (s *ListBootstrapActionsOutput) SetBootstrapActions(v []*Command) *ListBootstrapActionsOutput { 8830 s.BootstrapActions = v 8831 return s 8832} 8833 8834// SetMarker sets the Marker field's value. 8835func (s *ListBootstrapActionsOutput) SetMarker(v string) *ListBootstrapActionsOutput { 8836 s.Marker = &v 8837 return s 8838} 8839 8840// This input determines how the ListClusters action filters the list of clusters 8841// that it returns. 8842type ListClustersInput struct { 8843 _ struct{} `type:"structure"` 8844 8845 // The cluster state filters to apply when listing clusters. 8846 ClusterStates []*string `type:"list"` 8847 8848 // The creation date and time beginning value filter for listing clusters. 8849 CreatedAfter *time.Time `type:"timestamp"` 8850 8851 // The creation date and time end value filter for listing clusters. 8852 CreatedBefore *time.Time `type:"timestamp"` 8853 8854 // The pagination token that indicates the next set of results to retrieve. 8855 Marker *string `type:"string"` 8856} 8857 8858// String returns the string representation 8859func (s ListClustersInput) String() string { 8860 return awsutil.Prettify(s) 8861} 8862 8863// GoString returns the string representation 8864func (s ListClustersInput) GoString() string { 8865 return s.String() 8866} 8867 8868// SetClusterStates sets the ClusterStates field's value. 8869func (s *ListClustersInput) SetClusterStates(v []*string) *ListClustersInput { 8870 s.ClusterStates = v 8871 return s 8872} 8873 8874// SetCreatedAfter sets the CreatedAfter field's value. 8875func (s *ListClustersInput) SetCreatedAfter(v time.Time) *ListClustersInput { 8876 s.CreatedAfter = &v 8877 return s 8878} 8879 8880// SetCreatedBefore sets the CreatedBefore field's value. 8881func (s *ListClustersInput) SetCreatedBefore(v time.Time) *ListClustersInput { 8882 s.CreatedBefore = &v 8883 return s 8884} 8885 8886// SetMarker sets the Marker field's value. 8887func (s *ListClustersInput) SetMarker(v string) *ListClustersInput { 8888 s.Marker = &v 8889 return s 8890} 8891 8892// This contains a ClusterSummaryList with the cluster details; for example, 8893// the cluster IDs, names, and status. 8894type ListClustersOutput struct { 8895 _ struct{} `type:"structure"` 8896 8897 // The list of clusters for the account based on the given filters. 8898 Clusters []*ClusterSummary `type:"list"` 8899 8900 // The pagination token that indicates the next set of results to retrieve. 8901 Marker *string `type:"string"` 8902} 8903 8904// String returns the string representation 8905func (s ListClustersOutput) String() string { 8906 return awsutil.Prettify(s) 8907} 8908 8909// GoString returns the string representation 8910func (s ListClustersOutput) GoString() string { 8911 return s.String() 8912} 8913 8914// SetClusters sets the Clusters field's value. 8915func (s *ListClustersOutput) SetClusters(v []*ClusterSummary) *ListClustersOutput { 8916 s.Clusters = v 8917 return s 8918} 8919 8920// SetMarker sets the Marker field's value. 8921func (s *ListClustersOutput) SetMarker(v string) *ListClustersOutput { 8922 s.Marker = &v 8923 return s 8924} 8925 8926type ListInstanceFleetsInput struct { 8927 _ struct{} `type:"structure"` 8928 8929 // The unique identifier of the cluster. 8930 // 8931 // ClusterId is a required field 8932 ClusterId *string `type:"string" required:"true"` 8933 8934 // The pagination token that indicates the next set of results to retrieve. 8935 Marker *string `type:"string"` 8936} 8937 8938// String returns the string representation 8939func (s ListInstanceFleetsInput) String() string { 8940 return awsutil.Prettify(s) 8941} 8942 8943// GoString returns the string representation 8944func (s ListInstanceFleetsInput) GoString() string { 8945 return s.String() 8946} 8947 8948// Validate inspects the fields of the type to determine if they are valid. 8949func (s *ListInstanceFleetsInput) Validate() error { 8950 invalidParams := request.ErrInvalidParams{Context: "ListInstanceFleetsInput"} 8951 if s.ClusterId == nil { 8952 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 8953 } 8954 8955 if invalidParams.Len() > 0 { 8956 return invalidParams 8957 } 8958 return nil 8959} 8960 8961// SetClusterId sets the ClusterId field's value. 8962func (s *ListInstanceFleetsInput) SetClusterId(v string) *ListInstanceFleetsInput { 8963 s.ClusterId = &v 8964 return s 8965} 8966 8967// SetMarker sets the Marker field's value. 8968func (s *ListInstanceFleetsInput) SetMarker(v string) *ListInstanceFleetsInput { 8969 s.Marker = &v 8970 return s 8971} 8972 8973type ListInstanceFleetsOutput struct { 8974 _ struct{} `type:"structure"` 8975 8976 // The list of instance fleets for the cluster and given filters. 8977 InstanceFleets []*InstanceFleet `type:"list"` 8978 8979 // The pagination token that indicates the next set of results to retrieve. 8980 Marker *string `type:"string"` 8981} 8982 8983// String returns the string representation 8984func (s ListInstanceFleetsOutput) String() string { 8985 return awsutil.Prettify(s) 8986} 8987 8988// GoString returns the string representation 8989func (s ListInstanceFleetsOutput) GoString() string { 8990 return s.String() 8991} 8992 8993// SetInstanceFleets sets the InstanceFleets field's value. 8994func (s *ListInstanceFleetsOutput) SetInstanceFleets(v []*InstanceFleet) *ListInstanceFleetsOutput { 8995 s.InstanceFleets = v 8996 return s 8997} 8998 8999// SetMarker sets the Marker field's value. 9000func (s *ListInstanceFleetsOutput) SetMarker(v string) *ListInstanceFleetsOutput { 9001 s.Marker = &v 9002 return s 9003} 9004 9005// This input determines which instance groups to retrieve. 9006type ListInstanceGroupsInput struct { 9007 _ struct{} `type:"structure"` 9008 9009 // The identifier of the cluster for which to list the instance groups. 9010 // 9011 // ClusterId is a required field 9012 ClusterId *string `type:"string" required:"true"` 9013 9014 // The pagination token that indicates the next set of results to retrieve. 9015 Marker *string `type:"string"` 9016} 9017 9018// String returns the string representation 9019func (s ListInstanceGroupsInput) String() string { 9020 return awsutil.Prettify(s) 9021} 9022 9023// GoString returns the string representation 9024func (s ListInstanceGroupsInput) GoString() string { 9025 return s.String() 9026} 9027 9028// Validate inspects the fields of the type to determine if they are valid. 9029func (s *ListInstanceGroupsInput) Validate() error { 9030 invalidParams := request.ErrInvalidParams{Context: "ListInstanceGroupsInput"} 9031 if s.ClusterId == nil { 9032 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9033 } 9034 9035 if invalidParams.Len() > 0 { 9036 return invalidParams 9037 } 9038 return nil 9039} 9040 9041// SetClusterId sets the ClusterId field's value. 9042func (s *ListInstanceGroupsInput) SetClusterId(v string) *ListInstanceGroupsInput { 9043 s.ClusterId = &v 9044 return s 9045} 9046 9047// SetMarker sets the Marker field's value. 9048func (s *ListInstanceGroupsInput) SetMarker(v string) *ListInstanceGroupsInput { 9049 s.Marker = &v 9050 return s 9051} 9052 9053// This input determines which instance groups to retrieve. 9054type ListInstanceGroupsOutput struct { 9055 _ struct{} `type:"structure"` 9056 9057 // The list of instance groups for the cluster and given filters. 9058 InstanceGroups []*InstanceGroup `type:"list"` 9059 9060 // The pagination token that indicates the next set of results to retrieve. 9061 Marker *string `type:"string"` 9062} 9063 9064// String returns the string representation 9065func (s ListInstanceGroupsOutput) String() string { 9066 return awsutil.Prettify(s) 9067} 9068 9069// GoString returns the string representation 9070func (s ListInstanceGroupsOutput) GoString() string { 9071 return s.String() 9072} 9073 9074// SetInstanceGroups sets the InstanceGroups field's value. 9075func (s *ListInstanceGroupsOutput) SetInstanceGroups(v []*InstanceGroup) *ListInstanceGroupsOutput { 9076 s.InstanceGroups = v 9077 return s 9078} 9079 9080// SetMarker sets the Marker field's value. 9081func (s *ListInstanceGroupsOutput) SetMarker(v string) *ListInstanceGroupsOutput { 9082 s.Marker = &v 9083 return s 9084} 9085 9086// This input determines which instances to list. 9087type ListInstancesInput struct { 9088 _ struct{} `type:"structure"` 9089 9090 // The identifier of the cluster for which to list the instances. 9091 // 9092 // ClusterId is a required field 9093 ClusterId *string `type:"string" required:"true"` 9094 9095 // The unique identifier of the instance fleet. 9096 InstanceFleetId *string `type:"string"` 9097 9098 // The node type of the instance fleet. For example MASTER, CORE, or TASK. 9099 InstanceFleetType *string `type:"string" enum:"InstanceFleetType"` 9100 9101 // The identifier of the instance group for which to list the instances. 9102 InstanceGroupId *string `type:"string"` 9103 9104 // The type of instance group for which to list the instances. 9105 InstanceGroupTypes []*string `type:"list"` 9106 9107 // A list of instance states that will filter the instances returned with this 9108 // request. 9109 InstanceStates []*string `type:"list"` 9110 9111 // The pagination token that indicates the next set of results to retrieve. 9112 Marker *string `type:"string"` 9113} 9114 9115// String returns the string representation 9116func (s ListInstancesInput) String() string { 9117 return awsutil.Prettify(s) 9118} 9119 9120// GoString returns the string representation 9121func (s ListInstancesInput) GoString() string { 9122 return s.String() 9123} 9124 9125// Validate inspects the fields of the type to determine if they are valid. 9126func (s *ListInstancesInput) Validate() error { 9127 invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"} 9128 if s.ClusterId == nil { 9129 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9130 } 9131 9132 if invalidParams.Len() > 0 { 9133 return invalidParams 9134 } 9135 return nil 9136} 9137 9138// SetClusterId sets the ClusterId field's value. 9139func (s *ListInstancesInput) SetClusterId(v string) *ListInstancesInput { 9140 s.ClusterId = &v 9141 return s 9142} 9143 9144// SetInstanceFleetId sets the InstanceFleetId field's value. 9145func (s *ListInstancesInput) SetInstanceFleetId(v string) *ListInstancesInput { 9146 s.InstanceFleetId = &v 9147 return s 9148} 9149 9150// SetInstanceFleetType sets the InstanceFleetType field's value. 9151func (s *ListInstancesInput) SetInstanceFleetType(v string) *ListInstancesInput { 9152 s.InstanceFleetType = &v 9153 return s 9154} 9155 9156// SetInstanceGroupId sets the InstanceGroupId field's value. 9157func (s *ListInstancesInput) SetInstanceGroupId(v string) *ListInstancesInput { 9158 s.InstanceGroupId = &v 9159 return s 9160} 9161 9162// SetInstanceGroupTypes sets the InstanceGroupTypes field's value. 9163func (s *ListInstancesInput) SetInstanceGroupTypes(v []*string) *ListInstancesInput { 9164 s.InstanceGroupTypes = v 9165 return s 9166} 9167 9168// SetInstanceStates sets the InstanceStates field's value. 9169func (s *ListInstancesInput) SetInstanceStates(v []*string) *ListInstancesInput { 9170 s.InstanceStates = v 9171 return s 9172} 9173 9174// SetMarker sets the Marker field's value. 9175func (s *ListInstancesInput) SetMarker(v string) *ListInstancesInput { 9176 s.Marker = &v 9177 return s 9178} 9179 9180// This output contains the list of instances. 9181type ListInstancesOutput struct { 9182 _ struct{} `type:"structure"` 9183 9184 // The list of instances for the cluster and given filters. 9185 Instances []*Instance `type:"list"` 9186 9187 // The pagination token that indicates the next set of results to retrieve. 9188 Marker *string `type:"string"` 9189} 9190 9191// String returns the string representation 9192func (s ListInstancesOutput) String() string { 9193 return awsutil.Prettify(s) 9194} 9195 9196// GoString returns the string representation 9197func (s ListInstancesOutput) GoString() string { 9198 return s.String() 9199} 9200 9201// SetInstances sets the Instances field's value. 9202func (s *ListInstancesOutput) SetInstances(v []*Instance) *ListInstancesOutput { 9203 s.Instances = v 9204 return s 9205} 9206 9207// SetMarker sets the Marker field's value. 9208func (s *ListInstancesOutput) SetMarker(v string) *ListInstancesOutput { 9209 s.Marker = &v 9210 return s 9211} 9212 9213type ListSecurityConfigurationsInput struct { 9214 _ struct{} `type:"structure"` 9215 9216 // The pagination token that indicates the set of results to retrieve. 9217 Marker *string `type:"string"` 9218} 9219 9220// String returns the string representation 9221func (s ListSecurityConfigurationsInput) String() string { 9222 return awsutil.Prettify(s) 9223} 9224 9225// GoString returns the string representation 9226func (s ListSecurityConfigurationsInput) GoString() string { 9227 return s.String() 9228} 9229 9230// SetMarker sets the Marker field's value. 9231func (s *ListSecurityConfigurationsInput) SetMarker(v string) *ListSecurityConfigurationsInput { 9232 s.Marker = &v 9233 return s 9234} 9235 9236type ListSecurityConfigurationsOutput struct { 9237 _ struct{} `type:"structure"` 9238 9239 // A pagination token that indicates the next set of results to retrieve. Include 9240 // the marker in the next ListSecurityConfiguration call to retrieve the next 9241 // page of results, if required. 9242 Marker *string `type:"string"` 9243 9244 // The creation date and time, and name, of each security configuration. 9245 SecurityConfigurations []*SecurityConfigurationSummary `type:"list"` 9246} 9247 9248// String returns the string representation 9249func (s ListSecurityConfigurationsOutput) String() string { 9250 return awsutil.Prettify(s) 9251} 9252 9253// GoString returns the string representation 9254func (s ListSecurityConfigurationsOutput) GoString() string { 9255 return s.String() 9256} 9257 9258// SetMarker sets the Marker field's value. 9259func (s *ListSecurityConfigurationsOutput) SetMarker(v string) *ListSecurityConfigurationsOutput { 9260 s.Marker = &v 9261 return s 9262} 9263 9264// SetSecurityConfigurations sets the SecurityConfigurations field's value. 9265func (s *ListSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfigurationSummary) *ListSecurityConfigurationsOutput { 9266 s.SecurityConfigurations = v 9267 return s 9268} 9269 9270// This input determines which steps to list. 9271type ListStepsInput struct { 9272 _ struct{} `type:"structure"` 9273 9274 // The identifier of the cluster for which to list the steps. 9275 // 9276 // ClusterId is a required field 9277 ClusterId *string `type:"string" required:"true"` 9278 9279 // The pagination token that indicates the next set of results to retrieve. 9280 Marker *string `type:"string"` 9281 9282 // The filter to limit the step list based on the identifier of the steps. You 9283 // can specify a maximum of ten Step IDs. The character constraint applies to 9284 // the overall length of the array. 9285 StepIds []*string `type:"list"` 9286 9287 // The filter to limit the step list based on certain states. 9288 StepStates []*string `type:"list"` 9289} 9290 9291// String returns the string representation 9292func (s ListStepsInput) String() string { 9293 return awsutil.Prettify(s) 9294} 9295 9296// GoString returns the string representation 9297func (s ListStepsInput) GoString() string { 9298 return s.String() 9299} 9300 9301// Validate inspects the fields of the type to determine if they are valid. 9302func (s *ListStepsInput) Validate() error { 9303 invalidParams := request.ErrInvalidParams{Context: "ListStepsInput"} 9304 if s.ClusterId == nil { 9305 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9306 } 9307 9308 if invalidParams.Len() > 0 { 9309 return invalidParams 9310 } 9311 return nil 9312} 9313 9314// SetClusterId sets the ClusterId field's value. 9315func (s *ListStepsInput) SetClusterId(v string) *ListStepsInput { 9316 s.ClusterId = &v 9317 return s 9318} 9319 9320// SetMarker sets the Marker field's value. 9321func (s *ListStepsInput) SetMarker(v string) *ListStepsInput { 9322 s.Marker = &v 9323 return s 9324} 9325 9326// SetStepIds sets the StepIds field's value. 9327func (s *ListStepsInput) SetStepIds(v []*string) *ListStepsInput { 9328 s.StepIds = v 9329 return s 9330} 9331 9332// SetStepStates sets the StepStates field's value. 9333func (s *ListStepsInput) SetStepStates(v []*string) *ListStepsInput { 9334 s.StepStates = v 9335 return s 9336} 9337 9338// This output contains the list of steps returned in reverse order. This means 9339// that the last step is the first element in the list. 9340type ListStepsOutput struct { 9341 _ struct{} `type:"structure"` 9342 9343 // The pagination token that indicates the next set of results to retrieve. 9344 Marker *string `type:"string"` 9345 9346 // The filtered list of steps for the cluster. 9347 Steps []*StepSummary `type:"list"` 9348} 9349 9350// String returns the string representation 9351func (s ListStepsOutput) String() string { 9352 return awsutil.Prettify(s) 9353} 9354 9355// GoString returns the string representation 9356func (s ListStepsOutput) GoString() string { 9357 return s.String() 9358} 9359 9360// SetMarker sets the Marker field's value. 9361func (s *ListStepsOutput) SetMarker(v string) *ListStepsOutput { 9362 s.Marker = &v 9363 return s 9364} 9365 9366// SetSteps sets the Steps field's value. 9367func (s *ListStepsOutput) SetSteps(v []*StepSummary) *ListStepsOutput { 9368 s.Steps = v 9369 return s 9370} 9371 9372// Managed scaling policy for an Amazon EMR cluster. The policy specifies the 9373// limits for resources that can be added or terminated from a cluster. The 9374// policy only applies to the core and task nodes. The master node cannot be 9375// scaled after initial configuration. 9376type ManagedScalingPolicy struct { 9377 _ struct{} `type:"structure"` 9378 9379 // The EC2 unit limits for a managed scaling policy. The managed scaling activity 9380 // of a cluster is not allowed to go above or below these limits. The limit 9381 // only applies to the core and task nodes. The master node cannot be scaled 9382 // after initial configuration. 9383 ComputeLimits *ComputeLimits `type:"structure"` 9384} 9385 9386// String returns the string representation 9387func (s ManagedScalingPolicy) String() string { 9388 return awsutil.Prettify(s) 9389} 9390 9391// GoString returns the string representation 9392func (s ManagedScalingPolicy) GoString() string { 9393 return s.String() 9394} 9395 9396// Validate inspects the fields of the type to determine if they are valid. 9397func (s *ManagedScalingPolicy) Validate() error { 9398 invalidParams := request.ErrInvalidParams{Context: "ManagedScalingPolicy"} 9399 if s.ComputeLimits != nil { 9400 if err := s.ComputeLimits.Validate(); err != nil { 9401 invalidParams.AddNested("ComputeLimits", err.(request.ErrInvalidParams)) 9402 } 9403 } 9404 9405 if invalidParams.Len() > 0 { 9406 return invalidParams 9407 } 9408 return nil 9409} 9410 9411// SetComputeLimits sets the ComputeLimits field's value. 9412func (s *ManagedScalingPolicy) SetComputeLimits(v *ComputeLimits) *ManagedScalingPolicy { 9413 s.ComputeLimits = v 9414 return s 9415} 9416 9417// A CloudWatch dimension, which is specified using a Key (known as a Name in 9418// CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose 9419// Key is JobFlowID and Value is a variable representing the cluster ID, which 9420// is ${emr.clusterId}. This enables the rule to bootstrap when the cluster 9421// ID becomes available. 9422type MetricDimension struct { 9423 _ struct{} `type:"structure"` 9424 9425 // The dimension name. 9426 Key *string `type:"string"` 9427 9428 // The dimension value. 9429 Value *string `type:"string"` 9430} 9431 9432// String returns the string representation 9433func (s MetricDimension) String() string { 9434 return awsutil.Prettify(s) 9435} 9436 9437// GoString returns the string representation 9438func (s MetricDimension) GoString() string { 9439 return s.String() 9440} 9441 9442// SetKey sets the Key field's value. 9443func (s *MetricDimension) SetKey(v string) *MetricDimension { 9444 s.Key = &v 9445 return s 9446} 9447 9448// SetValue sets the Value field's value. 9449func (s *MetricDimension) SetValue(v string) *MetricDimension { 9450 s.Value = &v 9451 return s 9452} 9453 9454type ModifyClusterInput struct { 9455 _ struct{} `type:"structure"` 9456 9457 // The unique identifier of the cluster. 9458 // 9459 // ClusterId is a required field 9460 ClusterId *string `type:"string" required:"true"` 9461 9462 // The number of steps that can be executed concurrently. You can specify a 9463 // maximum of 256 steps. 9464 StepConcurrencyLevel *int64 `type:"integer"` 9465} 9466 9467// String returns the string representation 9468func (s ModifyClusterInput) String() string { 9469 return awsutil.Prettify(s) 9470} 9471 9472// GoString returns the string representation 9473func (s ModifyClusterInput) GoString() string { 9474 return s.String() 9475} 9476 9477// Validate inspects the fields of the type to determine if they are valid. 9478func (s *ModifyClusterInput) Validate() error { 9479 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"} 9480 if s.ClusterId == nil { 9481 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9482 } 9483 9484 if invalidParams.Len() > 0 { 9485 return invalidParams 9486 } 9487 return nil 9488} 9489 9490// SetClusterId sets the ClusterId field's value. 9491func (s *ModifyClusterInput) SetClusterId(v string) *ModifyClusterInput { 9492 s.ClusterId = &v 9493 return s 9494} 9495 9496// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 9497func (s *ModifyClusterInput) SetStepConcurrencyLevel(v int64) *ModifyClusterInput { 9498 s.StepConcurrencyLevel = &v 9499 return s 9500} 9501 9502type ModifyClusterOutput struct { 9503 _ struct{} `type:"structure"` 9504 9505 // The number of steps that can be executed concurrently. 9506 StepConcurrencyLevel *int64 `type:"integer"` 9507} 9508 9509// String returns the string representation 9510func (s ModifyClusterOutput) String() string { 9511 return awsutil.Prettify(s) 9512} 9513 9514// GoString returns the string representation 9515func (s ModifyClusterOutput) GoString() string { 9516 return s.String() 9517} 9518 9519// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 9520func (s *ModifyClusterOutput) SetStepConcurrencyLevel(v int64) *ModifyClusterOutput { 9521 s.StepConcurrencyLevel = &v 9522 return s 9523} 9524 9525type ModifyInstanceFleetInput struct { 9526 _ struct{} `type:"structure"` 9527 9528 // The unique identifier of the cluster. 9529 // 9530 // ClusterId is a required field 9531 ClusterId *string `type:"string" required:"true"` 9532 9533 // The unique identifier of the instance fleet. 9534 // 9535 // InstanceFleet is a required field 9536 InstanceFleet *InstanceFleetModifyConfig `type:"structure" required:"true"` 9537} 9538 9539// String returns the string representation 9540func (s ModifyInstanceFleetInput) String() string { 9541 return awsutil.Prettify(s) 9542} 9543 9544// GoString returns the string representation 9545func (s ModifyInstanceFleetInput) GoString() string { 9546 return s.String() 9547} 9548 9549// Validate inspects the fields of the type to determine if they are valid. 9550func (s *ModifyInstanceFleetInput) Validate() error { 9551 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"} 9552 if s.ClusterId == nil { 9553 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9554 } 9555 if s.InstanceFleet == nil { 9556 invalidParams.Add(request.NewErrParamRequired("InstanceFleet")) 9557 } 9558 if s.InstanceFleet != nil { 9559 if err := s.InstanceFleet.Validate(); err != nil { 9560 invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams)) 9561 } 9562 } 9563 9564 if invalidParams.Len() > 0 { 9565 return invalidParams 9566 } 9567 return nil 9568} 9569 9570// SetClusterId sets the ClusterId field's value. 9571func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput { 9572 s.ClusterId = &v 9573 return s 9574} 9575 9576// SetInstanceFleet sets the InstanceFleet field's value. 9577func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput { 9578 s.InstanceFleet = v 9579 return s 9580} 9581 9582type ModifyInstanceFleetOutput struct { 9583 _ struct{} `type:"structure"` 9584} 9585 9586// String returns the string representation 9587func (s ModifyInstanceFleetOutput) String() string { 9588 return awsutil.Prettify(s) 9589} 9590 9591// GoString returns the string representation 9592func (s ModifyInstanceFleetOutput) GoString() string { 9593 return s.String() 9594} 9595 9596// Change the size of some instance groups. 9597type ModifyInstanceGroupsInput struct { 9598 _ struct{} `type:"structure"` 9599 9600 // The ID of the cluster to which the instance group belongs. 9601 ClusterId *string `type:"string"` 9602 9603 // Instance groups to change. 9604 InstanceGroups []*InstanceGroupModifyConfig `type:"list"` 9605} 9606 9607// String returns the string representation 9608func (s ModifyInstanceGroupsInput) String() string { 9609 return awsutil.Prettify(s) 9610} 9611 9612// GoString returns the string representation 9613func (s ModifyInstanceGroupsInput) GoString() string { 9614 return s.String() 9615} 9616 9617// Validate inspects the fields of the type to determine if they are valid. 9618func (s *ModifyInstanceGroupsInput) Validate() error { 9619 invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"} 9620 if s.InstanceGroups != nil { 9621 for i, v := range s.InstanceGroups { 9622 if v == nil { 9623 continue 9624 } 9625 if err := v.Validate(); err != nil { 9626 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) 9627 } 9628 } 9629 } 9630 9631 if invalidParams.Len() > 0 { 9632 return invalidParams 9633 } 9634 return nil 9635} 9636 9637// SetClusterId sets the ClusterId field's value. 9638func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput { 9639 s.ClusterId = &v 9640 return s 9641} 9642 9643// SetInstanceGroups sets the InstanceGroups field's value. 9644func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput { 9645 s.InstanceGroups = v 9646 return s 9647} 9648 9649type ModifyInstanceGroupsOutput struct { 9650 _ struct{} `type:"structure"` 9651} 9652 9653// String returns the string representation 9654func (s ModifyInstanceGroupsOutput) String() string { 9655 return awsutil.Prettify(s) 9656} 9657 9658// GoString returns the string representation 9659func (s ModifyInstanceGroupsOutput) GoString() string { 9660 return s.String() 9661} 9662 9663// The launch specification for On-Demand instances in the instance fleet, which 9664// determines the allocation strategy. 9665// 9666// The instance fleet configuration is available only in Amazon EMR versions 9667// 4.8.0 and later, excluding 5.0.x versions. On-Demand instances allocation 9668// strategy is available in Amazon EMR version 5.12.1 and later. 9669type OnDemandProvisioningSpecification struct { 9670 _ struct{} `type:"structure"` 9671 9672 // Specifies the strategy to use in launching On-Demand instance fleets. Currently, 9673 // the only option is lowest-price (the default), which launches the lowest 9674 // price first. 9675 // 9676 // AllocationStrategy is a required field 9677 AllocationStrategy *string `type:"string" required:"true" enum:"OnDemandProvisioningAllocationStrategy"` 9678} 9679 9680// String returns the string representation 9681func (s OnDemandProvisioningSpecification) String() string { 9682 return awsutil.Prettify(s) 9683} 9684 9685// GoString returns the string representation 9686func (s OnDemandProvisioningSpecification) GoString() string { 9687 return s.String() 9688} 9689 9690// Validate inspects the fields of the type to determine if they are valid. 9691func (s *OnDemandProvisioningSpecification) Validate() error { 9692 invalidParams := request.ErrInvalidParams{Context: "OnDemandProvisioningSpecification"} 9693 if s.AllocationStrategy == nil { 9694 invalidParams.Add(request.NewErrParamRequired("AllocationStrategy")) 9695 } 9696 9697 if invalidParams.Len() > 0 { 9698 return invalidParams 9699 } 9700 return nil 9701} 9702 9703// SetAllocationStrategy sets the AllocationStrategy field's value. 9704func (s *OnDemandProvisioningSpecification) SetAllocationStrategy(v string) *OnDemandProvisioningSpecification { 9705 s.AllocationStrategy = &v 9706 return s 9707} 9708 9709// The Amazon EC2 Availability Zone configuration of the cluster (job flow). 9710type PlacementType struct { 9711 _ struct{} `type:"structure"` 9712 9713 // The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used 9714 // for uniform instance groups, while AvailabilityZones (plural) is used for 9715 // instance fleets. 9716 AvailabilityZone *string `type:"string"` 9717 9718 // When multiple Availability Zones are specified, Amazon EMR evaluates them 9719 // and launches instances in the optimal Availability Zone. AvailabilityZones 9720 // is used for instance fleets, while AvailabilityZone (singular) is used for 9721 // uniform instance groups. 9722 // 9723 // The instance fleet configuration is available only in Amazon EMR versions 9724 // 4.8.0 and later, excluding 5.0.x versions. 9725 AvailabilityZones []*string `type:"list"` 9726} 9727 9728// String returns the string representation 9729func (s PlacementType) String() string { 9730 return awsutil.Prettify(s) 9731} 9732 9733// GoString returns the string representation 9734func (s PlacementType) GoString() string { 9735 return s.String() 9736} 9737 9738// SetAvailabilityZone sets the AvailabilityZone field's value. 9739func (s *PlacementType) SetAvailabilityZone(v string) *PlacementType { 9740 s.AvailabilityZone = &v 9741 return s 9742} 9743 9744// SetAvailabilityZones sets the AvailabilityZones field's value. 9745func (s *PlacementType) SetAvailabilityZones(v []*string) *PlacementType { 9746 s.AvailabilityZones = v 9747 return s 9748} 9749 9750// A list of port ranges that are permitted to allow inbound traffic from all 9751// public IP addresses. To specify a single port, use the same value for MinRange 9752// and MaxRange. 9753type PortRange struct { 9754 _ struct{} `type:"structure"` 9755 9756 // The smallest port number in a specified range of port numbers. 9757 MaxRange *int64 `type:"integer"` 9758 9759 // The smallest port number in a specified range of port numbers. 9760 // 9761 // MinRange is a required field 9762 MinRange *int64 `type:"integer" required:"true"` 9763} 9764 9765// String returns the string representation 9766func (s PortRange) String() string { 9767 return awsutil.Prettify(s) 9768} 9769 9770// GoString returns the string representation 9771func (s PortRange) GoString() string { 9772 return s.String() 9773} 9774 9775// Validate inspects the fields of the type to determine if they are valid. 9776func (s *PortRange) Validate() error { 9777 invalidParams := request.ErrInvalidParams{Context: "PortRange"} 9778 if s.MinRange == nil { 9779 invalidParams.Add(request.NewErrParamRequired("MinRange")) 9780 } 9781 9782 if invalidParams.Len() > 0 { 9783 return invalidParams 9784 } 9785 return nil 9786} 9787 9788// SetMaxRange sets the MaxRange field's value. 9789func (s *PortRange) SetMaxRange(v int64) *PortRange { 9790 s.MaxRange = &v 9791 return s 9792} 9793 9794// SetMinRange sets the MinRange field's value. 9795func (s *PortRange) SetMinRange(v int64) *PortRange { 9796 s.MinRange = &v 9797 return s 9798} 9799 9800type PutAutoScalingPolicyInput struct { 9801 _ struct{} `type:"structure"` 9802 9803 // Specifies the definition of the automatic scaling policy. 9804 // 9805 // AutoScalingPolicy is a required field 9806 AutoScalingPolicy *AutoScalingPolicy `type:"structure" required:"true"` 9807 9808 // Specifies the ID of a cluster. The instance group to which the automatic 9809 // scaling policy is applied is within this cluster. 9810 // 9811 // ClusterId is a required field 9812 ClusterId *string `type:"string" required:"true"` 9813 9814 // Specifies the ID of the instance group to which the automatic scaling policy 9815 // is applied. 9816 // 9817 // InstanceGroupId is a required field 9818 InstanceGroupId *string `type:"string" required:"true"` 9819} 9820 9821// String returns the string representation 9822func (s PutAutoScalingPolicyInput) String() string { 9823 return awsutil.Prettify(s) 9824} 9825 9826// GoString returns the string representation 9827func (s PutAutoScalingPolicyInput) GoString() string { 9828 return s.String() 9829} 9830 9831// Validate inspects the fields of the type to determine if they are valid. 9832func (s *PutAutoScalingPolicyInput) Validate() error { 9833 invalidParams := request.ErrInvalidParams{Context: "PutAutoScalingPolicyInput"} 9834 if s.AutoScalingPolicy == nil { 9835 invalidParams.Add(request.NewErrParamRequired("AutoScalingPolicy")) 9836 } 9837 if s.ClusterId == nil { 9838 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 9839 } 9840 if s.InstanceGroupId == nil { 9841 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 9842 } 9843 if s.AutoScalingPolicy != nil { 9844 if err := s.AutoScalingPolicy.Validate(); err != nil { 9845 invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams)) 9846 } 9847 } 9848 9849 if invalidParams.Len() > 0 { 9850 return invalidParams 9851 } 9852 return nil 9853} 9854 9855// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 9856func (s *PutAutoScalingPolicyInput) SetAutoScalingPolicy(v *AutoScalingPolicy) *PutAutoScalingPolicyInput { 9857 s.AutoScalingPolicy = v 9858 return s 9859} 9860 9861// SetClusterId sets the ClusterId field's value. 9862func (s *PutAutoScalingPolicyInput) SetClusterId(v string) *PutAutoScalingPolicyInput { 9863 s.ClusterId = &v 9864 return s 9865} 9866 9867// SetInstanceGroupId sets the InstanceGroupId field's value. 9868func (s *PutAutoScalingPolicyInput) SetInstanceGroupId(v string) *PutAutoScalingPolicyInput { 9869 s.InstanceGroupId = &v 9870 return s 9871} 9872 9873type PutAutoScalingPolicyOutput struct { 9874 _ struct{} `type:"structure"` 9875 9876 // The automatic scaling policy definition. 9877 AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"` 9878 9879 // The Amazon Resource Name of the cluster. 9880 ClusterArn *string `min:"20" type:"string"` 9881 9882 // Specifies the ID of a cluster. The instance group to which the automatic 9883 // scaling policy is applied is within this cluster. 9884 ClusterId *string `type:"string"` 9885 9886 // Specifies the ID of the instance group to which the scaling policy is applied. 9887 InstanceGroupId *string `type:"string"` 9888} 9889 9890// String returns the string representation 9891func (s PutAutoScalingPolicyOutput) String() string { 9892 return awsutil.Prettify(s) 9893} 9894 9895// GoString returns the string representation 9896func (s PutAutoScalingPolicyOutput) GoString() string { 9897 return s.String() 9898} 9899 9900// SetAutoScalingPolicy sets the AutoScalingPolicy field's value. 9901func (s *PutAutoScalingPolicyOutput) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *PutAutoScalingPolicyOutput { 9902 s.AutoScalingPolicy = v 9903 return s 9904} 9905 9906// SetClusterArn sets the ClusterArn field's value. 9907func (s *PutAutoScalingPolicyOutput) SetClusterArn(v string) *PutAutoScalingPolicyOutput { 9908 s.ClusterArn = &v 9909 return s 9910} 9911 9912// SetClusterId sets the ClusterId field's value. 9913func (s *PutAutoScalingPolicyOutput) SetClusterId(v string) *PutAutoScalingPolicyOutput { 9914 s.ClusterId = &v 9915 return s 9916} 9917 9918// SetInstanceGroupId sets the InstanceGroupId field's value. 9919func (s *PutAutoScalingPolicyOutput) SetInstanceGroupId(v string) *PutAutoScalingPolicyOutput { 9920 s.InstanceGroupId = &v 9921 return s 9922} 9923 9924type PutBlockPublicAccessConfigurationInput struct { 9925 _ struct{} `type:"structure"` 9926 9927 // A configuration for Amazon EMR block public access. The configuration applies 9928 // to all clusters created in your account for the current Region. The configuration 9929 // specifies whether block public access is enabled. If block public access 9930 // is enabled, security groups associated with the cluster cannot have rules 9931 // that allow inbound traffic from 0.0.0.0/0 or ::/0 on a port, unless the port 9932 // is specified as an exception using PermittedPublicSecurityGroupRuleRanges 9933 // in the BlockPublicAccessConfiguration. By default, Port 22 (SSH) is an exception, 9934 // and public access is allowed on this port. You can change this by updating 9935 // BlockPublicSecurityGroupRules to remove the exception. 9936 // 9937 // For accounts that created clusters in a Region before November 25, 2019, 9938 // block public access is disabled by default in that Region. To use this feature, 9939 // you must manually enable and configure it. For accounts that did not create 9940 // an EMR cluster in a Region before this date, block public access is enabled 9941 // by default in that Region. 9942 // 9943 // BlockPublicAccessConfiguration is a required field 9944 BlockPublicAccessConfiguration *BlockPublicAccessConfiguration `type:"structure" required:"true"` 9945} 9946 9947// String returns the string representation 9948func (s PutBlockPublicAccessConfigurationInput) String() string { 9949 return awsutil.Prettify(s) 9950} 9951 9952// GoString returns the string representation 9953func (s PutBlockPublicAccessConfigurationInput) GoString() string { 9954 return s.String() 9955} 9956 9957// Validate inspects the fields of the type to determine if they are valid. 9958func (s *PutBlockPublicAccessConfigurationInput) Validate() error { 9959 invalidParams := request.ErrInvalidParams{Context: "PutBlockPublicAccessConfigurationInput"} 9960 if s.BlockPublicAccessConfiguration == nil { 9961 invalidParams.Add(request.NewErrParamRequired("BlockPublicAccessConfiguration")) 9962 } 9963 if s.BlockPublicAccessConfiguration != nil { 9964 if err := s.BlockPublicAccessConfiguration.Validate(); err != nil { 9965 invalidParams.AddNested("BlockPublicAccessConfiguration", err.(request.ErrInvalidParams)) 9966 } 9967 } 9968 9969 if invalidParams.Len() > 0 { 9970 return invalidParams 9971 } 9972 return nil 9973} 9974 9975// SetBlockPublicAccessConfiguration sets the BlockPublicAccessConfiguration field's value. 9976func (s *PutBlockPublicAccessConfigurationInput) SetBlockPublicAccessConfiguration(v *BlockPublicAccessConfiguration) *PutBlockPublicAccessConfigurationInput { 9977 s.BlockPublicAccessConfiguration = v 9978 return s 9979} 9980 9981type PutBlockPublicAccessConfigurationOutput struct { 9982 _ struct{} `type:"structure"` 9983} 9984 9985// String returns the string representation 9986func (s PutBlockPublicAccessConfigurationOutput) String() string { 9987 return awsutil.Prettify(s) 9988} 9989 9990// GoString returns the string representation 9991func (s PutBlockPublicAccessConfigurationOutput) GoString() string { 9992 return s.String() 9993} 9994 9995type PutManagedScalingPolicyInput struct { 9996 _ struct{} `type:"structure"` 9997 9998 // Specifies the ID of an EMR cluster where the managed scaling policy is attached. 9999 // 10000 // ClusterId is a required field 10001 ClusterId *string `type:"string" required:"true"` 10002 10003 // Specifies the constraints for the managed scaling policy. 10004 // 10005 // ManagedScalingPolicy is a required field 10006 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure" required:"true"` 10007} 10008 10009// String returns the string representation 10010func (s PutManagedScalingPolicyInput) String() string { 10011 return awsutil.Prettify(s) 10012} 10013 10014// GoString returns the string representation 10015func (s PutManagedScalingPolicyInput) GoString() string { 10016 return s.String() 10017} 10018 10019// Validate inspects the fields of the type to determine if they are valid. 10020func (s *PutManagedScalingPolicyInput) Validate() error { 10021 invalidParams := request.ErrInvalidParams{Context: "PutManagedScalingPolicyInput"} 10022 if s.ClusterId == nil { 10023 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10024 } 10025 if s.ManagedScalingPolicy == nil { 10026 invalidParams.Add(request.NewErrParamRequired("ManagedScalingPolicy")) 10027 } 10028 if s.ManagedScalingPolicy != nil { 10029 if err := s.ManagedScalingPolicy.Validate(); err != nil { 10030 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 10031 } 10032 } 10033 10034 if invalidParams.Len() > 0 { 10035 return invalidParams 10036 } 10037 return nil 10038} 10039 10040// SetClusterId sets the ClusterId field's value. 10041func (s *PutManagedScalingPolicyInput) SetClusterId(v string) *PutManagedScalingPolicyInput { 10042 s.ClusterId = &v 10043 return s 10044} 10045 10046// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 10047func (s *PutManagedScalingPolicyInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *PutManagedScalingPolicyInput { 10048 s.ManagedScalingPolicy = v 10049 return s 10050} 10051 10052type PutManagedScalingPolicyOutput struct { 10053 _ struct{} `type:"structure"` 10054} 10055 10056// String returns the string representation 10057func (s PutManagedScalingPolicyOutput) String() string { 10058 return awsutil.Prettify(s) 10059} 10060 10061// GoString returns the string representation 10062func (s PutManagedScalingPolicyOutput) GoString() string { 10063 return s.String() 10064} 10065 10066type RemoveAutoScalingPolicyInput struct { 10067 _ struct{} `type:"structure"` 10068 10069 // Specifies the ID of a cluster. The instance group to which the automatic 10070 // scaling policy is applied is within this cluster. 10071 // 10072 // ClusterId is a required field 10073 ClusterId *string `type:"string" required:"true"` 10074 10075 // Specifies the ID of the instance group to which the scaling policy is applied. 10076 // 10077 // InstanceGroupId is a required field 10078 InstanceGroupId *string `type:"string" required:"true"` 10079} 10080 10081// String returns the string representation 10082func (s RemoveAutoScalingPolicyInput) String() string { 10083 return awsutil.Prettify(s) 10084} 10085 10086// GoString returns the string representation 10087func (s RemoveAutoScalingPolicyInput) GoString() string { 10088 return s.String() 10089} 10090 10091// Validate inspects the fields of the type to determine if they are valid. 10092func (s *RemoveAutoScalingPolicyInput) Validate() error { 10093 invalidParams := request.ErrInvalidParams{Context: "RemoveAutoScalingPolicyInput"} 10094 if s.ClusterId == nil { 10095 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10096 } 10097 if s.InstanceGroupId == nil { 10098 invalidParams.Add(request.NewErrParamRequired("InstanceGroupId")) 10099 } 10100 10101 if invalidParams.Len() > 0 { 10102 return invalidParams 10103 } 10104 return nil 10105} 10106 10107// SetClusterId sets the ClusterId field's value. 10108func (s *RemoveAutoScalingPolicyInput) SetClusterId(v string) *RemoveAutoScalingPolicyInput { 10109 s.ClusterId = &v 10110 return s 10111} 10112 10113// SetInstanceGroupId sets the InstanceGroupId field's value. 10114func (s *RemoveAutoScalingPolicyInput) SetInstanceGroupId(v string) *RemoveAutoScalingPolicyInput { 10115 s.InstanceGroupId = &v 10116 return s 10117} 10118 10119type RemoveAutoScalingPolicyOutput struct { 10120 _ struct{} `type:"structure"` 10121} 10122 10123// String returns the string representation 10124func (s RemoveAutoScalingPolicyOutput) String() string { 10125 return awsutil.Prettify(s) 10126} 10127 10128// GoString returns the string representation 10129func (s RemoveAutoScalingPolicyOutput) GoString() string { 10130 return s.String() 10131} 10132 10133type RemoveManagedScalingPolicyInput struct { 10134 _ struct{} `type:"structure"` 10135 10136 // Specifies the ID of the cluster from which the managed scaling policy will 10137 // be removed. 10138 // 10139 // ClusterId is a required field 10140 ClusterId *string `type:"string" required:"true"` 10141} 10142 10143// String returns the string representation 10144func (s RemoveManagedScalingPolicyInput) String() string { 10145 return awsutil.Prettify(s) 10146} 10147 10148// GoString returns the string representation 10149func (s RemoveManagedScalingPolicyInput) GoString() string { 10150 return s.String() 10151} 10152 10153// Validate inspects the fields of the type to determine if they are valid. 10154func (s *RemoveManagedScalingPolicyInput) Validate() error { 10155 invalidParams := request.ErrInvalidParams{Context: "RemoveManagedScalingPolicyInput"} 10156 if s.ClusterId == nil { 10157 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 10158 } 10159 10160 if invalidParams.Len() > 0 { 10161 return invalidParams 10162 } 10163 return nil 10164} 10165 10166// SetClusterId sets the ClusterId field's value. 10167func (s *RemoveManagedScalingPolicyInput) SetClusterId(v string) *RemoveManagedScalingPolicyInput { 10168 s.ClusterId = &v 10169 return s 10170} 10171 10172type RemoveManagedScalingPolicyOutput struct { 10173 _ struct{} `type:"structure"` 10174} 10175 10176// String returns the string representation 10177func (s RemoveManagedScalingPolicyOutput) String() string { 10178 return awsutil.Prettify(s) 10179} 10180 10181// GoString returns the string representation 10182func (s RemoveManagedScalingPolicyOutput) GoString() string { 10183 return s.String() 10184} 10185 10186// This input identifies a cluster and a list of tags to remove. 10187type RemoveTagsInput struct { 10188 _ struct{} `type:"structure"` 10189 10190 // The Amazon EMR resource identifier from which tags will be removed. This 10191 // value must be a cluster identifier. 10192 // 10193 // ResourceId is a required field 10194 ResourceId *string `type:"string" required:"true"` 10195 10196 // A list of tag keys to remove from a resource. 10197 // 10198 // TagKeys is a required field 10199 TagKeys []*string `type:"list" required:"true"` 10200} 10201 10202// String returns the string representation 10203func (s RemoveTagsInput) String() string { 10204 return awsutil.Prettify(s) 10205} 10206 10207// GoString returns the string representation 10208func (s RemoveTagsInput) GoString() string { 10209 return s.String() 10210} 10211 10212// Validate inspects the fields of the type to determine if they are valid. 10213func (s *RemoveTagsInput) Validate() error { 10214 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"} 10215 if s.ResourceId == nil { 10216 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 10217 } 10218 if s.TagKeys == nil { 10219 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 10220 } 10221 10222 if invalidParams.Len() > 0 { 10223 return invalidParams 10224 } 10225 return nil 10226} 10227 10228// SetResourceId sets the ResourceId field's value. 10229func (s *RemoveTagsInput) SetResourceId(v string) *RemoveTagsInput { 10230 s.ResourceId = &v 10231 return s 10232} 10233 10234// SetTagKeys sets the TagKeys field's value. 10235func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput { 10236 s.TagKeys = v 10237 return s 10238} 10239 10240// This output indicates the result of removing tags from a resource. 10241type RemoveTagsOutput struct { 10242 _ struct{} `type:"structure"` 10243} 10244 10245// String returns the string representation 10246func (s RemoveTagsOutput) String() string { 10247 return awsutil.Prettify(s) 10248} 10249 10250// GoString returns the string representation 10251func (s RemoveTagsOutput) GoString() string { 10252 return s.String() 10253} 10254 10255// Input to the RunJobFlow operation. 10256type RunJobFlowInput struct { 10257 _ struct{} `type:"structure"` 10258 10259 // A JSON string for selecting additional features. 10260 AdditionalInfo *string `type:"string"` 10261 10262 // Applies only to Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 10263 // 4.0 and later, ReleaseLabel is used. To specify a custom AMI, use CustomAmiID. 10264 AmiVersion *string `type:"string"` 10265 10266 // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of 10267 // applications for Amazon EMR to install and configure when launching the cluster. 10268 // For a list of applications available for each Amazon EMR release version, 10269 // see the Amazon EMR Release Guide (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). 10270 Applications []*Application `type:"list"` 10271 10272 // An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole. 10273 // The IAM role provides permissions that the automatic scaling feature requires 10274 // to launch and terminate EC2 instances in an instance group. 10275 AutoScalingRole *string `type:"string"` 10276 10277 // A list of bootstrap actions to run before Hadoop starts on the cluster nodes. 10278 BootstrapActions []*BootstrapActionConfig `type:"list"` 10279 10280 // For Amazon EMR releases 4.0 and later. The list of configurations supplied 10281 // for the EMR cluster you are creating. 10282 Configurations []*Configuration `type:"list"` 10283 10284 // Available only in Amazon EMR version 5.7.0 and later. The ID of a custom 10285 // Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when 10286 // it launches cluster EC2 instances. For more information about custom AMIs 10287 // in Amazon EMR, see Using a Custom AMI (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html) 10288 // in the Amazon EMR Management Guide. If omitted, the cluster uses the base 10289 // Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and 10290 // 3.x, use AmiVersion instead. 10291 // 10292 // For information about creating a custom AMI, see Creating an Amazon EBS-Backed 10293 // Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html) 10294 // in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information 10295 // about finding an AMI ID, see Finding a Linux AMI (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html). 10296 CustomAmiId *string `type:"string"` 10297 10298 // The size, in GiB, of the EBS root device volume of the Linux AMI that is 10299 // used for each EC2 instance. Available in Amazon EMR version 4.x and later. 10300 EbsRootVolumeSize *int64 `type:"integer"` 10301 10302 // A specification of the number and type of Amazon EC2 instances. 10303 // 10304 // Instances is a required field 10305 Instances *JobFlowInstancesConfig `type:"structure" required:"true"` 10306 10307 // Also called instance profile and EC2 role. An IAM role for an EMR cluster. 10308 // The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole. 10309 // In order to use the default role, you must have already created it using 10310 // the CLI or console. 10311 JobFlowRole *string `type:"string"` 10312 10313 // Attributes for Kerberos configuration when Kerberos authentication is enabled 10314 // using a security configuration. For more information see Use Kerberos Authentication 10315 // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html) 10316 // in the EMR Management Guide. 10317 KerberosAttributes *KerberosAttributes `type:"structure"` 10318 10319 // The AWS KMS customer master key (CMK) used for encrypting log files. If a 10320 // value is not provided, the logs will remain encrypted by AES-256. This attribute 10321 // is only available with EMR version 5.30.0 and later, excluding EMR 6.0.0. 10322 LogEncryptionKmsKeyId *string `type:"string"` 10323 10324 // The location in Amazon S3 to write the log files of the job flow. If a value 10325 // is not provided, logs are not created. 10326 LogUri *string `type:"string"` 10327 10328 // The specified managed scaling policy for an Amazon EMR cluster. 10329 ManagedScalingPolicy *ManagedScalingPolicy `type:"structure"` 10330 10331 // The name of the job flow. 10332 // 10333 // Name is a required field 10334 Name *string `type:"string" required:"true"` 10335 10336 // 10337 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 10338 // use Applications. 10339 // 10340 // A list of strings that indicates third-party software to use with the job 10341 // flow that accepts a user argument list. EMR accepts and forwards the argument 10342 // list to the corresponding installation script as bootstrap action arguments. 10343 // For more information, see "Launch a Job Flow on the MapR Distribution for 10344 // Hadoop" in the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 10345 // Supported values are: 10346 // 10347 // * "mapr-m3" - launch the cluster using MapR M3 Edition. 10348 // 10349 // * "mapr-m5" - launch the cluster using MapR M5 Edition. 10350 // 10351 // * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5" 10352 // - launch the job flow using MapR M3 or M5 Edition respectively. 10353 // 10354 // * "mapr-m7" - launch the cluster using MapR M7 Edition. 10355 // 10356 // * "hunk" - launch the cluster with the Hunk Big Data Analtics Platform. 10357 // 10358 // * "hue"- launch the cluster with Hue installed. 10359 // 10360 // * "spark" - launch the cluster with Apache Spark installed. 10361 // 10362 // * "ganglia" - launch the cluster with the Ganglia Monitoring System installed. 10363 NewSupportedProducts []*SupportedProductConfig `type:"list"` 10364 10365 // The Amazon EMR release label, which determines the version of open-source 10366 // application packages installed on the cluster. Release labels are in the 10367 // form emr-x.x.x, where x.x.x is an Amazon EMR release version such as emr-5.14.0. 10368 // For more information about Amazon EMR release versions and included application 10369 // versions and features, see https://docs.aws.amazon.com/emr/latest/ReleaseGuide/ 10370 // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). The release label 10371 // applies only to Amazon EMR releases version 4.0 and later. Earlier versions 10372 // use AmiVersion. 10373 ReleaseLabel *string `type:"string"` 10374 10375 // Applies only when CustomAmiID is used. Specifies which updates from the Amazon 10376 // Linux AMI package repositories to apply automatically when the instance boots 10377 // using the AMI. If omitted, the default is SECURITY, which indicates that 10378 // only security updates are applied. If NONE is specified, no updates are applied, 10379 // and all updates must be applied manually. 10380 RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"` 10381 10382 // Specifies the way that individual Amazon EC2 instances terminate when an 10383 // automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR 10384 // indicates that Amazon EMR terminates nodes at the instance-hour boundary, 10385 // regardless of when the request to terminate the instance was submitted. This 10386 // option is only available with Amazon EMR 5.1.0 and later and is the default 10387 // for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates 10388 // that Amazon EMR blacklists and drains tasks from nodes before terminating 10389 // the Amazon EC2 instances, regardless of the instance-hour boundary. With 10390 // either behavior, Amazon EMR removes the least active nodes first and blocks 10391 // instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION 10392 // available only in Amazon EMR version 4.1.0 and later, and is the default 10393 // for versions of Amazon EMR earlier than 5.1.0. 10394 ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"` 10395 10396 // The name of a security configuration to apply to the cluster. 10397 SecurityConfiguration *string `type:"string"` 10398 10399 // The IAM role that will be assumed by the Amazon EMR service to access AWS 10400 // resources on your behalf. 10401 ServiceRole *string `type:"string"` 10402 10403 // Specifies the number of steps that can be executed concurrently. The default 10404 // value is 1. The maximum value is 256. 10405 StepConcurrencyLevel *int64 `type:"integer"` 10406 10407 // A list of steps to run. 10408 Steps []*StepConfig `type:"list"` 10409 10410 // 10411 // For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later, 10412 // use Applications. 10413 // 10414 // A list of strings that indicates third-party software to use. For more information, 10415 // see the Amazon EMR Developer Guide (https://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf). 10416 // Currently supported values are: 10417 // 10418 // * "mapr-m3" - launch the job flow using MapR M3 Edition. 10419 // 10420 // * "mapr-m5" - launch the job flow using MapR M5 Edition. 10421 SupportedProducts []*string `type:"list"` 10422 10423 // A list of tags to associate with a cluster and propagate to Amazon EC2 instances. 10424 Tags []*Tag `type:"list"` 10425 10426 // A value of true indicates that all IAM users in the AWS account can perform 10427 // cluster actions if they have the proper IAM policy permissions. This is the 10428 // default. A value of false indicates that only the IAM user who created the 10429 // cluster can perform actions. 10430 VisibleToAllUsers *bool `type:"boolean"` 10431} 10432 10433// String returns the string representation 10434func (s RunJobFlowInput) String() string { 10435 return awsutil.Prettify(s) 10436} 10437 10438// GoString returns the string representation 10439func (s RunJobFlowInput) GoString() string { 10440 return s.String() 10441} 10442 10443// Validate inspects the fields of the type to determine if they are valid. 10444func (s *RunJobFlowInput) Validate() error { 10445 invalidParams := request.ErrInvalidParams{Context: "RunJobFlowInput"} 10446 if s.Instances == nil { 10447 invalidParams.Add(request.NewErrParamRequired("Instances")) 10448 } 10449 if s.Name == nil { 10450 invalidParams.Add(request.NewErrParamRequired("Name")) 10451 } 10452 if s.BootstrapActions != nil { 10453 for i, v := range s.BootstrapActions { 10454 if v == nil { 10455 continue 10456 } 10457 if err := v.Validate(); err != nil { 10458 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BootstrapActions", i), err.(request.ErrInvalidParams)) 10459 } 10460 } 10461 } 10462 if s.Instances != nil { 10463 if err := s.Instances.Validate(); err != nil { 10464 invalidParams.AddNested("Instances", err.(request.ErrInvalidParams)) 10465 } 10466 } 10467 if s.KerberosAttributes != nil { 10468 if err := s.KerberosAttributes.Validate(); err != nil { 10469 invalidParams.AddNested("KerberosAttributes", err.(request.ErrInvalidParams)) 10470 } 10471 } 10472 if s.ManagedScalingPolicy != nil { 10473 if err := s.ManagedScalingPolicy.Validate(); err != nil { 10474 invalidParams.AddNested("ManagedScalingPolicy", err.(request.ErrInvalidParams)) 10475 } 10476 } 10477 if s.Steps != nil { 10478 for i, v := range s.Steps { 10479 if v == nil { 10480 continue 10481 } 10482 if err := v.Validate(); err != nil { 10483 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams)) 10484 } 10485 } 10486 } 10487 10488 if invalidParams.Len() > 0 { 10489 return invalidParams 10490 } 10491 return nil 10492} 10493 10494// SetAdditionalInfo sets the AdditionalInfo field's value. 10495func (s *RunJobFlowInput) SetAdditionalInfo(v string) *RunJobFlowInput { 10496 s.AdditionalInfo = &v 10497 return s 10498} 10499 10500// SetAmiVersion sets the AmiVersion field's value. 10501func (s *RunJobFlowInput) SetAmiVersion(v string) *RunJobFlowInput { 10502 s.AmiVersion = &v 10503 return s 10504} 10505 10506// SetApplications sets the Applications field's value. 10507func (s *RunJobFlowInput) SetApplications(v []*Application) *RunJobFlowInput { 10508 s.Applications = v 10509 return s 10510} 10511 10512// SetAutoScalingRole sets the AutoScalingRole field's value. 10513func (s *RunJobFlowInput) SetAutoScalingRole(v string) *RunJobFlowInput { 10514 s.AutoScalingRole = &v 10515 return s 10516} 10517 10518// SetBootstrapActions sets the BootstrapActions field's value. 10519func (s *RunJobFlowInput) SetBootstrapActions(v []*BootstrapActionConfig) *RunJobFlowInput { 10520 s.BootstrapActions = v 10521 return s 10522} 10523 10524// SetConfigurations sets the Configurations field's value. 10525func (s *RunJobFlowInput) SetConfigurations(v []*Configuration) *RunJobFlowInput { 10526 s.Configurations = v 10527 return s 10528} 10529 10530// SetCustomAmiId sets the CustomAmiId field's value. 10531func (s *RunJobFlowInput) SetCustomAmiId(v string) *RunJobFlowInput { 10532 s.CustomAmiId = &v 10533 return s 10534} 10535 10536// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value. 10537func (s *RunJobFlowInput) SetEbsRootVolumeSize(v int64) *RunJobFlowInput { 10538 s.EbsRootVolumeSize = &v 10539 return s 10540} 10541 10542// SetInstances sets the Instances field's value. 10543func (s *RunJobFlowInput) SetInstances(v *JobFlowInstancesConfig) *RunJobFlowInput { 10544 s.Instances = v 10545 return s 10546} 10547 10548// SetJobFlowRole sets the JobFlowRole field's value. 10549func (s *RunJobFlowInput) SetJobFlowRole(v string) *RunJobFlowInput { 10550 s.JobFlowRole = &v 10551 return s 10552} 10553 10554// SetKerberosAttributes sets the KerberosAttributes field's value. 10555func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFlowInput { 10556 s.KerberosAttributes = v 10557 return s 10558} 10559 10560// SetLogEncryptionKmsKeyId sets the LogEncryptionKmsKeyId field's value. 10561func (s *RunJobFlowInput) SetLogEncryptionKmsKeyId(v string) *RunJobFlowInput { 10562 s.LogEncryptionKmsKeyId = &v 10563 return s 10564} 10565 10566// SetLogUri sets the LogUri field's value. 10567func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput { 10568 s.LogUri = &v 10569 return s 10570} 10571 10572// SetManagedScalingPolicy sets the ManagedScalingPolicy field's value. 10573func (s *RunJobFlowInput) SetManagedScalingPolicy(v *ManagedScalingPolicy) *RunJobFlowInput { 10574 s.ManagedScalingPolicy = v 10575 return s 10576} 10577 10578// SetName sets the Name field's value. 10579func (s *RunJobFlowInput) SetName(v string) *RunJobFlowInput { 10580 s.Name = &v 10581 return s 10582} 10583 10584// SetNewSupportedProducts sets the NewSupportedProducts field's value. 10585func (s *RunJobFlowInput) SetNewSupportedProducts(v []*SupportedProductConfig) *RunJobFlowInput { 10586 s.NewSupportedProducts = v 10587 return s 10588} 10589 10590// SetReleaseLabel sets the ReleaseLabel field's value. 10591func (s *RunJobFlowInput) SetReleaseLabel(v string) *RunJobFlowInput { 10592 s.ReleaseLabel = &v 10593 return s 10594} 10595 10596// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value. 10597func (s *RunJobFlowInput) SetRepoUpgradeOnBoot(v string) *RunJobFlowInput { 10598 s.RepoUpgradeOnBoot = &v 10599 return s 10600} 10601 10602// SetScaleDownBehavior sets the ScaleDownBehavior field's value. 10603func (s *RunJobFlowInput) SetScaleDownBehavior(v string) *RunJobFlowInput { 10604 s.ScaleDownBehavior = &v 10605 return s 10606} 10607 10608// SetSecurityConfiguration sets the SecurityConfiguration field's value. 10609func (s *RunJobFlowInput) SetSecurityConfiguration(v string) *RunJobFlowInput { 10610 s.SecurityConfiguration = &v 10611 return s 10612} 10613 10614// SetServiceRole sets the ServiceRole field's value. 10615func (s *RunJobFlowInput) SetServiceRole(v string) *RunJobFlowInput { 10616 s.ServiceRole = &v 10617 return s 10618} 10619 10620// SetStepConcurrencyLevel sets the StepConcurrencyLevel field's value. 10621func (s *RunJobFlowInput) SetStepConcurrencyLevel(v int64) *RunJobFlowInput { 10622 s.StepConcurrencyLevel = &v 10623 return s 10624} 10625 10626// SetSteps sets the Steps field's value. 10627func (s *RunJobFlowInput) SetSteps(v []*StepConfig) *RunJobFlowInput { 10628 s.Steps = v 10629 return s 10630} 10631 10632// SetSupportedProducts sets the SupportedProducts field's value. 10633func (s *RunJobFlowInput) SetSupportedProducts(v []*string) *RunJobFlowInput { 10634 s.SupportedProducts = v 10635 return s 10636} 10637 10638// SetTags sets the Tags field's value. 10639func (s *RunJobFlowInput) SetTags(v []*Tag) *RunJobFlowInput { 10640 s.Tags = v 10641 return s 10642} 10643 10644// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 10645func (s *RunJobFlowInput) SetVisibleToAllUsers(v bool) *RunJobFlowInput { 10646 s.VisibleToAllUsers = &v 10647 return s 10648} 10649 10650// The result of the RunJobFlow operation. 10651type RunJobFlowOutput struct { 10652 _ struct{} `type:"structure"` 10653 10654 // The Amazon Resource Name of the cluster. 10655 ClusterArn *string `min:"20" type:"string"` 10656 10657 // An unique identifier for the job flow. 10658 JobFlowId *string `type:"string"` 10659} 10660 10661// String returns the string representation 10662func (s RunJobFlowOutput) String() string { 10663 return awsutil.Prettify(s) 10664} 10665 10666// GoString returns the string representation 10667func (s RunJobFlowOutput) GoString() string { 10668 return s.String() 10669} 10670 10671// SetClusterArn sets the ClusterArn field's value. 10672func (s *RunJobFlowOutput) SetClusterArn(v string) *RunJobFlowOutput { 10673 s.ClusterArn = &v 10674 return s 10675} 10676 10677// SetJobFlowId sets the JobFlowId field's value. 10678func (s *RunJobFlowOutput) SetJobFlowId(v string) *RunJobFlowOutput { 10679 s.JobFlowId = &v 10680 return s 10681} 10682 10683// The type of adjustment the automatic scaling activity makes when triggered, 10684// and the periodicity of the adjustment. 10685type ScalingAction struct { 10686 _ struct{} `type:"structure"` 10687 10688 // Not available for instance groups. Instance groups use the market type specified 10689 // for the group. 10690 Market *string `type:"string" enum:"MarketType"` 10691 10692 // The type of adjustment the automatic scaling activity makes when triggered, 10693 // and the periodicity of the adjustment. 10694 // 10695 // SimpleScalingPolicyConfiguration is a required field 10696 SimpleScalingPolicyConfiguration *SimpleScalingPolicyConfiguration `type:"structure" required:"true"` 10697} 10698 10699// String returns the string representation 10700func (s ScalingAction) String() string { 10701 return awsutil.Prettify(s) 10702} 10703 10704// GoString returns the string representation 10705func (s ScalingAction) GoString() string { 10706 return s.String() 10707} 10708 10709// Validate inspects the fields of the type to determine if they are valid. 10710func (s *ScalingAction) Validate() error { 10711 invalidParams := request.ErrInvalidParams{Context: "ScalingAction"} 10712 if s.SimpleScalingPolicyConfiguration == nil { 10713 invalidParams.Add(request.NewErrParamRequired("SimpleScalingPolicyConfiguration")) 10714 } 10715 if s.SimpleScalingPolicyConfiguration != nil { 10716 if err := s.SimpleScalingPolicyConfiguration.Validate(); err != nil { 10717 invalidParams.AddNested("SimpleScalingPolicyConfiguration", err.(request.ErrInvalidParams)) 10718 } 10719 } 10720 10721 if invalidParams.Len() > 0 { 10722 return invalidParams 10723 } 10724 return nil 10725} 10726 10727// SetMarket sets the Market field's value. 10728func (s *ScalingAction) SetMarket(v string) *ScalingAction { 10729 s.Market = &v 10730 return s 10731} 10732 10733// SetSimpleScalingPolicyConfiguration sets the SimpleScalingPolicyConfiguration field's value. 10734func (s *ScalingAction) SetSimpleScalingPolicyConfiguration(v *SimpleScalingPolicyConfiguration) *ScalingAction { 10735 s.SimpleScalingPolicyConfiguration = v 10736 return s 10737} 10738 10739// The upper and lower EC2 instance limits for an automatic scaling policy. 10740// Automatic scaling activities triggered by automatic scaling rules will not 10741// cause an instance group to grow above or below these limits. 10742type ScalingConstraints struct { 10743 _ struct{} `type:"structure"` 10744 10745 // The upper boundary of EC2 instances in an instance group beyond which scaling 10746 // activities are not allowed to grow. Scale-out activities will not add instances 10747 // beyond this boundary. 10748 // 10749 // MaxCapacity is a required field 10750 MaxCapacity *int64 `type:"integer" required:"true"` 10751 10752 // The lower boundary of EC2 instances in an instance group below which scaling 10753 // activities are not allowed to shrink. Scale-in activities will not terminate 10754 // instances below this boundary. 10755 // 10756 // MinCapacity is a required field 10757 MinCapacity *int64 `type:"integer" required:"true"` 10758} 10759 10760// String returns the string representation 10761func (s ScalingConstraints) String() string { 10762 return awsutil.Prettify(s) 10763} 10764 10765// GoString returns the string representation 10766func (s ScalingConstraints) GoString() string { 10767 return s.String() 10768} 10769 10770// Validate inspects the fields of the type to determine if they are valid. 10771func (s *ScalingConstraints) Validate() error { 10772 invalidParams := request.ErrInvalidParams{Context: "ScalingConstraints"} 10773 if s.MaxCapacity == nil { 10774 invalidParams.Add(request.NewErrParamRequired("MaxCapacity")) 10775 } 10776 if s.MinCapacity == nil { 10777 invalidParams.Add(request.NewErrParamRequired("MinCapacity")) 10778 } 10779 10780 if invalidParams.Len() > 0 { 10781 return invalidParams 10782 } 10783 return nil 10784} 10785 10786// SetMaxCapacity sets the MaxCapacity field's value. 10787func (s *ScalingConstraints) SetMaxCapacity(v int64) *ScalingConstraints { 10788 s.MaxCapacity = &v 10789 return s 10790} 10791 10792// SetMinCapacity sets the MinCapacity field's value. 10793func (s *ScalingConstraints) SetMinCapacity(v int64) *ScalingConstraints { 10794 s.MinCapacity = &v 10795 return s 10796} 10797 10798// A scale-in or scale-out rule that defines scaling activity, including the 10799// CloudWatch metric alarm that triggers activity, how EC2 instances are added 10800// or removed, and the periodicity of adjustments. The automatic scaling policy 10801// for an instance group can comprise one or more automatic scaling rules. 10802type ScalingRule struct { 10803 _ struct{} `type:"structure"` 10804 10805 // The conditions that trigger an automatic scaling activity. 10806 // 10807 // Action is a required field 10808 Action *ScalingAction `type:"structure" required:"true"` 10809 10810 // A friendly, more verbose description of the automatic scaling rule. 10811 Description *string `type:"string"` 10812 10813 // The name used to identify an automatic scaling rule. Rule names must be unique 10814 // within a scaling policy. 10815 // 10816 // Name is a required field 10817 Name *string `type:"string" required:"true"` 10818 10819 // The CloudWatch alarm definition that determines when automatic scaling activity 10820 // is triggered. 10821 // 10822 // Trigger is a required field 10823 Trigger *ScalingTrigger `type:"structure" required:"true"` 10824} 10825 10826// String returns the string representation 10827func (s ScalingRule) String() string { 10828 return awsutil.Prettify(s) 10829} 10830 10831// GoString returns the string representation 10832func (s ScalingRule) GoString() string { 10833 return s.String() 10834} 10835 10836// Validate inspects the fields of the type to determine if they are valid. 10837func (s *ScalingRule) Validate() error { 10838 invalidParams := request.ErrInvalidParams{Context: "ScalingRule"} 10839 if s.Action == nil { 10840 invalidParams.Add(request.NewErrParamRequired("Action")) 10841 } 10842 if s.Name == nil { 10843 invalidParams.Add(request.NewErrParamRequired("Name")) 10844 } 10845 if s.Trigger == nil { 10846 invalidParams.Add(request.NewErrParamRequired("Trigger")) 10847 } 10848 if s.Action != nil { 10849 if err := s.Action.Validate(); err != nil { 10850 invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) 10851 } 10852 } 10853 if s.Trigger != nil { 10854 if err := s.Trigger.Validate(); err != nil { 10855 invalidParams.AddNested("Trigger", err.(request.ErrInvalidParams)) 10856 } 10857 } 10858 10859 if invalidParams.Len() > 0 { 10860 return invalidParams 10861 } 10862 return nil 10863} 10864 10865// SetAction sets the Action field's value. 10866func (s *ScalingRule) SetAction(v *ScalingAction) *ScalingRule { 10867 s.Action = v 10868 return s 10869} 10870 10871// SetDescription sets the Description field's value. 10872func (s *ScalingRule) SetDescription(v string) *ScalingRule { 10873 s.Description = &v 10874 return s 10875} 10876 10877// SetName sets the Name field's value. 10878func (s *ScalingRule) SetName(v string) *ScalingRule { 10879 s.Name = &v 10880 return s 10881} 10882 10883// SetTrigger sets the Trigger field's value. 10884func (s *ScalingRule) SetTrigger(v *ScalingTrigger) *ScalingRule { 10885 s.Trigger = v 10886 return s 10887} 10888 10889// The conditions that trigger an automatic scaling activity. 10890type ScalingTrigger struct { 10891 _ struct{} `type:"structure"` 10892 10893 // The definition of a CloudWatch metric alarm. When the defined alarm conditions 10894 // are met along with other trigger parameters, scaling activity begins. 10895 // 10896 // CloudWatchAlarmDefinition is a required field 10897 CloudWatchAlarmDefinition *CloudWatchAlarmDefinition `type:"structure" required:"true"` 10898} 10899 10900// String returns the string representation 10901func (s ScalingTrigger) String() string { 10902 return awsutil.Prettify(s) 10903} 10904 10905// GoString returns the string representation 10906func (s ScalingTrigger) GoString() string { 10907 return s.String() 10908} 10909 10910// Validate inspects the fields of the type to determine if they are valid. 10911func (s *ScalingTrigger) Validate() error { 10912 invalidParams := request.ErrInvalidParams{Context: "ScalingTrigger"} 10913 if s.CloudWatchAlarmDefinition == nil { 10914 invalidParams.Add(request.NewErrParamRequired("CloudWatchAlarmDefinition")) 10915 } 10916 if s.CloudWatchAlarmDefinition != nil { 10917 if err := s.CloudWatchAlarmDefinition.Validate(); err != nil { 10918 invalidParams.AddNested("CloudWatchAlarmDefinition", err.(request.ErrInvalidParams)) 10919 } 10920 } 10921 10922 if invalidParams.Len() > 0 { 10923 return invalidParams 10924 } 10925 return nil 10926} 10927 10928// SetCloudWatchAlarmDefinition sets the CloudWatchAlarmDefinition field's value. 10929func (s *ScalingTrigger) SetCloudWatchAlarmDefinition(v *CloudWatchAlarmDefinition) *ScalingTrigger { 10930 s.CloudWatchAlarmDefinition = v 10931 return s 10932} 10933 10934// Configuration of the script to run during a bootstrap action. 10935type ScriptBootstrapActionConfig struct { 10936 _ struct{} `type:"structure"` 10937 10938 // A list of command line arguments to pass to the bootstrap action script. 10939 Args []*string `type:"list"` 10940 10941 // Location of the script to run during a bootstrap action. Can be either a 10942 // location in Amazon S3 or on a local file system. 10943 // 10944 // Path is a required field 10945 Path *string `type:"string" required:"true"` 10946} 10947 10948// String returns the string representation 10949func (s ScriptBootstrapActionConfig) String() string { 10950 return awsutil.Prettify(s) 10951} 10952 10953// GoString returns the string representation 10954func (s ScriptBootstrapActionConfig) GoString() string { 10955 return s.String() 10956} 10957 10958// Validate inspects the fields of the type to determine if they are valid. 10959func (s *ScriptBootstrapActionConfig) Validate() error { 10960 invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"} 10961 if s.Path == nil { 10962 invalidParams.Add(request.NewErrParamRequired("Path")) 10963 } 10964 10965 if invalidParams.Len() > 0 { 10966 return invalidParams 10967 } 10968 return nil 10969} 10970 10971// SetArgs sets the Args field's value. 10972func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig { 10973 s.Args = v 10974 return s 10975} 10976 10977// SetPath sets the Path field's value. 10978func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig { 10979 s.Path = &v 10980 return s 10981} 10982 10983// The creation date and time, and name, of a security configuration. 10984type SecurityConfigurationSummary struct { 10985 _ struct{} `type:"structure"` 10986 10987 // The date and time the security configuration was created. 10988 CreationDateTime *time.Time `type:"timestamp"` 10989 10990 // The name of the security configuration. 10991 Name *string `type:"string"` 10992} 10993 10994// String returns the string representation 10995func (s SecurityConfigurationSummary) String() string { 10996 return awsutil.Prettify(s) 10997} 10998 10999// GoString returns the string representation 11000func (s SecurityConfigurationSummary) GoString() string { 11001 return s.String() 11002} 11003 11004// SetCreationDateTime sets the CreationDateTime field's value. 11005func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary { 11006 s.CreationDateTime = &v 11007 return s 11008} 11009 11010// SetName sets the Name field's value. 11011func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary { 11012 s.Name = &v 11013 return s 11014} 11015 11016// The input argument to the TerminationProtection operation. 11017type SetTerminationProtectionInput struct { 11018 _ struct{} `type:"structure"` 11019 11020 // A list of strings that uniquely identify the clusters to protect. This identifier 11021 // is returned by RunJobFlow and can also be obtained from DescribeJobFlows . 11022 // 11023 // JobFlowIds is a required field 11024 JobFlowIds []*string `type:"list" required:"true"` 11025 11026 // A Boolean that indicates whether to protect the cluster and prevent the Amazon 11027 // EC2 instances in the cluster from shutting down due to API calls, user intervention, 11028 // or job-flow error. 11029 // 11030 // TerminationProtected is a required field 11031 TerminationProtected *bool `type:"boolean" required:"true"` 11032} 11033 11034// String returns the string representation 11035func (s SetTerminationProtectionInput) String() string { 11036 return awsutil.Prettify(s) 11037} 11038 11039// GoString returns the string representation 11040func (s SetTerminationProtectionInput) GoString() string { 11041 return s.String() 11042} 11043 11044// Validate inspects the fields of the type to determine if they are valid. 11045func (s *SetTerminationProtectionInput) Validate() error { 11046 invalidParams := request.ErrInvalidParams{Context: "SetTerminationProtectionInput"} 11047 if s.JobFlowIds == nil { 11048 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 11049 } 11050 if s.TerminationProtected == nil { 11051 invalidParams.Add(request.NewErrParamRequired("TerminationProtected")) 11052 } 11053 11054 if invalidParams.Len() > 0 { 11055 return invalidParams 11056 } 11057 return nil 11058} 11059 11060// SetJobFlowIds sets the JobFlowIds field's value. 11061func (s *SetTerminationProtectionInput) SetJobFlowIds(v []*string) *SetTerminationProtectionInput { 11062 s.JobFlowIds = v 11063 return s 11064} 11065 11066// SetTerminationProtected sets the TerminationProtected field's value. 11067func (s *SetTerminationProtectionInput) SetTerminationProtected(v bool) *SetTerminationProtectionInput { 11068 s.TerminationProtected = &v 11069 return s 11070} 11071 11072type SetTerminationProtectionOutput struct { 11073 _ struct{} `type:"structure"` 11074} 11075 11076// String returns the string representation 11077func (s SetTerminationProtectionOutput) String() string { 11078 return awsutil.Prettify(s) 11079} 11080 11081// GoString returns the string representation 11082func (s SetTerminationProtectionOutput) GoString() string { 11083 return s.String() 11084} 11085 11086// The input to the SetVisibleToAllUsers action. 11087type SetVisibleToAllUsersInput struct { 11088 _ struct{} `type:"structure"` 11089 11090 // The unique identifier of the job flow (cluster). 11091 // 11092 // JobFlowIds is a required field 11093 JobFlowIds []*string `type:"list" required:"true"` 11094 11095 // A value of true indicates that all IAM users in the AWS account can perform 11096 // cluster actions if they have the proper IAM policy permissions. This is the 11097 // default. A value of false indicates that only the IAM user who created the 11098 // cluster can perform actions. 11099 // 11100 // VisibleToAllUsers is a required field 11101 VisibleToAllUsers *bool `type:"boolean" required:"true"` 11102} 11103 11104// String returns the string representation 11105func (s SetVisibleToAllUsersInput) String() string { 11106 return awsutil.Prettify(s) 11107} 11108 11109// GoString returns the string representation 11110func (s SetVisibleToAllUsersInput) GoString() string { 11111 return s.String() 11112} 11113 11114// Validate inspects the fields of the type to determine if they are valid. 11115func (s *SetVisibleToAllUsersInput) Validate() error { 11116 invalidParams := request.ErrInvalidParams{Context: "SetVisibleToAllUsersInput"} 11117 if s.JobFlowIds == nil { 11118 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 11119 } 11120 if s.VisibleToAllUsers == nil { 11121 invalidParams.Add(request.NewErrParamRequired("VisibleToAllUsers")) 11122 } 11123 11124 if invalidParams.Len() > 0 { 11125 return invalidParams 11126 } 11127 return nil 11128} 11129 11130// SetJobFlowIds sets the JobFlowIds field's value. 11131func (s *SetVisibleToAllUsersInput) SetJobFlowIds(v []*string) *SetVisibleToAllUsersInput { 11132 s.JobFlowIds = v 11133 return s 11134} 11135 11136// SetVisibleToAllUsers sets the VisibleToAllUsers field's value. 11137func (s *SetVisibleToAllUsersInput) SetVisibleToAllUsers(v bool) *SetVisibleToAllUsersInput { 11138 s.VisibleToAllUsers = &v 11139 return s 11140} 11141 11142type SetVisibleToAllUsersOutput struct { 11143 _ struct{} `type:"structure"` 11144} 11145 11146// String returns the string representation 11147func (s SetVisibleToAllUsersOutput) String() string { 11148 return awsutil.Prettify(s) 11149} 11150 11151// GoString returns the string representation 11152func (s SetVisibleToAllUsersOutput) GoString() string { 11153 return s.String() 11154} 11155 11156// Policy for customizing shrink operations. Allows configuration of decommissioning 11157// timeout and targeted instance shrinking. 11158type ShrinkPolicy struct { 11159 _ struct{} `type:"structure"` 11160 11161 // The desired timeout for decommissioning an instance. Overrides the default 11162 // YARN decommissioning timeout. 11163 DecommissionTimeout *int64 `type:"integer"` 11164 11165 // Custom policy for requesting termination protection or termination of specific 11166 // instances when shrinking an instance group. 11167 InstanceResizePolicy *InstanceResizePolicy `type:"structure"` 11168} 11169 11170// String returns the string representation 11171func (s ShrinkPolicy) String() string { 11172 return awsutil.Prettify(s) 11173} 11174 11175// GoString returns the string representation 11176func (s ShrinkPolicy) GoString() string { 11177 return s.String() 11178} 11179 11180// SetDecommissionTimeout sets the DecommissionTimeout field's value. 11181func (s *ShrinkPolicy) SetDecommissionTimeout(v int64) *ShrinkPolicy { 11182 s.DecommissionTimeout = &v 11183 return s 11184} 11185 11186// SetInstanceResizePolicy sets the InstanceResizePolicy field's value. 11187func (s *ShrinkPolicy) SetInstanceResizePolicy(v *InstanceResizePolicy) *ShrinkPolicy { 11188 s.InstanceResizePolicy = v 11189 return s 11190} 11191 11192// An automatic scaling configuration, which describes how the policy adds or 11193// removes instances, the cooldown period, and the number of EC2 instances that 11194// will be added each time the CloudWatch metric alarm condition is satisfied. 11195type SimpleScalingPolicyConfiguration struct { 11196 _ struct{} `type:"structure"` 11197 11198 // The way in which EC2 instances are added (if ScalingAdjustment is a positive 11199 // number) or terminated (if ScalingAdjustment is a negative number) each time 11200 // the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY 11201 // indicates that the EC2 instance count increments or decrements by ScalingAdjustment, 11202 // which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates 11203 // the instance count increments or decrements by the percentage specified by 11204 // ScalingAdjustment, which should be expressed as an integer. For example, 11205 // 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY 11206 // indicates the scaling activity results in an instance group with the number 11207 // of EC2 instances specified by ScalingAdjustment, which should be expressed 11208 // as a positive integer. 11209 AdjustmentType *string `type:"string" enum:"AdjustmentType"` 11210 11211 // The amount of time, in seconds, after a scaling activity completes before 11212 // any further trigger-related scaling activities can start. The default value 11213 // is 0. 11214 CoolDown *int64 `type:"integer"` 11215 11216 // The amount by which to scale in or scale out, based on the specified AdjustmentType. 11217 // A positive value adds to the instance group's EC2 instance count while a 11218 // negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY, 11219 // the number should only be a positive integer. If AdjustmentType is set to 11220 // PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an 11221 // integer. For example, -20 indicates a decrease in 20% increments of cluster 11222 // capacity. 11223 // 11224 // ScalingAdjustment is a required field 11225 ScalingAdjustment *int64 `type:"integer" required:"true"` 11226} 11227 11228// String returns the string representation 11229func (s SimpleScalingPolicyConfiguration) String() string { 11230 return awsutil.Prettify(s) 11231} 11232 11233// GoString returns the string representation 11234func (s SimpleScalingPolicyConfiguration) GoString() string { 11235 return s.String() 11236} 11237 11238// Validate inspects the fields of the type to determine if they are valid. 11239func (s *SimpleScalingPolicyConfiguration) Validate() error { 11240 invalidParams := request.ErrInvalidParams{Context: "SimpleScalingPolicyConfiguration"} 11241 if s.ScalingAdjustment == nil { 11242 invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment")) 11243 } 11244 11245 if invalidParams.Len() > 0 { 11246 return invalidParams 11247 } 11248 return nil 11249} 11250 11251// SetAdjustmentType sets the AdjustmentType field's value. 11252func (s *SimpleScalingPolicyConfiguration) SetAdjustmentType(v string) *SimpleScalingPolicyConfiguration { 11253 s.AdjustmentType = &v 11254 return s 11255} 11256 11257// SetCoolDown sets the CoolDown field's value. 11258func (s *SimpleScalingPolicyConfiguration) SetCoolDown(v int64) *SimpleScalingPolicyConfiguration { 11259 s.CoolDown = &v 11260 return s 11261} 11262 11263// SetScalingAdjustment sets the ScalingAdjustment field's value. 11264func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *SimpleScalingPolicyConfiguration { 11265 s.ScalingAdjustment = &v 11266 return s 11267} 11268 11269// The launch specification for Spot instances in the instance fleet, which 11270// determines the defined duration, provisioning timeout behavior, and allocation 11271// strategy. 11272// 11273// The instance fleet configuration is available only in Amazon EMR versions 11274// 4.8.0 and later, excluding 5.0.x versions. Spot instance allocation strategy 11275// is available in Amazon EMR version 5.12.1 and later. 11276type SpotProvisioningSpecification struct { 11277 _ struct{} `type:"structure"` 11278 11279 // Specifies the strategy to use in launching Spot instance fleets. Currently, 11280 // the only option is capacity-optimized (the default), which launches instances 11281 // from Spot instance pools with optimal capacity for the number of instances 11282 // that are launching. 11283 AllocationStrategy *string `type:"string" enum:"SpotProvisioningAllocationStrategy"` 11284 11285 // The defined duration for Spot instances (also known as Spot blocks) in minutes. 11286 // When specified, the Spot instance does not terminate before the defined duration 11287 // expires, and defined duration pricing for Spot instances applies. Valid values 11288 // are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as 11289 // a Spot instance receives its instance ID. At the end of the duration, Amazon 11290 // EC2 marks the Spot instance for termination and provides a Spot instance 11291 // termination notice, which gives the instance a two-minute warning before 11292 // it terminates. 11293 BlockDurationMinutes *int64 `type:"integer"` 11294 11295 // The action to take when TargetSpotCapacity has not been fulfilled when the 11296 // TimeoutDurationMinutes has expired; that is, when all Spot instances could 11297 // not be provisioned within the Spot provisioning timeout. Valid values are 11298 // TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND. SWITCH_TO_ON_DEMAND specifies 11299 // that if no Spot instances are available, On-Demand Instances should be provisioned 11300 // to fulfill any remaining Spot capacity. 11301 // 11302 // TimeoutAction is a required field 11303 TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"` 11304 11305 // The spot provisioning timeout period in minutes. If Spot instances are not 11306 // provisioned within this time period, the TimeOutAction is taken. Minimum 11307 // value is 5 and maximum value is 1440. The timeout applies only during initial 11308 // provisioning, when the cluster is first created. 11309 // 11310 // TimeoutDurationMinutes is a required field 11311 TimeoutDurationMinutes *int64 `type:"integer" required:"true"` 11312} 11313 11314// String returns the string representation 11315func (s SpotProvisioningSpecification) String() string { 11316 return awsutil.Prettify(s) 11317} 11318 11319// GoString returns the string representation 11320func (s SpotProvisioningSpecification) GoString() string { 11321 return s.String() 11322} 11323 11324// Validate inspects the fields of the type to determine if they are valid. 11325func (s *SpotProvisioningSpecification) Validate() error { 11326 invalidParams := request.ErrInvalidParams{Context: "SpotProvisioningSpecification"} 11327 if s.TimeoutAction == nil { 11328 invalidParams.Add(request.NewErrParamRequired("TimeoutAction")) 11329 } 11330 if s.TimeoutDurationMinutes == nil { 11331 invalidParams.Add(request.NewErrParamRequired("TimeoutDurationMinutes")) 11332 } 11333 11334 if invalidParams.Len() > 0 { 11335 return invalidParams 11336 } 11337 return nil 11338} 11339 11340// SetAllocationStrategy sets the AllocationStrategy field's value. 11341func (s *SpotProvisioningSpecification) SetAllocationStrategy(v string) *SpotProvisioningSpecification { 11342 s.AllocationStrategy = &v 11343 return s 11344} 11345 11346// SetBlockDurationMinutes sets the BlockDurationMinutes field's value. 11347func (s *SpotProvisioningSpecification) SetBlockDurationMinutes(v int64) *SpotProvisioningSpecification { 11348 s.BlockDurationMinutes = &v 11349 return s 11350} 11351 11352// SetTimeoutAction sets the TimeoutAction field's value. 11353func (s *SpotProvisioningSpecification) SetTimeoutAction(v string) *SpotProvisioningSpecification { 11354 s.TimeoutAction = &v 11355 return s 11356} 11357 11358// SetTimeoutDurationMinutes sets the TimeoutDurationMinutes field's value. 11359func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *SpotProvisioningSpecification { 11360 s.TimeoutDurationMinutes = &v 11361 return s 11362} 11363 11364// This represents a step in a cluster. 11365type Step struct { 11366 _ struct{} `type:"structure"` 11367 11368 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 11369 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 11370 // compatibility. We recommend using TERMINATE_CLUSTER instead. 11371 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 11372 11373 // The Hadoop job configuration of the cluster step. 11374 Config *HadoopStepConfig `type:"structure"` 11375 11376 // The identifier of the cluster step. 11377 Id *string `type:"string"` 11378 11379 // The name of the cluster step. 11380 Name *string `type:"string"` 11381 11382 // The current execution status details of the cluster step. 11383 Status *StepStatus `type:"structure"` 11384} 11385 11386// String returns the string representation 11387func (s Step) String() string { 11388 return awsutil.Prettify(s) 11389} 11390 11391// GoString returns the string representation 11392func (s Step) GoString() string { 11393 return s.String() 11394} 11395 11396// SetActionOnFailure sets the ActionOnFailure field's value. 11397func (s *Step) SetActionOnFailure(v string) *Step { 11398 s.ActionOnFailure = &v 11399 return s 11400} 11401 11402// SetConfig sets the Config field's value. 11403func (s *Step) SetConfig(v *HadoopStepConfig) *Step { 11404 s.Config = v 11405 return s 11406} 11407 11408// SetId sets the Id field's value. 11409func (s *Step) SetId(v string) *Step { 11410 s.Id = &v 11411 return s 11412} 11413 11414// SetName sets the Name field's value. 11415func (s *Step) SetName(v string) *Step { 11416 s.Name = &v 11417 return s 11418} 11419 11420// SetStatus sets the Status field's value. 11421func (s *Step) SetStatus(v *StepStatus) *Step { 11422 s.Status = v 11423 return s 11424} 11425 11426// Specification of a cluster (job flow) step. 11427type StepConfig struct { 11428 _ struct{} `type:"structure"` 11429 11430 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 11431 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is provided for backward 11432 // compatibility. We recommend using TERMINATE_CLUSTER instead. 11433 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 11434 11435 // The JAR file used for the step. 11436 // 11437 // HadoopJarStep is a required field 11438 HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"` 11439 11440 // The name of the step. 11441 // 11442 // Name is a required field 11443 Name *string `type:"string" required:"true"` 11444} 11445 11446// String returns the string representation 11447func (s StepConfig) String() string { 11448 return awsutil.Prettify(s) 11449} 11450 11451// GoString returns the string representation 11452func (s StepConfig) GoString() string { 11453 return s.String() 11454} 11455 11456// Validate inspects the fields of the type to determine if they are valid. 11457func (s *StepConfig) Validate() error { 11458 invalidParams := request.ErrInvalidParams{Context: "StepConfig"} 11459 if s.HadoopJarStep == nil { 11460 invalidParams.Add(request.NewErrParamRequired("HadoopJarStep")) 11461 } 11462 if s.Name == nil { 11463 invalidParams.Add(request.NewErrParamRequired("Name")) 11464 } 11465 if s.HadoopJarStep != nil { 11466 if err := s.HadoopJarStep.Validate(); err != nil { 11467 invalidParams.AddNested("HadoopJarStep", err.(request.ErrInvalidParams)) 11468 } 11469 } 11470 11471 if invalidParams.Len() > 0 { 11472 return invalidParams 11473 } 11474 return nil 11475} 11476 11477// SetActionOnFailure sets the ActionOnFailure field's value. 11478func (s *StepConfig) SetActionOnFailure(v string) *StepConfig { 11479 s.ActionOnFailure = &v 11480 return s 11481} 11482 11483// SetHadoopJarStep sets the HadoopJarStep field's value. 11484func (s *StepConfig) SetHadoopJarStep(v *HadoopJarStepConfig) *StepConfig { 11485 s.HadoopJarStep = v 11486 return s 11487} 11488 11489// SetName sets the Name field's value. 11490func (s *StepConfig) SetName(v string) *StepConfig { 11491 s.Name = &v 11492 return s 11493} 11494 11495// Combines the execution state and configuration of a step. 11496type StepDetail struct { 11497 _ struct{} `type:"structure"` 11498 11499 // The description of the step status. 11500 // 11501 // ExecutionStatusDetail is a required field 11502 ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"` 11503 11504 // The step configuration. 11505 // 11506 // StepConfig is a required field 11507 StepConfig *StepConfig `type:"structure" required:"true"` 11508} 11509 11510// String returns the string representation 11511func (s StepDetail) String() string { 11512 return awsutil.Prettify(s) 11513} 11514 11515// GoString returns the string representation 11516func (s StepDetail) GoString() string { 11517 return s.String() 11518} 11519 11520// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value. 11521func (s *StepDetail) SetExecutionStatusDetail(v *StepExecutionStatusDetail) *StepDetail { 11522 s.ExecutionStatusDetail = v 11523 return s 11524} 11525 11526// SetStepConfig sets the StepConfig field's value. 11527func (s *StepDetail) SetStepConfig(v *StepConfig) *StepDetail { 11528 s.StepConfig = v 11529 return s 11530} 11531 11532// The execution state of a step. 11533type StepExecutionStatusDetail struct { 11534 _ struct{} `type:"structure"` 11535 11536 // The creation date and time of the step. 11537 // 11538 // CreationDateTime is a required field 11539 CreationDateTime *time.Time `type:"timestamp" required:"true"` 11540 11541 // The completion date and time of the step. 11542 EndDateTime *time.Time `type:"timestamp"` 11543 11544 // A description of the step's current state. 11545 LastStateChangeReason *string `type:"string"` 11546 11547 // The start date and time of the step. 11548 StartDateTime *time.Time `type:"timestamp"` 11549 11550 // The state of the step. 11551 // 11552 // State is a required field 11553 State *string `type:"string" required:"true" enum:"StepExecutionState"` 11554} 11555 11556// String returns the string representation 11557func (s StepExecutionStatusDetail) String() string { 11558 return awsutil.Prettify(s) 11559} 11560 11561// GoString returns the string representation 11562func (s StepExecutionStatusDetail) GoString() string { 11563 return s.String() 11564} 11565 11566// SetCreationDateTime sets the CreationDateTime field's value. 11567func (s *StepExecutionStatusDetail) SetCreationDateTime(v time.Time) *StepExecutionStatusDetail { 11568 s.CreationDateTime = &v 11569 return s 11570} 11571 11572// SetEndDateTime sets the EndDateTime field's value. 11573func (s *StepExecutionStatusDetail) SetEndDateTime(v time.Time) *StepExecutionStatusDetail { 11574 s.EndDateTime = &v 11575 return s 11576} 11577 11578// SetLastStateChangeReason sets the LastStateChangeReason field's value. 11579func (s *StepExecutionStatusDetail) SetLastStateChangeReason(v string) *StepExecutionStatusDetail { 11580 s.LastStateChangeReason = &v 11581 return s 11582} 11583 11584// SetStartDateTime sets the StartDateTime field's value. 11585func (s *StepExecutionStatusDetail) SetStartDateTime(v time.Time) *StepExecutionStatusDetail { 11586 s.StartDateTime = &v 11587 return s 11588} 11589 11590// SetState sets the State field's value. 11591func (s *StepExecutionStatusDetail) SetState(v string) *StepExecutionStatusDetail { 11592 s.State = &v 11593 return s 11594} 11595 11596// The details of the step state change reason. 11597type StepStateChangeReason struct { 11598 _ struct{} `type:"structure"` 11599 11600 // The programmable code for the state change reason. Note: Currently, the service 11601 // provides no code for the state change. 11602 Code *string `type:"string" enum:"StepStateChangeReasonCode"` 11603 11604 // The descriptive message for the state change reason. 11605 Message *string `type:"string"` 11606} 11607 11608// String returns the string representation 11609func (s StepStateChangeReason) String() string { 11610 return awsutil.Prettify(s) 11611} 11612 11613// GoString returns the string representation 11614func (s StepStateChangeReason) GoString() string { 11615 return s.String() 11616} 11617 11618// SetCode sets the Code field's value. 11619func (s *StepStateChangeReason) SetCode(v string) *StepStateChangeReason { 11620 s.Code = &v 11621 return s 11622} 11623 11624// SetMessage sets the Message field's value. 11625func (s *StepStateChangeReason) SetMessage(v string) *StepStateChangeReason { 11626 s.Message = &v 11627 return s 11628} 11629 11630// The execution status details of the cluster step. 11631type StepStatus struct { 11632 _ struct{} `type:"structure"` 11633 11634 // The details for the step failure including reason, message, and log file 11635 // path where the root cause was identified. 11636 FailureDetails *FailureDetails `type:"structure"` 11637 11638 // The execution state of the cluster step. 11639 State *string `type:"string" enum:"StepState"` 11640 11641 // The reason for the step execution status change. 11642 StateChangeReason *StepStateChangeReason `type:"structure"` 11643 11644 // The timeline of the cluster step status over time. 11645 Timeline *StepTimeline `type:"structure"` 11646} 11647 11648// String returns the string representation 11649func (s StepStatus) String() string { 11650 return awsutil.Prettify(s) 11651} 11652 11653// GoString returns the string representation 11654func (s StepStatus) GoString() string { 11655 return s.String() 11656} 11657 11658// SetFailureDetails sets the FailureDetails field's value. 11659func (s *StepStatus) SetFailureDetails(v *FailureDetails) *StepStatus { 11660 s.FailureDetails = v 11661 return s 11662} 11663 11664// SetState sets the State field's value. 11665func (s *StepStatus) SetState(v string) *StepStatus { 11666 s.State = &v 11667 return s 11668} 11669 11670// SetStateChangeReason sets the StateChangeReason field's value. 11671func (s *StepStatus) SetStateChangeReason(v *StepStateChangeReason) *StepStatus { 11672 s.StateChangeReason = v 11673 return s 11674} 11675 11676// SetTimeline sets the Timeline field's value. 11677func (s *StepStatus) SetTimeline(v *StepTimeline) *StepStatus { 11678 s.Timeline = v 11679 return s 11680} 11681 11682// The summary of the cluster step. 11683type StepSummary struct { 11684 _ struct{} `type:"structure"` 11685 11686 // The action to take when the cluster step fails. Possible values are TERMINATE_CLUSTER, 11687 // CANCEL_AND_WAIT, and CONTINUE. TERMINATE_JOB_FLOW is available for backward 11688 // compatibility. We recommend using TERMINATE_CLUSTER instead. 11689 ActionOnFailure *string `type:"string" enum:"ActionOnFailure"` 11690 11691 // The Hadoop job configuration of the cluster step. 11692 Config *HadoopStepConfig `type:"structure"` 11693 11694 // The identifier of the cluster step. 11695 Id *string `type:"string"` 11696 11697 // The name of the cluster step. 11698 Name *string `type:"string"` 11699 11700 // The current execution status details of the cluster step. 11701 Status *StepStatus `type:"structure"` 11702} 11703 11704// String returns the string representation 11705func (s StepSummary) String() string { 11706 return awsutil.Prettify(s) 11707} 11708 11709// GoString returns the string representation 11710func (s StepSummary) GoString() string { 11711 return s.String() 11712} 11713 11714// SetActionOnFailure sets the ActionOnFailure field's value. 11715func (s *StepSummary) SetActionOnFailure(v string) *StepSummary { 11716 s.ActionOnFailure = &v 11717 return s 11718} 11719 11720// SetConfig sets the Config field's value. 11721func (s *StepSummary) SetConfig(v *HadoopStepConfig) *StepSummary { 11722 s.Config = v 11723 return s 11724} 11725 11726// SetId sets the Id field's value. 11727func (s *StepSummary) SetId(v string) *StepSummary { 11728 s.Id = &v 11729 return s 11730} 11731 11732// SetName sets the Name field's value. 11733func (s *StepSummary) SetName(v string) *StepSummary { 11734 s.Name = &v 11735 return s 11736} 11737 11738// SetStatus sets the Status field's value. 11739func (s *StepSummary) SetStatus(v *StepStatus) *StepSummary { 11740 s.Status = v 11741 return s 11742} 11743 11744// The timeline of the cluster step lifecycle. 11745type StepTimeline struct { 11746 _ struct{} `type:"structure"` 11747 11748 // The date and time when the cluster step was created. 11749 CreationDateTime *time.Time `type:"timestamp"` 11750 11751 // The date and time when the cluster step execution completed or failed. 11752 EndDateTime *time.Time `type:"timestamp"` 11753 11754 // The date and time when the cluster step execution started. 11755 StartDateTime *time.Time `type:"timestamp"` 11756} 11757 11758// String returns the string representation 11759func (s StepTimeline) String() string { 11760 return awsutil.Prettify(s) 11761} 11762 11763// GoString returns the string representation 11764func (s StepTimeline) GoString() string { 11765 return s.String() 11766} 11767 11768// SetCreationDateTime sets the CreationDateTime field's value. 11769func (s *StepTimeline) SetCreationDateTime(v time.Time) *StepTimeline { 11770 s.CreationDateTime = &v 11771 return s 11772} 11773 11774// SetEndDateTime sets the EndDateTime field's value. 11775func (s *StepTimeline) SetEndDateTime(v time.Time) *StepTimeline { 11776 s.EndDateTime = &v 11777 return s 11778} 11779 11780// SetStartDateTime sets the StartDateTime field's value. 11781func (s *StepTimeline) SetStartDateTime(v time.Time) *StepTimeline { 11782 s.StartDateTime = &v 11783 return s 11784} 11785 11786// The list of supported product configurations which allow user-supplied arguments. 11787// EMR accepts these arguments and forwards them to the corresponding installation 11788// script as bootstrap action arguments. 11789type SupportedProductConfig struct { 11790 _ struct{} `type:"structure"` 11791 11792 // The list of user-supplied arguments. 11793 Args []*string `type:"list"` 11794 11795 // The name of the product configuration. 11796 Name *string `type:"string"` 11797} 11798 11799// String returns the string representation 11800func (s SupportedProductConfig) String() string { 11801 return awsutil.Prettify(s) 11802} 11803 11804// GoString returns the string representation 11805func (s SupportedProductConfig) GoString() string { 11806 return s.String() 11807} 11808 11809// SetArgs sets the Args field's value. 11810func (s *SupportedProductConfig) SetArgs(v []*string) *SupportedProductConfig { 11811 s.Args = v 11812 return s 11813} 11814 11815// SetName sets the Name field's value. 11816func (s *SupportedProductConfig) SetName(v string) *SupportedProductConfig { 11817 s.Name = &v 11818 return s 11819} 11820 11821// A key/value pair containing user-defined metadata that you can associate 11822// with an Amazon EMR resource. Tags make it easier to associate clusters in 11823// various ways, such as grouping clusters to track your Amazon EMR resource 11824// allocation costs. For more information, see Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 11825type Tag struct { 11826 _ struct{} `type:"structure"` 11827 11828 // A user-defined key, which is the minimum required information for a valid 11829 // tag. For more information, see Tag (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 11830 Key *string `type:"string"` 11831 11832 // A user-defined value, which is optional in a tag. For more information, see 11833 // Tag Clusters (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html). 11834 Value *string `type:"string"` 11835} 11836 11837// String returns the string representation 11838func (s Tag) String() string { 11839 return awsutil.Prettify(s) 11840} 11841 11842// GoString returns the string representation 11843func (s Tag) GoString() string { 11844 return s.String() 11845} 11846 11847// SetKey sets the Key field's value. 11848func (s *Tag) SetKey(v string) *Tag { 11849 s.Key = &v 11850 return s 11851} 11852 11853// SetValue sets the Value field's value. 11854func (s *Tag) SetValue(v string) *Tag { 11855 s.Value = &v 11856 return s 11857} 11858 11859// Input to the TerminateJobFlows operation. 11860type TerminateJobFlowsInput struct { 11861 _ struct{} `type:"structure"` 11862 11863 // A list of job flows to be shutdown. 11864 // 11865 // JobFlowIds is a required field 11866 JobFlowIds []*string `type:"list" required:"true"` 11867} 11868 11869// String returns the string representation 11870func (s TerminateJobFlowsInput) String() string { 11871 return awsutil.Prettify(s) 11872} 11873 11874// GoString returns the string representation 11875func (s TerminateJobFlowsInput) GoString() string { 11876 return s.String() 11877} 11878 11879// Validate inspects the fields of the type to determine if they are valid. 11880func (s *TerminateJobFlowsInput) Validate() error { 11881 invalidParams := request.ErrInvalidParams{Context: "TerminateJobFlowsInput"} 11882 if s.JobFlowIds == nil { 11883 invalidParams.Add(request.NewErrParamRequired("JobFlowIds")) 11884 } 11885 11886 if invalidParams.Len() > 0 { 11887 return invalidParams 11888 } 11889 return nil 11890} 11891 11892// SetJobFlowIds sets the JobFlowIds field's value. 11893func (s *TerminateJobFlowsInput) SetJobFlowIds(v []*string) *TerminateJobFlowsInput { 11894 s.JobFlowIds = v 11895 return s 11896} 11897 11898type TerminateJobFlowsOutput struct { 11899 _ struct{} `type:"structure"` 11900} 11901 11902// String returns the string representation 11903func (s TerminateJobFlowsOutput) String() string { 11904 return awsutil.Prettify(s) 11905} 11906 11907// GoString returns the string representation 11908func (s TerminateJobFlowsOutput) GoString() string { 11909 return s.String() 11910} 11911 11912// EBS volume specifications such as volume type, IOPS, and size (GiB) that 11913// will be requested for the EBS volume attached to an EC2 instance in the cluster. 11914type VolumeSpecification struct { 11915 _ struct{} `type:"structure"` 11916 11917 // The number of I/O operations per second (IOPS) that the volume supports. 11918 Iops *int64 `type:"integer"` 11919 11920 // The volume size, in gibibytes (GiB). This can be a number from 1 - 1024. 11921 // If the volume type is EBS-optimized, the minimum value is 10. 11922 // 11923 // SizeInGB is a required field 11924 SizeInGB *int64 `type:"integer" required:"true"` 11925 11926 // The volume type. Volume types supported are gp2, io1, standard. 11927 // 11928 // VolumeType is a required field 11929 VolumeType *string `type:"string" required:"true"` 11930} 11931 11932// String returns the string representation 11933func (s VolumeSpecification) String() string { 11934 return awsutil.Prettify(s) 11935} 11936 11937// GoString returns the string representation 11938func (s VolumeSpecification) GoString() string { 11939 return s.String() 11940} 11941 11942// Validate inspects the fields of the type to determine if they are valid. 11943func (s *VolumeSpecification) Validate() error { 11944 invalidParams := request.ErrInvalidParams{Context: "VolumeSpecification"} 11945 if s.SizeInGB == nil { 11946 invalidParams.Add(request.NewErrParamRequired("SizeInGB")) 11947 } 11948 if s.VolumeType == nil { 11949 invalidParams.Add(request.NewErrParamRequired("VolumeType")) 11950 } 11951 11952 if invalidParams.Len() > 0 { 11953 return invalidParams 11954 } 11955 return nil 11956} 11957 11958// SetIops sets the Iops field's value. 11959func (s *VolumeSpecification) SetIops(v int64) *VolumeSpecification { 11960 s.Iops = &v 11961 return s 11962} 11963 11964// SetSizeInGB sets the SizeInGB field's value. 11965func (s *VolumeSpecification) SetSizeInGB(v int64) *VolumeSpecification { 11966 s.SizeInGB = &v 11967 return s 11968} 11969 11970// SetVolumeType sets the VolumeType field's value. 11971func (s *VolumeSpecification) SetVolumeType(v string) *VolumeSpecification { 11972 s.VolumeType = &v 11973 return s 11974} 11975 11976const ( 11977 // ActionOnFailureTerminateJobFlow is a ActionOnFailure enum value 11978 ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW" 11979 11980 // ActionOnFailureTerminateCluster is a ActionOnFailure enum value 11981 ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER" 11982 11983 // ActionOnFailureCancelAndWait is a ActionOnFailure enum value 11984 ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT" 11985 11986 // ActionOnFailureContinue is a ActionOnFailure enum value 11987 ActionOnFailureContinue = "CONTINUE" 11988) 11989 11990const ( 11991 // AdjustmentTypeChangeInCapacity is a AdjustmentType enum value 11992 AdjustmentTypeChangeInCapacity = "CHANGE_IN_CAPACITY" 11993 11994 // AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value 11995 AdjustmentTypePercentChangeInCapacity = "PERCENT_CHANGE_IN_CAPACITY" 11996 11997 // AdjustmentTypeExactCapacity is a AdjustmentType enum value 11998 AdjustmentTypeExactCapacity = "EXACT_CAPACITY" 11999) 12000 12001const ( 12002 // AutoScalingPolicyStatePending is a AutoScalingPolicyState enum value 12003 AutoScalingPolicyStatePending = "PENDING" 12004 12005 // AutoScalingPolicyStateAttaching is a AutoScalingPolicyState enum value 12006 AutoScalingPolicyStateAttaching = "ATTACHING" 12007 12008 // AutoScalingPolicyStateAttached is a AutoScalingPolicyState enum value 12009 AutoScalingPolicyStateAttached = "ATTACHED" 12010 12011 // AutoScalingPolicyStateDetaching is a AutoScalingPolicyState enum value 12012 AutoScalingPolicyStateDetaching = "DETACHING" 12013 12014 // AutoScalingPolicyStateDetached is a AutoScalingPolicyState enum value 12015 AutoScalingPolicyStateDetached = "DETACHED" 12016 12017 // AutoScalingPolicyStateFailed is a AutoScalingPolicyState enum value 12018 AutoScalingPolicyStateFailed = "FAILED" 12019) 12020 12021const ( 12022 // AutoScalingPolicyStateChangeReasonCodeUserRequest is a AutoScalingPolicyStateChangeReasonCode enum value 12023 AutoScalingPolicyStateChangeReasonCodeUserRequest = "USER_REQUEST" 12024 12025 // AutoScalingPolicyStateChangeReasonCodeProvisionFailure is a AutoScalingPolicyStateChangeReasonCode enum value 12026 AutoScalingPolicyStateChangeReasonCodeProvisionFailure = "PROVISION_FAILURE" 12027 12028 // AutoScalingPolicyStateChangeReasonCodeCleanupFailure is a AutoScalingPolicyStateChangeReasonCode enum value 12029 AutoScalingPolicyStateChangeReasonCodeCleanupFailure = "CLEANUP_FAILURE" 12030) 12031 12032const ( 12033 // CancelStepsRequestStatusSubmitted is a CancelStepsRequestStatus enum value 12034 CancelStepsRequestStatusSubmitted = "SUBMITTED" 12035 12036 // CancelStepsRequestStatusFailed is a CancelStepsRequestStatus enum value 12037 CancelStepsRequestStatusFailed = "FAILED" 12038) 12039 12040const ( 12041 // ClusterStateStarting is a ClusterState enum value 12042 ClusterStateStarting = "STARTING" 12043 12044 // ClusterStateBootstrapping is a ClusterState enum value 12045 ClusterStateBootstrapping = "BOOTSTRAPPING" 12046 12047 // ClusterStateRunning is a ClusterState enum value 12048 ClusterStateRunning = "RUNNING" 12049 12050 // ClusterStateWaiting is a ClusterState enum value 12051 ClusterStateWaiting = "WAITING" 12052 12053 // ClusterStateTerminating is a ClusterState enum value 12054 ClusterStateTerminating = "TERMINATING" 12055 12056 // ClusterStateTerminated is a ClusterState enum value 12057 ClusterStateTerminated = "TERMINATED" 12058 12059 // ClusterStateTerminatedWithErrors is a ClusterState enum value 12060 ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS" 12061) 12062 12063const ( 12064 // ClusterStateChangeReasonCodeInternalError is a ClusterStateChangeReasonCode enum value 12065 ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 12066 12067 // ClusterStateChangeReasonCodeValidationError is a ClusterStateChangeReasonCode enum value 12068 ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 12069 12070 // ClusterStateChangeReasonCodeInstanceFailure is a ClusterStateChangeReasonCode enum value 12071 ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 12072 12073 // ClusterStateChangeReasonCodeInstanceFleetTimeout is a ClusterStateChangeReasonCode enum value 12074 ClusterStateChangeReasonCodeInstanceFleetTimeout = "INSTANCE_FLEET_TIMEOUT" 12075 12076 // ClusterStateChangeReasonCodeBootstrapFailure is a ClusterStateChangeReasonCode enum value 12077 ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 12078 12079 // ClusterStateChangeReasonCodeUserRequest is a ClusterStateChangeReasonCode enum value 12080 ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST" 12081 12082 // ClusterStateChangeReasonCodeStepFailure is a ClusterStateChangeReasonCode enum value 12083 ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE" 12084 12085 // ClusterStateChangeReasonCodeAllStepsCompleted is a ClusterStateChangeReasonCode enum value 12086 ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED" 12087) 12088 12089const ( 12090 // ComparisonOperatorGreaterThanOrEqual is a ComparisonOperator enum value 12091 ComparisonOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL" 12092 12093 // ComparisonOperatorGreaterThan is a ComparisonOperator enum value 12094 ComparisonOperatorGreaterThan = "GREATER_THAN" 12095 12096 // ComparisonOperatorLessThan is a ComparisonOperator enum value 12097 ComparisonOperatorLessThan = "LESS_THAN" 12098 12099 // ComparisonOperatorLessThanOrEqual is a ComparisonOperator enum value 12100 ComparisonOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL" 12101) 12102 12103const ( 12104 // ComputeLimitsUnitTypeInstanceFleetUnits is a ComputeLimitsUnitType enum value 12105 ComputeLimitsUnitTypeInstanceFleetUnits = "InstanceFleetUnits" 12106 12107 // ComputeLimitsUnitTypeInstances is a ComputeLimitsUnitType enum value 12108 ComputeLimitsUnitTypeInstances = "Instances" 12109 12110 // ComputeLimitsUnitTypeVcpu is a ComputeLimitsUnitType enum value 12111 ComputeLimitsUnitTypeVcpu = "VCPU" 12112) 12113 12114const ( 12115 // InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value 12116 InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET" 12117 12118 // InstanceCollectionTypeInstanceGroup is a InstanceCollectionType enum value 12119 InstanceCollectionTypeInstanceGroup = "INSTANCE_GROUP" 12120) 12121 12122const ( 12123 // InstanceFleetStateProvisioning is a InstanceFleetState enum value 12124 InstanceFleetStateProvisioning = "PROVISIONING" 12125 12126 // InstanceFleetStateBootstrapping is a InstanceFleetState enum value 12127 InstanceFleetStateBootstrapping = "BOOTSTRAPPING" 12128 12129 // InstanceFleetStateRunning is a InstanceFleetState enum value 12130 InstanceFleetStateRunning = "RUNNING" 12131 12132 // InstanceFleetStateResizing is a InstanceFleetState enum value 12133 InstanceFleetStateResizing = "RESIZING" 12134 12135 // InstanceFleetStateSuspended is a InstanceFleetState enum value 12136 InstanceFleetStateSuspended = "SUSPENDED" 12137 12138 // InstanceFleetStateTerminating is a InstanceFleetState enum value 12139 InstanceFleetStateTerminating = "TERMINATING" 12140 12141 // InstanceFleetStateTerminated is a InstanceFleetState enum value 12142 InstanceFleetStateTerminated = "TERMINATED" 12143) 12144 12145const ( 12146 // InstanceFleetStateChangeReasonCodeInternalError is a InstanceFleetStateChangeReasonCode enum value 12147 InstanceFleetStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 12148 12149 // InstanceFleetStateChangeReasonCodeValidationError is a InstanceFleetStateChangeReasonCode enum value 12150 InstanceFleetStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 12151 12152 // InstanceFleetStateChangeReasonCodeInstanceFailure is a InstanceFleetStateChangeReasonCode enum value 12153 InstanceFleetStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 12154 12155 // InstanceFleetStateChangeReasonCodeClusterTerminated is a InstanceFleetStateChangeReasonCode enum value 12156 InstanceFleetStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 12157) 12158 12159const ( 12160 // InstanceFleetTypeMaster is a InstanceFleetType enum value 12161 InstanceFleetTypeMaster = "MASTER" 12162 12163 // InstanceFleetTypeCore is a InstanceFleetType enum value 12164 InstanceFleetTypeCore = "CORE" 12165 12166 // InstanceFleetTypeTask is a InstanceFleetType enum value 12167 InstanceFleetTypeTask = "TASK" 12168) 12169 12170const ( 12171 // InstanceGroupStateProvisioning is a InstanceGroupState enum value 12172 InstanceGroupStateProvisioning = "PROVISIONING" 12173 12174 // InstanceGroupStateBootstrapping is a InstanceGroupState enum value 12175 InstanceGroupStateBootstrapping = "BOOTSTRAPPING" 12176 12177 // InstanceGroupStateRunning is a InstanceGroupState enum value 12178 InstanceGroupStateRunning = "RUNNING" 12179 12180 // InstanceGroupStateReconfiguring is a InstanceGroupState enum value 12181 InstanceGroupStateReconfiguring = "RECONFIGURING" 12182 12183 // InstanceGroupStateResizing is a InstanceGroupState enum value 12184 InstanceGroupStateResizing = "RESIZING" 12185 12186 // InstanceGroupStateSuspended is a InstanceGroupState enum value 12187 InstanceGroupStateSuspended = "SUSPENDED" 12188 12189 // InstanceGroupStateTerminating is a InstanceGroupState enum value 12190 InstanceGroupStateTerminating = "TERMINATING" 12191 12192 // InstanceGroupStateTerminated is a InstanceGroupState enum value 12193 InstanceGroupStateTerminated = "TERMINATED" 12194 12195 // InstanceGroupStateArrested is a InstanceGroupState enum value 12196 InstanceGroupStateArrested = "ARRESTED" 12197 12198 // InstanceGroupStateShuttingDown is a InstanceGroupState enum value 12199 InstanceGroupStateShuttingDown = "SHUTTING_DOWN" 12200 12201 // InstanceGroupStateEnded is a InstanceGroupState enum value 12202 InstanceGroupStateEnded = "ENDED" 12203) 12204 12205const ( 12206 // InstanceGroupStateChangeReasonCodeInternalError is a InstanceGroupStateChangeReasonCode enum value 12207 InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 12208 12209 // InstanceGroupStateChangeReasonCodeValidationError is a InstanceGroupStateChangeReasonCode enum value 12210 InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 12211 12212 // InstanceGroupStateChangeReasonCodeInstanceFailure is a InstanceGroupStateChangeReasonCode enum value 12213 InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 12214 12215 // InstanceGroupStateChangeReasonCodeClusterTerminated is a InstanceGroupStateChangeReasonCode enum value 12216 InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 12217) 12218 12219const ( 12220 // InstanceGroupTypeMaster is a InstanceGroupType enum value 12221 InstanceGroupTypeMaster = "MASTER" 12222 12223 // InstanceGroupTypeCore is a InstanceGroupType enum value 12224 InstanceGroupTypeCore = "CORE" 12225 12226 // InstanceGroupTypeTask is a InstanceGroupType enum value 12227 InstanceGroupTypeTask = "TASK" 12228) 12229 12230const ( 12231 // InstanceRoleTypeMaster is a InstanceRoleType enum value 12232 InstanceRoleTypeMaster = "MASTER" 12233 12234 // InstanceRoleTypeCore is a InstanceRoleType enum value 12235 InstanceRoleTypeCore = "CORE" 12236 12237 // InstanceRoleTypeTask is a InstanceRoleType enum value 12238 InstanceRoleTypeTask = "TASK" 12239) 12240 12241const ( 12242 // InstanceStateAwaitingFulfillment is a InstanceState enum value 12243 InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT" 12244 12245 // InstanceStateProvisioning is a InstanceState enum value 12246 InstanceStateProvisioning = "PROVISIONING" 12247 12248 // InstanceStateBootstrapping is a InstanceState enum value 12249 InstanceStateBootstrapping = "BOOTSTRAPPING" 12250 12251 // InstanceStateRunning is a InstanceState enum value 12252 InstanceStateRunning = "RUNNING" 12253 12254 // InstanceStateTerminated is a InstanceState enum value 12255 InstanceStateTerminated = "TERMINATED" 12256) 12257 12258const ( 12259 // InstanceStateChangeReasonCodeInternalError is a InstanceStateChangeReasonCode enum value 12260 InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR" 12261 12262 // InstanceStateChangeReasonCodeValidationError is a InstanceStateChangeReasonCode enum value 12263 InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR" 12264 12265 // InstanceStateChangeReasonCodeInstanceFailure is a InstanceStateChangeReasonCode enum value 12266 InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE" 12267 12268 // InstanceStateChangeReasonCodeBootstrapFailure is a InstanceStateChangeReasonCode enum value 12269 InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE" 12270 12271 // InstanceStateChangeReasonCodeClusterTerminated is a InstanceStateChangeReasonCode enum value 12272 InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED" 12273) 12274 12275// The type of instance. 12276const ( 12277 // JobFlowExecutionStateStarting is a JobFlowExecutionState enum value 12278 JobFlowExecutionStateStarting = "STARTING" 12279 12280 // JobFlowExecutionStateBootstrapping is a JobFlowExecutionState enum value 12281 JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING" 12282 12283 // JobFlowExecutionStateRunning is a JobFlowExecutionState enum value 12284 JobFlowExecutionStateRunning = "RUNNING" 12285 12286 // JobFlowExecutionStateWaiting is a JobFlowExecutionState enum value 12287 JobFlowExecutionStateWaiting = "WAITING" 12288 12289 // JobFlowExecutionStateShuttingDown is a JobFlowExecutionState enum value 12290 JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN" 12291 12292 // JobFlowExecutionStateTerminated is a JobFlowExecutionState enum value 12293 JobFlowExecutionStateTerminated = "TERMINATED" 12294 12295 // JobFlowExecutionStateCompleted is a JobFlowExecutionState enum value 12296 JobFlowExecutionStateCompleted = "COMPLETED" 12297 12298 // JobFlowExecutionStateFailed is a JobFlowExecutionState enum value 12299 JobFlowExecutionStateFailed = "FAILED" 12300) 12301 12302const ( 12303 // MarketTypeOnDemand is a MarketType enum value 12304 MarketTypeOnDemand = "ON_DEMAND" 12305 12306 // MarketTypeSpot is a MarketType enum value 12307 MarketTypeSpot = "SPOT" 12308) 12309 12310const ( 12311 // OnDemandProvisioningAllocationStrategyLowestPrice is a OnDemandProvisioningAllocationStrategy enum value 12312 OnDemandProvisioningAllocationStrategyLowestPrice = "lowest-price" 12313) 12314 12315const ( 12316 // RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value 12317 RepoUpgradeOnBootSecurity = "SECURITY" 12318 12319 // RepoUpgradeOnBootNone is a RepoUpgradeOnBoot enum value 12320 RepoUpgradeOnBootNone = "NONE" 12321) 12322 12323const ( 12324 // ScaleDownBehaviorTerminateAtInstanceHour is a ScaleDownBehavior enum value 12325 ScaleDownBehaviorTerminateAtInstanceHour = "TERMINATE_AT_INSTANCE_HOUR" 12326 12327 // ScaleDownBehaviorTerminateAtTaskCompletion is a ScaleDownBehavior enum value 12328 ScaleDownBehaviorTerminateAtTaskCompletion = "TERMINATE_AT_TASK_COMPLETION" 12329) 12330 12331const ( 12332 // SpotProvisioningAllocationStrategyCapacityOptimized is a SpotProvisioningAllocationStrategy enum value 12333 SpotProvisioningAllocationStrategyCapacityOptimized = "capacity-optimized" 12334) 12335 12336const ( 12337 // SpotProvisioningTimeoutActionSwitchToOnDemand is a SpotProvisioningTimeoutAction enum value 12338 SpotProvisioningTimeoutActionSwitchToOnDemand = "SWITCH_TO_ON_DEMAND" 12339 12340 // SpotProvisioningTimeoutActionTerminateCluster is a SpotProvisioningTimeoutAction enum value 12341 SpotProvisioningTimeoutActionTerminateCluster = "TERMINATE_CLUSTER" 12342) 12343 12344const ( 12345 // StatisticSampleCount is a Statistic enum value 12346 StatisticSampleCount = "SAMPLE_COUNT" 12347 12348 // StatisticAverage is a Statistic enum value 12349 StatisticAverage = "AVERAGE" 12350 12351 // StatisticSum is a Statistic enum value 12352 StatisticSum = "SUM" 12353 12354 // StatisticMinimum is a Statistic enum value 12355 StatisticMinimum = "MINIMUM" 12356 12357 // StatisticMaximum is a Statistic enum value 12358 StatisticMaximum = "MAXIMUM" 12359) 12360 12361const ( 12362 // StepCancellationOptionSendInterrupt is a StepCancellationOption enum value 12363 StepCancellationOptionSendInterrupt = "SEND_INTERRUPT" 12364 12365 // StepCancellationOptionTerminateProcess is a StepCancellationOption enum value 12366 StepCancellationOptionTerminateProcess = "TERMINATE_PROCESS" 12367) 12368 12369const ( 12370 // StepExecutionStatePending is a StepExecutionState enum value 12371 StepExecutionStatePending = "PENDING" 12372 12373 // StepExecutionStateRunning is a StepExecutionState enum value 12374 StepExecutionStateRunning = "RUNNING" 12375 12376 // StepExecutionStateContinue is a StepExecutionState enum value 12377 StepExecutionStateContinue = "CONTINUE" 12378 12379 // StepExecutionStateCompleted is a StepExecutionState enum value 12380 StepExecutionStateCompleted = "COMPLETED" 12381 12382 // StepExecutionStateCancelled is a StepExecutionState enum value 12383 StepExecutionStateCancelled = "CANCELLED" 12384 12385 // StepExecutionStateFailed is a StepExecutionState enum value 12386 StepExecutionStateFailed = "FAILED" 12387 12388 // StepExecutionStateInterrupted is a StepExecutionState enum value 12389 StepExecutionStateInterrupted = "INTERRUPTED" 12390) 12391 12392const ( 12393 // StepStatePending is a StepState enum value 12394 StepStatePending = "PENDING" 12395 12396 // StepStateCancelPending is a StepState enum value 12397 StepStateCancelPending = "CANCEL_PENDING" 12398 12399 // StepStateRunning is a StepState enum value 12400 StepStateRunning = "RUNNING" 12401 12402 // StepStateCompleted is a StepState enum value 12403 StepStateCompleted = "COMPLETED" 12404 12405 // StepStateCancelled is a StepState enum value 12406 StepStateCancelled = "CANCELLED" 12407 12408 // StepStateFailed is a StepState enum value 12409 StepStateFailed = "FAILED" 12410 12411 // StepStateInterrupted is a StepState enum value 12412 StepStateInterrupted = "INTERRUPTED" 12413) 12414 12415const ( 12416 // StepStateChangeReasonCodeNone is a StepStateChangeReasonCode enum value 12417 StepStateChangeReasonCodeNone = "NONE" 12418) 12419 12420const ( 12421 // UnitNone is a Unit enum value 12422 UnitNone = "NONE" 12423 12424 // UnitSeconds is a Unit enum value 12425 UnitSeconds = "SECONDS" 12426 12427 // UnitMicroSeconds is a Unit enum value 12428 UnitMicroSeconds = "MICRO_SECONDS" 12429 12430 // UnitMilliSeconds is a Unit enum value 12431 UnitMilliSeconds = "MILLI_SECONDS" 12432 12433 // UnitBytes is a Unit enum value 12434 UnitBytes = "BYTES" 12435 12436 // UnitKiloBytes is a Unit enum value 12437 UnitKiloBytes = "KILO_BYTES" 12438 12439 // UnitMegaBytes is a Unit enum value 12440 UnitMegaBytes = "MEGA_BYTES" 12441 12442 // UnitGigaBytes is a Unit enum value 12443 UnitGigaBytes = "GIGA_BYTES" 12444 12445 // UnitTeraBytes is a Unit enum value 12446 UnitTeraBytes = "TERA_BYTES" 12447 12448 // UnitBits is a Unit enum value 12449 UnitBits = "BITS" 12450 12451 // UnitKiloBits is a Unit enum value 12452 UnitKiloBits = "KILO_BITS" 12453 12454 // UnitMegaBits is a Unit enum value 12455 UnitMegaBits = "MEGA_BITS" 12456 12457 // UnitGigaBits is a Unit enum value 12458 UnitGigaBits = "GIGA_BITS" 12459 12460 // UnitTeraBits is a Unit enum value 12461 UnitTeraBits = "TERA_BITS" 12462 12463 // UnitPercent is a Unit enum value 12464 UnitPercent = "PERCENT" 12465 12466 // UnitCount is a Unit enum value 12467 UnitCount = "COUNT" 12468 12469 // UnitBytesPerSecond is a Unit enum value 12470 UnitBytesPerSecond = "BYTES_PER_SECOND" 12471 12472 // UnitKiloBytesPerSecond is a Unit enum value 12473 UnitKiloBytesPerSecond = "KILO_BYTES_PER_SECOND" 12474 12475 // UnitMegaBytesPerSecond is a Unit enum value 12476 UnitMegaBytesPerSecond = "MEGA_BYTES_PER_SECOND" 12477 12478 // UnitGigaBytesPerSecond is a Unit enum value 12479 UnitGigaBytesPerSecond = "GIGA_BYTES_PER_SECOND" 12480 12481 // UnitTeraBytesPerSecond is a Unit enum value 12482 UnitTeraBytesPerSecond = "TERA_BYTES_PER_SECOND" 12483 12484 // UnitBitsPerSecond is a Unit enum value 12485 UnitBitsPerSecond = "BITS_PER_SECOND" 12486 12487 // UnitKiloBitsPerSecond is a Unit enum value 12488 UnitKiloBitsPerSecond = "KILO_BITS_PER_SECOND" 12489 12490 // UnitMegaBitsPerSecond is a Unit enum value 12491 UnitMegaBitsPerSecond = "MEGA_BITS_PER_SECOND" 12492 12493 // UnitGigaBitsPerSecond is a Unit enum value 12494 UnitGigaBitsPerSecond = "GIGA_BITS_PER_SECOND" 12495 12496 // UnitTeraBitsPerSecond is a Unit enum value 12497 UnitTeraBitsPerSecond = "TERA_BITS_PER_SECOND" 12498 12499 // UnitCountPerSecond is a Unit enum value 12500 UnitCountPerSecond = "COUNT_PER_SECOND" 12501) 12502