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