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