10747 lines
357 KiB
Go
10747 lines
357 KiB
Go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
|
|
|
package emr
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/aws/awsutil"
|
|
"github.com/aws/aws-sdk-go/aws/request"
|
|
"github.com/aws/aws-sdk-go/private/protocol"
|
|
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
|
|
)
|
|
|
|
const opAddInstanceFleet = "AddInstanceFleet"
|
|
|
|
// AddInstanceFleetRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AddInstanceFleet operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AddInstanceFleet for more information on using the AddInstanceFleet
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AddInstanceFleetRequest method.
|
|
// req, resp := client.AddInstanceFleetRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet
|
|
func (c *EMR) AddInstanceFleetRequest(input *AddInstanceFleetInput) (req *request.Request, output *AddInstanceFleetOutput) {
|
|
op := &request.Operation{
|
|
Name: opAddInstanceFleet,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AddInstanceFleetInput{}
|
|
}
|
|
|
|
output = &AddInstanceFleetOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// AddInstanceFleet API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Adds an instance fleet to a running cluster.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation AddInstanceFleet for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet
|
|
func (c *EMR) AddInstanceFleet(input *AddInstanceFleetInput) (*AddInstanceFleetOutput, error) {
|
|
req, out := c.AddInstanceFleetRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AddInstanceFleetWithContext is the same as AddInstanceFleet with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AddInstanceFleet for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) AddInstanceFleetWithContext(ctx aws.Context, input *AddInstanceFleetInput, opts ...request.Option) (*AddInstanceFleetOutput, error) {
|
|
req, out := c.AddInstanceFleetRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opAddInstanceGroups = "AddInstanceGroups"
|
|
|
|
// AddInstanceGroupsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AddInstanceGroups operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AddInstanceGroups for more information on using the AddInstanceGroups
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AddInstanceGroupsRequest method.
|
|
// req, resp := client.AddInstanceGroupsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups
|
|
func (c *EMR) AddInstanceGroupsRequest(input *AddInstanceGroupsInput) (req *request.Request, output *AddInstanceGroupsOutput) {
|
|
op := &request.Operation{
|
|
Name: opAddInstanceGroups,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AddInstanceGroupsInput{}
|
|
}
|
|
|
|
output = &AddInstanceGroupsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// AddInstanceGroups API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Adds one or more instance groups to a running cluster.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation AddInstanceGroups for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups
|
|
func (c *EMR) AddInstanceGroups(input *AddInstanceGroupsInput) (*AddInstanceGroupsOutput, error) {
|
|
req, out := c.AddInstanceGroupsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AddInstanceGroupsWithContext is the same as AddInstanceGroups with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AddInstanceGroups for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) AddInstanceGroupsWithContext(ctx aws.Context, input *AddInstanceGroupsInput, opts ...request.Option) (*AddInstanceGroupsOutput, error) {
|
|
req, out := c.AddInstanceGroupsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opAddJobFlowSteps = "AddJobFlowSteps"
|
|
|
|
// AddJobFlowStepsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AddJobFlowSteps operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AddJobFlowSteps for more information on using the AddJobFlowSteps
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AddJobFlowStepsRequest method.
|
|
// req, resp := client.AddJobFlowStepsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps
|
|
func (c *EMR) AddJobFlowStepsRequest(input *AddJobFlowStepsInput) (req *request.Request, output *AddJobFlowStepsOutput) {
|
|
op := &request.Operation{
|
|
Name: opAddJobFlowSteps,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AddJobFlowStepsInput{}
|
|
}
|
|
|
|
output = &AddJobFlowStepsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// AddJobFlowSteps API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps
|
|
// are allowed in each job flow.
|
|
//
|
|
// If your cluster is long-running (such as a Hive data warehouse) or complex,
|
|
// you may require more than 256 steps to process your data. You can bypass
|
|
// the 256-step limitation in various ways, including using SSH to connect to
|
|
// the master node and submitting queries directly to the software running on
|
|
// the master node, such as Hive and Hadoop. For more information on how to
|
|
// do this, see Add More than 256 Steps to a Cluster (http://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html)
|
|
// in the Amazon EMR Management Guide.
|
|
//
|
|
// A step specifies the location of a JAR file stored either on the master node
|
|
// of the cluster or in Amazon S3. Each step is performed by the main function
|
|
// of the main class of the JAR file. The main class can be specified either
|
|
// in the manifest of the JAR or by using the MainFunction parameter of the
|
|
// step.
|
|
//
|
|
// Amazon EMR executes each step in the order listed. For a step to be considered
|
|
// complete, the main function must exit with a zero exit code and all Hadoop
|
|
// jobs started while the step was running must have completed and run successfully.
|
|
//
|
|
// You can only add steps to a cluster that is in one of the following states:
|
|
// STARTING, BOOTSTRAPPING, RUNNING, or WAITING.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation AddJobFlowSteps for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps
|
|
func (c *EMR) AddJobFlowSteps(input *AddJobFlowStepsInput) (*AddJobFlowStepsOutput, error) {
|
|
req, out := c.AddJobFlowStepsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AddJobFlowStepsWithContext is the same as AddJobFlowSteps with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AddJobFlowSteps for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) AddJobFlowStepsWithContext(ctx aws.Context, input *AddJobFlowStepsInput, opts ...request.Option) (*AddJobFlowStepsOutput, error) {
|
|
req, out := c.AddJobFlowStepsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opAddTags = "AddTags"
|
|
|
|
// AddTagsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AddTags operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AddTags for more information on using the AddTags
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AddTagsRequest method.
|
|
// req, resp := client.AddTagsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags
|
|
func (c *EMR) AddTagsRequest(input *AddTagsInput) (req *request.Request, output *AddTagsOutput) {
|
|
op := &request.Operation{
|
|
Name: opAddTags,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AddTagsInput{}
|
|
}
|
|
|
|
output = &AddTagsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// AddTags API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Adds tags to an Amazon EMR resource. Tags make it easier to associate clusters
|
|
// in various ways, such as grouping clusters to track your Amazon EMR resource
|
|
// allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation AddTags for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags
|
|
func (c *EMR) AddTags(input *AddTagsInput) (*AddTagsOutput, error) {
|
|
req, out := c.AddTagsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AddTagsWithContext is the same as AddTags with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AddTags for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) AddTagsWithContext(ctx aws.Context, input *AddTagsInput, opts ...request.Option) (*AddTagsOutput, error) {
|
|
req, out := c.AddTagsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opCancelSteps = "CancelSteps"
|
|
|
|
// CancelStepsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the CancelSteps operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See CancelSteps for more information on using the CancelSteps
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the CancelStepsRequest method.
|
|
// req, resp := client.CancelStepsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps
|
|
func (c *EMR) CancelStepsRequest(input *CancelStepsInput) (req *request.Request, output *CancelStepsOutput) {
|
|
op := &request.Operation{
|
|
Name: opCancelSteps,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &CancelStepsInput{}
|
|
}
|
|
|
|
output = &CancelStepsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// CancelSteps API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Cancels a pending step or steps in a running cluster. Available only in Amazon
|
|
// EMR versions 4.8.0 and later, excluding version 5.0.0. A maximum of 256 steps
|
|
// are allowed in each CancelSteps request. CancelSteps is idempotent but asynchronous;
|
|
// it does not guarantee a step will be canceled, even if the request is successfully
|
|
// submitted. You can only cancel steps that are in a PENDING state.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation CancelSteps for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps
|
|
func (c *EMR) CancelSteps(input *CancelStepsInput) (*CancelStepsOutput, error) {
|
|
req, out := c.CancelStepsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// CancelStepsWithContext is the same as CancelSteps with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See CancelSteps for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) CancelStepsWithContext(ctx aws.Context, input *CancelStepsInput, opts ...request.Option) (*CancelStepsOutput, error) {
|
|
req, out := c.CancelStepsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opCreateSecurityConfiguration = "CreateSecurityConfiguration"
|
|
|
|
// CreateSecurityConfigurationRequest generates a "aws/request.Request" representing the
|
|
// client's request for the CreateSecurityConfiguration operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See CreateSecurityConfiguration for more information on using the CreateSecurityConfiguration
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the CreateSecurityConfigurationRequest method.
|
|
// req, resp := client.CreateSecurityConfigurationRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration
|
|
func (c *EMR) CreateSecurityConfigurationRequest(input *CreateSecurityConfigurationInput) (req *request.Request, output *CreateSecurityConfigurationOutput) {
|
|
op := &request.Operation{
|
|
Name: opCreateSecurityConfiguration,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &CreateSecurityConfigurationInput{}
|
|
}
|
|
|
|
output = &CreateSecurityConfigurationOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// CreateSecurityConfiguration API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Creates a security configuration, which is stored in the service and can
|
|
// be specified when a cluster is created.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation CreateSecurityConfiguration for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration
|
|
func (c *EMR) CreateSecurityConfiguration(input *CreateSecurityConfigurationInput) (*CreateSecurityConfigurationOutput, error) {
|
|
req, out := c.CreateSecurityConfigurationRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// CreateSecurityConfigurationWithContext is the same as CreateSecurityConfiguration with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See CreateSecurityConfiguration for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) CreateSecurityConfigurationWithContext(ctx aws.Context, input *CreateSecurityConfigurationInput, opts ...request.Option) (*CreateSecurityConfigurationOutput, error) {
|
|
req, out := c.CreateSecurityConfigurationRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDeleteSecurityConfiguration = "DeleteSecurityConfiguration"
|
|
|
|
// DeleteSecurityConfigurationRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DeleteSecurityConfiguration operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DeleteSecurityConfiguration for more information on using the DeleteSecurityConfiguration
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DeleteSecurityConfigurationRequest method.
|
|
// req, resp := client.DeleteSecurityConfigurationRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration
|
|
func (c *EMR) DeleteSecurityConfigurationRequest(input *DeleteSecurityConfigurationInput) (req *request.Request, output *DeleteSecurityConfigurationOutput) {
|
|
op := &request.Operation{
|
|
Name: opDeleteSecurityConfiguration,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DeleteSecurityConfigurationInput{}
|
|
}
|
|
|
|
output = &DeleteSecurityConfigurationOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DeleteSecurityConfiguration API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Deletes a security configuration.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation DeleteSecurityConfiguration for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration
|
|
func (c *EMR) DeleteSecurityConfiguration(input *DeleteSecurityConfigurationInput) (*DeleteSecurityConfigurationOutput, error) {
|
|
req, out := c.DeleteSecurityConfigurationRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DeleteSecurityConfigurationWithContext is the same as DeleteSecurityConfiguration with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DeleteSecurityConfiguration for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) DeleteSecurityConfigurationWithContext(ctx aws.Context, input *DeleteSecurityConfigurationInput, opts ...request.Option) (*DeleteSecurityConfigurationOutput, error) {
|
|
req, out := c.DeleteSecurityConfigurationRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDescribeCluster = "DescribeCluster"
|
|
|
|
// DescribeClusterRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DescribeCluster operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DescribeCluster for more information on using the DescribeCluster
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DescribeClusterRequest method.
|
|
// req, resp := client.DescribeClusterRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster
|
|
func (c *EMR) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
|
|
op := &request.Operation{
|
|
Name: opDescribeCluster,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DescribeClusterInput{}
|
|
}
|
|
|
|
output = &DescribeClusterOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DescribeCluster API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides cluster-level details including status, hardware and software configuration,
|
|
// VPC settings, and so on. For information about the cluster steps, see ListSteps.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation DescribeCluster for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster
|
|
func (c *EMR) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
|
|
req, out := c.DescribeClusterRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DescribeClusterWithContext is the same as DescribeCluster with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DescribeCluster for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
|
|
req, out := c.DescribeClusterRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDescribeJobFlows = "DescribeJobFlows"
|
|
|
|
// DescribeJobFlowsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DescribeJobFlows operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DescribeJobFlows for more information on using the DescribeJobFlows
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DescribeJobFlowsRequest method.
|
|
// req, resp := client.DescribeJobFlowsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows
|
|
func (c *EMR) DescribeJobFlowsRequest(input *DescribeJobFlowsInput) (req *request.Request, output *DescribeJobFlowsOutput) {
|
|
if c.Client.Config.Logger != nil {
|
|
c.Client.Config.Logger.Log("This operation, DescribeJobFlows, has been deprecated")
|
|
}
|
|
op := &request.Operation{
|
|
Name: opDescribeJobFlows,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DescribeJobFlowsInput{}
|
|
}
|
|
|
|
output = &DescribeJobFlowsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DescribeJobFlows API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// This API is deprecated and will eventually be removed. We recommend you use
|
|
// ListClusters, DescribeCluster, ListSteps, ListInstanceGroups and ListBootstrapActions
|
|
// instead.
|
|
//
|
|
// DescribeJobFlows returns a list of job flows that match all of the supplied
|
|
// parameters. The parameters can include a list of job flow IDs, job flow states,
|
|
// and restrictions on job flow creation date and time.
|
|
//
|
|
// Regardless of supplied parameters, only job flows created within the last
|
|
// two months are returned.
|
|
//
|
|
// If no parameters are supplied, then job flows matching either of the following
|
|
// criteria are returned:
|
|
//
|
|
// * Job flows created and completed in the last two weeks
|
|
//
|
|
// * Job flows created within the last two months that are in one of the
|
|
// following states: RUNNING, WAITING, SHUTTING_DOWN, STARTING
|
|
//
|
|
// Amazon EMR can return a maximum of 512 job flow descriptions.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation DescribeJobFlows for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows
|
|
func (c *EMR) DescribeJobFlows(input *DescribeJobFlowsInput) (*DescribeJobFlowsOutput, error) {
|
|
req, out := c.DescribeJobFlowsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DescribeJobFlowsWithContext is the same as DescribeJobFlows with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DescribeJobFlows for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) DescribeJobFlowsWithContext(ctx aws.Context, input *DescribeJobFlowsInput, opts ...request.Option) (*DescribeJobFlowsOutput, error) {
|
|
req, out := c.DescribeJobFlowsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDescribeSecurityConfiguration = "DescribeSecurityConfiguration"
|
|
|
|
// DescribeSecurityConfigurationRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DescribeSecurityConfiguration operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DescribeSecurityConfiguration for more information on using the DescribeSecurityConfiguration
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DescribeSecurityConfigurationRequest method.
|
|
// req, resp := client.DescribeSecurityConfigurationRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration
|
|
func (c *EMR) DescribeSecurityConfigurationRequest(input *DescribeSecurityConfigurationInput) (req *request.Request, output *DescribeSecurityConfigurationOutput) {
|
|
op := &request.Operation{
|
|
Name: opDescribeSecurityConfiguration,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DescribeSecurityConfigurationInput{}
|
|
}
|
|
|
|
output = &DescribeSecurityConfigurationOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DescribeSecurityConfiguration API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides the details of a security configuration by returning the configuration
|
|
// JSON.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation DescribeSecurityConfiguration for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration
|
|
func (c *EMR) DescribeSecurityConfiguration(input *DescribeSecurityConfigurationInput) (*DescribeSecurityConfigurationOutput, error) {
|
|
req, out := c.DescribeSecurityConfigurationRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DescribeSecurityConfigurationWithContext is the same as DescribeSecurityConfiguration with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DescribeSecurityConfiguration for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) DescribeSecurityConfigurationWithContext(ctx aws.Context, input *DescribeSecurityConfigurationInput, opts ...request.Option) (*DescribeSecurityConfigurationOutput, error) {
|
|
req, out := c.DescribeSecurityConfigurationRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDescribeStep = "DescribeStep"
|
|
|
|
// DescribeStepRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DescribeStep operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DescribeStep for more information on using the DescribeStep
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DescribeStepRequest method.
|
|
// req, resp := client.DescribeStepRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep
|
|
func (c *EMR) DescribeStepRequest(input *DescribeStepInput) (req *request.Request, output *DescribeStepOutput) {
|
|
op := &request.Operation{
|
|
Name: opDescribeStep,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DescribeStepInput{}
|
|
}
|
|
|
|
output = &DescribeStepOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// DescribeStep API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides more detail about the cluster step.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation DescribeStep for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep
|
|
func (c *EMR) DescribeStep(input *DescribeStepInput) (*DescribeStepOutput, error) {
|
|
req, out := c.DescribeStepRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DescribeStepWithContext is the same as DescribeStep with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DescribeStep for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) DescribeStepWithContext(ctx aws.Context, input *DescribeStepInput, opts ...request.Option) (*DescribeStepOutput, error) {
|
|
req, out := c.DescribeStepRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opListBootstrapActions = "ListBootstrapActions"
|
|
|
|
// ListBootstrapActionsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListBootstrapActions operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListBootstrapActions for more information on using the ListBootstrapActions
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListBootstrapActionsRequest method.
|
|
// req, resp := client.ListBootstrapActionsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions
|
|
func (c *EMR) ListBootstrapActionsRequest(input *ListBootstrapActionsInput) (req *request.Request, output *ListBootstrapActionsOutput) {
|
|
op := &request.Operation{
|
|
Name: opListBootstrapActions,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListBootstrapActionsInput{}
|
|
}
|
|
|
|
output = &ListBootstrapActionsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListBootstrapActions API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides information about the bootstrap actions associated with a cluster.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListBootstrapActions for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions
|
|
func (c *EMR) ListBootstrapActions(input *ListBootstrapActionsInput) (*ListBootstrapActionsOutput, error) {
|
|
req, out := c.ListBootstrapActionsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListBootstrapActionsWithContext is the same as ListBootstrapActions with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListBootstrapActions for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListBootstrapActionsWithContext(ctx aws.Context, input *ListBootstrapActionsInput, opts ...request.Option) (*ListBootstrapActionsOutput, error) {
|
|
req, out := c.ListBootstrapActionsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListBootstrapActionsPages iterates over the pages of a ListBootstrapActions operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListBootstrapActions method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListBootstrapActions operation.
|
|
// pageNum := 0
|
|
// err := client.ListBootstrapActionsPages(params,
|
|
// func(page *ListBootstrapActionsOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListBootstrapActionsPages(input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool) error {
|
|
return c.ListBootstrapActionsPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListBootstrapActionsPagesWithContext same as ListBootstrapActionsPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListBootstrapActionsPagesWithContext(ctx aws.Context, input *ListBootstrapActionsInput, fn func(*ListBootstrapActionsOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListBootstrapActionsInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListBootstrapActionsRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListBootstrapActionsOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opListClusters = "ListClusters"
|
|
|
|
// ListClustersRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListClusters operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListClusters for more information on using the ListClusters
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListClustersRequest method.
|
|
// req, resp := client.ListClustersRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters
|
|
func (c *EMR) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
|
|
op := &request.Operation{
|
|
Name: opListClusters,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListClustersInput{}
|
|
}
|
|
|
|
output = &ListClustersOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListClusters API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides the status of all clusters visible to this AWS account. Allows you
|
|
// to filter the list of clusters based on certain criteria; for example, filtering
|
|
// by cluster creation date and time or by status. This call returns a maximum
|
|
// of 50 clusters per call, but returns a marker to track the paging of the
|
|
// cluster list across multiple ListClusters calls.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListClusters for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters
|
|
func (c *EMR) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
|
|
req, out := c.ListClustersRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListClustersWithContext is the same as ListClusters with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListClusters for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
|
|
req, out := c.ListClustersRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListClustersPages iterates over the pages of a ListClusters operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListClusters method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListClusters operation.
|
|
// pageNum := 0
|
|
// err := client.ListClustersPages(params,
|
|
// func(page *ListClustersOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error {
|
|
return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListClustersPagesWithContext same as ListClustersPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListClustersInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListClustersRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListClustersOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opListInstanceFleets = "ListInstanceFleets"
|
|
|
|
// ListInstanceFleetsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListInstanceFleets operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListInstanceFleets for more information on using the ListInstanceFleets
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListInstanceFleetsRequest method.
|
|
// req, resp := client.ListInstanceFleetsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets
|
|
func (c *EMR) ListInstanceFleetsRequest(input *ListInstanceFleetsInput) (req *request.Request, output *ListInstanceFleetsOutput) {
|
|
op := &request.Operation{
|
|
Name: opListInstanceFleets,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListInstanceFleetsInput{}
|
|
}
|
|
|
|
output = &ListInstanceFleetsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListInstanceFleets API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Lists all available details about the instance fleets in a cluster.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListInstanceFleets for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets
|
|
func (c *EMR) ListInstanceFleets(input *ListInstanceFleetsInput) (*ListInstanceFleetsOutput, error) {
|
|
req, out := c.ListInstanceFleetsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstanceFleetsWithContext is the same as ListInstanceFleets with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListInstanceFleets for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstanceFleetsWithContext(ctx aws.Context, input *ListInstanceFleetsInput, opts ...request.Option) (*ListInstanceFleetsOutput, error) {
|
|
req, out := c.ListInstanceFleetsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstanceFleetsPages iterates over the pages of a ListInstanceFleets operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListInstanceFleets method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListInstanceFleets operation.
|
|
// pageNum := 0
|
|
// err := client.ListInstanceFleetsPages(params,
|
|
// func(page *ListInstanceFleetsOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListInstanceFleetsPages(input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool) error {
|
|
return c.ListInstanceFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListInstanceFleetsPagesWithContext same as ListInstanceFleetsPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstanceFleetsPagesWithContext(ctx aws.Context, input *ListInstanceFleetsInput, fn func(*ListInstanceFleetsOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListInstanceFleetsInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListInstanceFleetsRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListInstanceFleetsOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opListInstanceGroups = "ListInstanceGroups"
|
|
|
|
// ListInstanceGroupsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListInstanceGroups operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListInstanceGroups for more information on using the ListInstanceGroups
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListInstanceGroupsRequest method.
|
|
// req, resp := client.ListInstanceGroupsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups
|
|
func (c *EMR) ListInstanceGroupsRequest(input *ListInstanceGroupsInput) (req *request.Request, output *ListInstanceGroupsOutput) {
|
|
op := &request.Operation{
|
|
Name: opListInstanceGroups,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListInstanceGroupsInput{}
|
|
}
|
|
|
|
output = &ListInstanceGroupsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListInstanceGroups API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides all available details about the instance groups in a cluster.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListInstanceGroups for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups
|
|
func (c *EMR) ListInstanceGroups(input *ListInstanceGroupsInput) (*ListInstanceGroupsOutput, error) {
|
|
req, out := c.ListInstanceGroupsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstanceGroupsWithContext is the same as ListInstanceGroups with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListInstanceGroups for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstanceGroupsWithContext(ctx aws.Context, input *ListInstanceGroupsInput, opts ...request.Option) (*ListInstanceGroupsOutput, error) {
|
|
req, out := c.ListInstanceGroupsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstanceGroupsPages iterates over the pages of a ListInstanceGroups operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListInstanceGroups method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListInstanceGroups operation.
|
|
// pageNum := 0
|
|
// err := client.ListInstanceGroupsPages(params,
|
|
// func(page *ListInstanceGroupsOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListInstanceGroupsPages(input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool) error {
|
|
return c.ListInstanceGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListInstanceGroupsPagesWithContext same as ListInstanceGroupsPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstanceGroupsPagesWithContext(ctx aws.Context, input *ListInstanceGroupsInput, fn func(*ListInstanceGroupsOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListInstanceGroupsInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListInstanceGroupsRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListInstanceGroupsOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opListInstances = "ListInstances"
|
|
|
|
// ListInstancesRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListInstances operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListInstances for more information on using the ListInstances
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListInstancesRequest method.
|
|
// req, resp := client.ListInstancesRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances
|
|
func (c *EMR) ListInstancesRequest(input *ListInstancesInput) (req *request.Request, output *ListInstancesOutput) {
|
|
op := &request.Operation{
|
|
Name: opListInstances,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListInstancesInput{}
|
|
}
|
|
|
|
output = &ListInstancesOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListInstances API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides information for all active EC2 instances and EC2 instances terminated
|
|
// in the last 30 days, up to a maximum of 2,000. EC2 instances in any of the
|
|
// following states are considered active: AWAITING_FULFILLMENT, PROVISIONING,
|
|
// BOOTSTRAPPING, RUNNING.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListInstances for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances
|
|
func (c *EMR) ListInstances(input *ListInstancesInput) (*ListInstancesOutput, error) {
|
|
req, out := c.ListInstancesRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstancesWithContext is the same as ListInstances with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListInstances for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstancesWithContext(ctx aws.Context, input *ListInstancesInput, opts ...request.Option) (*ListInstancesOutput, error) {
|
|
req, out := c.ListInstancesRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListInstancesPages iterates over the pages of a ListInstances operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListInstances method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListInstances operation.
|
|
// pageNum := 0
|
|
// err := client.ListInstancesPages(params,
|
|
// func(page *ListInstancesOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListInstancesPages(input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool) error {
|
|
return c.ListInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListInstancesPagesWithContext same as ListInstancesPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListInstancesPagesWithContext(ctx aws.Context, input *ListInstancesInput, fn func(*ListInstancesOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListInstancesInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListInstancesRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListInstancesOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opListSecurityConfigurations = "ListSecurityConfigurations"
|
|
|
|
// ListSecurityConfigurationsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListSecurityConfigurations operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListSecurityConfigurations for more information on using the ListSecurityConfigurations
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListSecurityConfigurationsRequest method.
|
|
// req, resp := client.ListSecurityConfigurationsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations
|
|
func (c *EMR) ListSecurityConfigurationsRequest(input *ListSecurityConfigurationsInput) (req *request.Request, output *ListSecurityConfigurationsOutput) {
|
|
op := &request.Operation{
|
|
Name: opListSecurityConfigurations,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListSecurityConfigurationsInput{}
|
|
}
|
|
|
|
output = &ListSecurityConfigurationsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListSecurityConfigurations API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Lists all the security configurations visible to this account, providing
|
|
// their creation dates and times, and their names. This call returns a maximum
|
|
// of 50 clusters per call, but returns a marker to track the paging of the
|
|
// cluster list across multiple ListSecurityConfigurations calls.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListSecurityConfigurations for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations
|
|
func (c *EMR) ListSecurityConfigurations(input *ListSecurityConfigurationsInput) (*ListSecurityConfigurationsOutput, error) {
|
|
req, out := c.ListSecurityConfigurationsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListSecurityConfigurationsWithContext is the same as ListSecurityConfigurations with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListSecurityConfigurations for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListSecurityConfigurationsWithContext(ctx aws.Context, input *ListSecurityConfigurationsInput, opts ...request.Option) (*ListSecurityConfigurationsOutput, error) {
|
|
req, out := c.ListSecurityConfigurationsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opListSteps = "ListSteps"
|
|
|
|
// ListStepsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListSteps operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListSteps for more information on using the ListSteps
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListStepsRequest method.
|
|
// req, resp := client.ListStepsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps
|
|
func (c *EMR) ListStepsRequest(input *ListStepsInput) (req *request.Request, output *ListStepsOutput) {
|
|
op := &request.Operation{
|
|
Name: opListSteps,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
Paginator: &request.Paginator{
|
|
InputTokens: []string{"Marker"},
|
|
OutputTokens: []string{"Marker"},
|
|
LimitToken: "",
|
|
TruncationToken: "",
|
|
},
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListStepsInput{}
|
|
}
|
|
|
|
output = &ListStepsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListSteps API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Provides a list of steps for the cluster in reverse order unless you specify
|
|
// stepIds with the request.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ListSteps for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps
|
|
func (c *EMR) ListSteps(input *ListStepsInput) (*ListStepsOutput, error) {
|
|
req, out := c.ListStepsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListStepsWithContext is the same as ListSteps with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListSteps for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListStepsWithContext(ctx aws.Context, input *ListStepsInput, opts ...request.Option) (*ListStepsOutput, error) {
|
|
req, out := c.ListStepsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListStepsPages iterates over the pages of a ListSteps operation,
|
|
// calling the "fn" function with the response data for each page. To stop
|
|
// iterating, return false from the fn function.
|
|
//
|
|
// See ListSteps method for more information on how to use this operation.
|
|
//
|
|
// Note: This operation can generate multiple requests to a service.
|
|
//
|
|
// // Example iterating over at most 3 pages of a ListSteps operation.
|
|
// pageNum := 0
|
|
// err := client.ListStepsPages(params,
|
|
// func(page *ListStepsOutput, lastPage bool) bool {
|
|
// pageNum++
|
|
// fmt.Println(page)
|
|
// return pageNum <= 3
|
|
// })
|
|
//
|
|
func (c *EMR) ListStepsPages(input *ListStepsInput, fn func(*ListStepsOutput, bool) bool) error {
|
|
return c.ListStepsPagesWithContext(aws.BackgroundContext(), input, fn)
|
|
}
|
|
|
|
// ListStepsPagesWithContext same as ListStepsPages except
|
|
// it takes a Context and allows setting request options on the pages.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ListStepsPagesWithContext(ctx aws.Context, input *ListStepsInput, fn func(*ListStepsOutput, bool) bool, opts ...request.Option) error {
|
|
p := request.Pagination{
|
|
NewRequest: func() (*request.Request, error) {
|
|
var inCpy *ListStepsInput
|
|
if input != nil {
|
|
tmp := *input
|
|
inCpy = &tmp
|
|
}
|
|
req, _ := c.ListStepsRequest(inCpy)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return req, nil
|
|
},
|
|
}
|
|
|
|
cont := true
|
|
for p.Next() && cont {
|
|
cont = fn(p.Page().(*ListStepsOutput), !p.HasNextPage())
|
|
}
|
|
return p.Err()
|
|
}
|
|
|
|
const opModifyInstanceFleet = "ModifyInstanceFleet"
|
|
|
|
// ModifyInstanceFleetRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ModifyInstanceFleet operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ModifyInstanceFleet for more information on using the ModifyInstanceFleet
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ModifyInstanceFleetRequest method.
|
|
// req, resp := client.ModifyInstanceFleetRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet
|
|
func (c *EMR) ModifyInstanceFleetRequest(input *ModifyInstanceFleetInput) (req *request.Request, output *ModifyInstanceFleetOutput) {
|
|
op := &request.Operation{
|
|
Name: opModifyInstanceFleet,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ModifyInstanceFleetInput{}
|
|
}
|
|
|
|
output = &ModifyInstanceFleetOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// ModifyInstanceFleet API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Modifies the target On-Demand and target Spot capacities for the instance
|
|
// fleet with the specified InstanceFleetID within the cluster specified using
|
|
// ClusterID. The call either succeeds or fails atomically.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ModifyInstanceFleet for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet
|
|
func (c *EMR) ModifyInstanceFleet(input *ModifyInstanceFleetInput) (*ModifyInstanceFleetOutput, error) {
|
|
req, out := c.ModifyInstanceFleetRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ModifyInstanceFleetWithContext is the same as ModifyInstanceFleet with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ModifyInstanceFleet for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ModifyInstanceFleetWithContext(ctx aws.Context, input *ModifyInstanceFleetInput, opts ...request.Option) (*ModifyInstanceFleetOutput, error) {
|
|
req, out := c.ModifyInstanceFleetRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opModifyInstanceGroups = "ModifyInstanceGroups"
|
|
|
|
// ModifyInstanceGroupsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ModifyInstanceGroups operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ModifyInstanceGroups for more information on using the ModifyInstanceGroups
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ModifyInstanceGroupsRequest method.
|
|
// req, resp := client.ModifyInstanceGroupsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups
|
|
func (c *EMR) ModifyInstanceGroupsRequest(input *ModifyInstanceGroupsInput) (req *request.Request, output *ModifyInstanceGroupsOutput) {
|
|
op := &request.Operation{
|
|
Name: opModifyInstanceGroups,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ModifyInstanceGroupsInput{}
|
|
}
|
|
|
|
output = &ModifyInstanceGroupsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// ModifyInstanceGroups API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// ModifyInstanceGroups modifies the number of nodes and configuration settings
|
|
// of an instance group. The input parameters include the new target instance
|
|
// count for the group and the instance group ID. The call will either succeed
|
|
// or fail atomically.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation ModifyInstanceGroups for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups
|
|
func (c *EMR) ModifyInstanceGroups(input *ModifyInstanceGroupsInput) (*ModifyInstanceGroupsOutput, error) {
|
|
req, out := c.ModifyInstanceGroupsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ModifyInstanceGroupsWithContext is the same as ModifyInstanceGroups with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ModifyInstanceGroups for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) ModifyInstanceGroupsWithContext(ctx aws.Context, input *ModifyInstanceGroupsInput, opts ...request.Option) (*ModifyInstanceGroupsOutput, error) {
|
|
req, out := c.ModifyInstanceGroupsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opPutAutoScalingPolicy = "PutAutoScalingPolicy"
|
|
|
|
// PutAutoScalingPolicyRequest generates a "aws/request.Request" representing the
|
|
// client's request for the PutAutoScalingPolicy operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See PutAutoScalingPolicy for more information on using the PutAutoScalingPolicy
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the PutAutoScalingPolicyRequest method.
|
|
// req, resp := client.PutAutoScalingPolicyRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy
|
|
func (c *EMR) PutAutoScalingPolicyRequest(input *PutAutoScalingPolicyInput) (req *request.Request, output *PutAutoScalingPolicyOutput) {
|
|
op := &request.Operation{
|
|
Name: opPutAutoScalingPolicy,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &PutAutoScalingPolicyInput{}
|
|
}
|
|
|
|
output = &PutAutoScalingPolicyOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// PutAutoScalingPolicy API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Creates or updates an automatic scaling policy for a core instance group
|
|
// or task instance group in an Amazon EMR cluster. The automatic scaling policy
|
|
// defines how an instance group dynamically adds and terminates EC2 instances
|
|
// in response to the value of a CloudWatch metric.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation PutAutoScalingPolicy for usage and error information.
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy
|
|
func (c *EMR) PutAutoScalingPolicy(input *PutAutoScalingPolicyInput) (*PutAutoScalingPolicyOutput, error) {
|
|
req, out := c.PutAutoScalingPolicyRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// PutAutoScalingPolicyWithContext is the same as PutAutoScalingPolicy with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See PutAutoScalingPolicy for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) PutAutoScalingPolicyWithContext(ctx aws.Context, input *PutAutoScalingPolicyInput, opts ...request.Option) (*PutAutoScalingPolicyOutput, error) {
|
|
req, out := c.PutAutoScalingPolicyRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opRemoveAutoScalingPolicy = "RemoveAutoScalingPolicy"
|
|
|
|
// RemoveAutoScalingPolicyRequest generates a "aws/request.Request" representing the
|
|
// client's request for the RemoveAutoScalingPolicy operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See RemoveAutoScalingPolicy for more information on using the RemoveAutoScalingPolicy
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the RemoveAutoScalingPolicyRequest method.
|
|
// req, resp := client.RemoveAutoScalingPolicyRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy
|
|
func (c *EMR) RemoveAutoScalingPolicyRequest(input *RemoveAutoScalingPolicyInput) (req *request.Request, output *RemoveAutoScalingPolicyOutput) {
|
|
op := &request.Operation{
|
|
Name: opRemoveAutoScalingPolicy,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &RemoveAutoScalingPolicyInput{}
|
|
}
|
|
|
|
output = &RemoveAutoScalingPolicyOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// RemoveAutoScalingPolicy API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Removes an automatic scaling policy from a specified instance group within
|
|
// an EMR cluster.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation RemoveAutoScalingPolicy for usage and error information.
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy
|
|
func (c *EMR) RemoveAutoScalingPolicy(input *RemoveAutoScalingPolicyInput) (*RemoveAutoScalingPolicyOutput, error) {
|
|
req, out := c.RemoveAutoScalingPolicyRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// RemoveAutoScalingPolicyWithContext is the same as RemoveAutoScalingPolicy with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See RemoveAutoScalingPolicy for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) RemoveAutoScalingPolicyWithContext(ctx aws.Context, input *RemoveAutoScalingPolicyInput, opts ...request.Option) (*RemoveAutoScalingPolicyOutput, error) {
|
|
req, out := c.RemoveAutoScalingPolicyRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opRemoveTags = "RemoveTags"
|
|
|
|
// RemoveTagsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the RemoveTags operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See RemoveTags for more information on using the RemoveTags
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the RemoveTagsRequest method.
|
|
// req, resp := client.RemoveTagsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags
|
|
func (c *EMR) RemoveTagsRequest(input *RemoveTagsInput) (req *request.Request, output *RemoveTagsOutput) {
|
|
op := &request.Operation{
|
|
Name: opRemoveTags,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &RemoveTagsInput{}
|
|
}
|
|
|
|
output = &RemoveTagsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// RemoveTags API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Removes tags from an Amazon EMR resource. Tags make it easier to associate
|
|
// clusters in various ways, such as grouping clusters to track your Amazon
|
|
// EMR resource allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
|
|
//
|
|
// The following example removes the stack tag with value Prod from a cluster:
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation RemoveTags for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerException "InternalServerException"
|
|
// This exception occurs when there is an internal failure in the EMR service.
|
|
//
|
|
// * ErrCodeInvalidRequestException "InvalidRequestException"
|
|
// This exception occurs when there is something wrong with user input.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags
|
|
func (c *EMR) RemoveTags(input *RemoveTagsInput) (*RemoveTagsOutput, error) {
|
|
req, out := c.RemoveTagsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// RemoveTagsWithContext is the same as RemoveTags with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See RemoveTags for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) RemoveTagsWithContext(ctx aws.Context, input *RemoveTagsInput, opts ...request.Option) (*RemoveTagsOutput, error) {
|
|
req, out := c.RemoveTagsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opRunJobFlow = "RunJobFlow"
|
|
|
|
// RunJobFlowRequest generates a "aws/request.Request" representing the
|
|
// client's request for the RunJobFlow operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See RunJobFlow for more information on using the RunJobFlow
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the RunJobFlowRequest method.
|
|
// req, resp := client.RunJobFlowRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow
|
|
func (c *EMR) RunJobFlowRequest(input *RunJobFlowInput) (req *request.Request, output *RunJobFlowOutput) {
|
|
op := &request.Operation{
|
|
Name: opRunJobFlow,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &RunJobFlowInput{}
|
|
}
|
|
|
|
output = &RunJobFlowOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// RunJobFlow API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// RunJobFlow creates and starts running a new cluster (job flow). The cluster
|
|
// runs the steps specified. After the steps complete, the cluster stops and
|
|
// the HDFS partition is lost. To prevent loss of data, configure the last step
|
|
// of the job flow to store results in Amazon S3. If the JobFlowInstancesConfigKeepJobFlowAliveWhenNoSteps
|
|
// parameter is set to TRUE, the cluster transitions to the WAITING state rather
|
|
// than shutting down after the steps have completed.
|
|
//
|
|
// For additional protection, you can set the JobFlowInstancesConfigTerminationProtected
|
|
// parameter to TRUE to lock the cluster and prevent it from being terminated
|
|
// by API call, user intervention, or in the event of a job flow error.
|
|
//
|
|
// A maximum of 256 steps are allowed in each job flow.
|
|
//
|
|
// If your cluster is long-running (such as a Hive data warehouse) or complex,
|
|
// you may require more than 256 steps to process your data. You can bypass
|
|
// the 256-step limitation in various ways, including using the SSH shell to
|
|
// connect to the master node and submitting queries directly to the software
|
|
// running on the master node, such as Hive and Hadoop. For more information
|
|
// on how to do this, see Add More than 256 Steps to a Cluster (http://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html)
|
|
// in the Amazon EMR Management Guide.
|
|
//
|
|
// For long running clusters, we recommend that you periodically store your
|
|
// results.
|
|
//
|
|
// The instance fleets configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions. The RunJobFlow request can contain
|
|
// InstanceFleets parameters or InstanceGroups parameters, but not both.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation RunJobFlow for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow
|
|
func (c *EMR) RunJobFlow(input *RunJobFlowInput) (*RunJobFlowOutput, error) {
|
|
req, out := c.RunJobFlowRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// RunJobFlowWithContext is the same as RunJobFlow with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See RunJobFlow for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) RunJobFlowWithContext(ctx aws.Context, input *RunJobFlowInput, opts ...request.Option) (*RunJobFlowOutput, error) {
|
|
req, out := c.RunJobFlowRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opSetTerminationProtection = "SetTerminationProtection"
|
|
|
|
// SetTerminationProtectionRequest generates a "aws/request.Request" representing the
|
|
// client's request for the SetTerminationProtection operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See SetTerminationProtection for more information on using the SetTerminationProtection
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the SetTerminationProtectionRequest method.
|
|
// req, resp := client.SetTerminationProtectionRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection
|
|
func (c *EMR) SetTerminationProtectionRequest(input *SetTerminationProtectionInput) (req *request.Request, output *SetTerminationProtectionOutput) {
|
|
op := &request.Operation{
|
|
Name: opSetTerminationProtection,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &SetTerminationProtectionInput{}
|
|
}
|
|
|
|
output = &SetTerminationProtectionOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// SetTerminationProtection API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// SetTerminationProtection locks a cluster (job flow) so the EC2 instances
|
|
// in the cluster cannot be terminated by user intervention, an API call, or
|
|
// in the event of a job-flow error. The cluster still terminates upon successful
|
|
// completion of the job flow. Calling SetTerminationProtection on a cluster
|
|
// is similar to calling the Amazon EC2 DisableAPITermination API on all EC2
|
|
// instances in a cluster.
|
|
//
|
|
// SetTerminationProtection is used to prevent accidental termination of a cluster
|
|
// and to ensure that in the event of an error, the instances persist so that
|
|
// you can recover any data stored in their ephemeral instance storage.
|
|
//
|
|
// To terminate a cluster that has been locked by setting SetTerminationProtection
|
|
// to true, you must first unlock the job flow by a subsequent call to SetTerminationProtection
|
|
// in which you set the value to false.
|
|
//
|
|
// For more information, seeManaging Cluster Termination (http://docs.aws.amazon.com/emr/latest/ManagementGuide/UsingEMR_TerminationProtection.html)
|
|
// in the Amazon EMR Management Guide.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation SetTerminationProtection for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection
|
|
func (c *EMR) SetTerminationProtection(input *SetTerminationProtectionInput) (*SetTerminationProtectionOutput, error) {
|
|
req, out := c.SetTerminationProtectionRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// SetTerminationProtectionWithContext is the same as SetTerminationProtection with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See SetTerminationProtection for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) SetTerminationProtectionWithContext(ctx aws.Context, input *SetTerminationProtectionInput, opts ...request.Option) (*SetTerminationProtectionOutput, error) {
|
|
req, out := c.SetTerminationProtectionRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opSetVisibleToAllUsers = "SetVisibleToAllUsers"
|
|
|
|
// SetVisibleToAllUsersRequest generates a "aws/request.Request" representing the
|
|
// client's request for the SetVisibleToAllUsers operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See SetVisibleToAllUsers for more information on using the SetVisibleToAllUsers
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the SetVisibleToAllUsersRequest method.
|
|
// req, resp := client.SetVisibleToAllUsersRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers
|
|
func (c *EMR) SetVisibleToAllUsersRequest(input *SetVisibleToAllUsersInput) (req *request.Request, output *SetVisibleToAllUsersOutput) {
|
|
op := &request.Operation{
|
|
Name: opSetVisibleToAllUsers,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &SetVisibleToAllUsersInput{}
|
|
}
|
|
|
|
output = &SetVisibleToAllUsersOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// SetVisibleToAllUsers API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// Sets whether all AWS Identity and Access Management (IAM) users under your
|
|
// account can access the specified clusters (job flows). This action works
|
|
// on running clusters. You can also set the visibility of a cluster when you
|
|
// launch it using the VisibleToAllUsers parameter of RunJobFlow. The SetVisibleToAllUsers
|
|
// action can be called only by an IAM user who created the cluster or the AWS
|
|
// account that owns the cluster.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation SetVisibleToAllUsers for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers
|
|
func (c *EMR) SetVisibleToAllUsers(input *SetVisibleToAllUsersInput) (*SetVisibleToAllUsersOutput, error) {
|
|
req, out := c.SetVisibleToAllUsersRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// SetVisibleToAllUsersWithContext is the same as SetVisibleToAllUsers with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See SetVisibleToAllUsers for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) SetVisibleToAllUsersWithContext(ctx aws.Context, input *SetVisibleToAllUsersInput, opts ...request.Option) (*SetVisibleToAllUsersOutput, error) {
|
|
req, out := c.SetVisibleToAllUsersRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opTerminateJobFlows = "TerminateJobFlows"
|
|
|
|
// TerminateJobFlowsRequest generates a "aws/request.Request" representing the
|
|
// client's request for the TerminateJobFlows operation. The "output" return
|
|
// value will be populated with the request's response once the request complets
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See TerminateJobFlows for more information on using the TerminateJobFlows
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the TerminateJobFlowsRequest method.
|
|
// req, resp := client.TerminateJobFlowsRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows
|
|
func (c *EMR) TerminateJobFlowsRequest(input *TerminateJobFlowsInput) (req *request.Request, output *TerminateJobFlowsOutput) {
|
|
op := &request.Operation{
|
|
Name: opTerminateJobFlows,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &TerminateJobFlowsInput{}
|
|
}
|
|
|
|
output = &TerminateJobFlowsOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// TerminateJobFlows API operation for Amazon Elastic MapReduce.
|
|
//
|
|
// TerminateJobFlows shuts a list of clusters (job flows) down. When a job flow
|
|
// is shut down, any step not yet completed is canceled and the EC2 instances
|
|
// on which the cluster is running are stopped. Any log files not already saved
|
|
// are uploaded to Amazon S3 if a LogUri was specified when the cluster was
|
|
// created.
|
|
//
|
|
// The maximum number of clusters allowed is 10. The call to TerminateJobFlows
|
|
// is asynchronous. Depending on the configuration of the cluster, it may take
|
|
// up to 1-5 minutes for the cluster to completely terminate and release allocated
|
|
// resources, such as Amazon EC2 instances.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Amazon Elastic MapReduce's
|
|
// API operation TerminateJobFlows for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInternalServerError "InternalServerError"
|
|
// Indicates that an error occurred while processing the request and that the
|
|
// request was not completed.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows
|
|
func (c *EMR) TerminateJobFlows(input *TerminateJobFlowsInput) (*TerminateJobFlowsOutput, error) {
|
|
req, out := c.TerminateJobFlowsRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// TerminateJobFlowsWithContext is the same as TerminateJobFlows with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See TerminateJobFlows for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *EMR) TerminateJobFlowsWithContext(ctx aws.Context, input *TerminateJobFlowsInput, opts ...request.Option) (*TerminateJobFlowsOutput, error) {
|
|
req, out := c.TerminateJobFlowsRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
type AddInstanceFleetInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of the cluster.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// Specifies the configuration of the instance fleet.
|
|
//
|
|
// InstanceFleet is a required field
|
|
InstanceFleet *InstanceFleetConfig `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddInstanceFleetInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddInstanceFleetInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AddInstanceFleetInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AddInstanceFleetInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
if s.InstanceFleet == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceFleet"))
|
|
}
|
|
if s.InstanceFleet != nil {
|
|
if err := s.InstanceFleet.Validate(); err != nil {
|
|
invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *AddInstanceFleetInput) SetClusterId(v string) *AddInstanceFleetInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleet sets the InstanceFleet field's value.
|
|
func (s *AddInstanceFleetInput) SetInstanceFleet(v *InstanceFleetConfig) *AddInstanceFleetInput {
|
|
s.InstanceFleet = v
|
|
return s
|
|
}
|
|
|
|
type AddInstanceFleetOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of the cluster.
|
|
ClusterId *string `type:"string"`
|
|
|
|
// The unique identifier of the instance fleet.
|
|
InstanceFleetId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddInstanceFleetOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddInstanceFleetOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *AddInstanceFleetOutput) SetClusterId(v string) *AddInstanceFleetOutput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleetId sets the InstanceFleetId field's value.
|
|
func (s *AddInstanceFleetOutput) SetInstanceFleetId(v string) *AddInstanceFleetOutput {
|
|
s.InstanceFleetId = &v
|
|
return s
|
|
}
|
|
|
|
// Input to an AddInstanceGroups call.
|
|
type AddInstanceGroupsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Instance groups to add.
|
|
//
|
|
// InstanceGroups is a required field
|
|
InstanceGroups []*InstanceGroupConfig `type:"list" required:"true"`
|
|
|
|
// Job flow in which to add the instance groups.
|
|
//
|
|
// JobFlowId is a required field
|
|
JobFlowId *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddInstanceGroupsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddInstanceGroupsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AddInstanceGroupsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AddInstanceGroupsInput"}
|
|
if s.InstanceGroups == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceGroups"))
|
|
}
|
|
if s.JobFlowId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobFlowId"))
|
|
}
|
|
if s.InstanceGroups != nil {
|
|
for i, v := range s.InstanceGroups {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetInstanceGroups sets the InstanceGroups field's value.
|
|
func (s *AddInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupConfig) *AddInstanceGroupsInput {
|
|
s.InstanceGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowId sets the JobFlowId field's value.
|
|
func (s *AddInstanceGroupsInput) SetJobFlowId(v string) *AddInstanceGroupsInput {
|
|
s.JobFlowId = &v
|
|
return s
|
|
}
|
|
|
|
// Output from an AddInstanceGroups call.
|
|
type AddInstanceGroupsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Instance group IDs of the newly created instance groups.
|
|
InstanceGroupIds []*string `type:"list"`
|
|
|
|
// The job flow ID in which the instance groups are added.
|
|
JobFlowId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddInstanceGroupsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddInstanceGroupsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetInstanceGroupIds sets the InstanceGroupIds field's value.
|
|
func (s *AddInstanceGroupsOutput) SetInstanceGroupIds(v []*string) *AddInstanceGroupsOutput {
|
|
s.InstanceGroupIds = v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowId sets the JobFlowId field's value.
|
|
func (s *AddInstanceGroupsOutput) SetJobFlowId(v string) *AddInstanceGroupsOutput {
|
|
s.JobFlowId = &v
|
|
return s
|
|
}
|
|
|
|
// The input argument to the AddJobFlowSteps operation.
|
|
type AddJobFlowStepsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A string that uniquely identifies the job flow. This identifier is returned
|
|
// by RunJobFlow and can also be obtained from ListClusters.
|
|
//
|
|
// JobFlowId is a required field
|
|
JobFlowId *string `type:"string" required:"true"`
|
|
|
|
// A list of StepConfig to be executed by the job flow.
|
|
//
|
|
// Steps is a required field
|
|
Steps []*StepConfig `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddJobFlowStepsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddJobFlowStepsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AddJobFlowStepsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AddJobFlowStepsInput"}
|
|
if s.JobFlowId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobFlowId"))
|
|
}
|
|
if s.Steps == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Steps"))
|
|
}
|
|
if s.Steps != nil {
|
|
for i, v := range s.Steps {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobFlowId sets the JobFlowId field's value.
|
|
func (s *AddJobFlowStepsInput) SetJobFlowId(v string) *AddJobFlowStepsInput {
|
|
s.JobFlowId = &v
|
|
return s
|
|
}
|
|
|
|
// SetSteps sets the Steps field's value.
|
|
func (s *AddJobFlowStepsInput) SetSteps(v []*StepConfig) *AddJobFlowStepsInput {
|
|
s.Steps = v
|
|
return s
|
|
}
|
|
|
|
// The output for the AddJobFlowSteps operation.
|
|
type AddJobFlowStepsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifiers of the list of steps added to the job flow.
|
|
StepIds []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddJobFlowStepsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddJobFlowStepsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetStepIds sets the StepIds field's value.
|
|
func (s *AddJobFlowStepsOutput) SetStepIds(v []*string) *AddJobFlowStepsOutput {
|
|
s.StepIds = v
|
|
return s
|
|
}
|
|
|
|
// This input identifies a cluster and a list of tags to attach.
|
|
type AddTagsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon EMR resource identifier to which tags will be added. This value
|
|
// must be a cluster identifier.
|
|
//
|
|
// ResourceId is a required field
|
|
ResourceId *string `type:"string" required:"true"`
|
|
|
|
// A list of tags to associate with a cluster and propagate to EC2 instances.
|
|
// Tags are user-defined key/value pairs that consist of a required key string
|
|
// with a maximum of 128 characters, and an optional value string with a maximum
|
|
// of 256 characters.
|
|
//
|
|
// Tags is a required field
|
|
Tags []*Tag `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddTagsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddTagsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AddTagsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AddTagsInput"}
|
|
if s.ResourceId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ResourceId"))
|
|
}
|
|
if s.Tags == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Tags"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetResourceId sets the ResourceId field's value.
|
|
func (s *AddTagsInput) SetResourceId(v string) *AddTagsInput {
|
|
s.ResourceId = &v
|
|
return s
|
|
}
|
|
|
|
// SetTags sets the Tags field's value.
|
|
func (s *AddTagsInput) SetTags(v []*Tag) *AddTagsInput {
|
|
s.Tags = v
|
|
return s
|
|
}
|
|
|
|
// This output indicates the result of adding tags to a resource.
|
|
type AddTagsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AddTagsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AddTagsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// An application is any Amazon or third-party software that you can add to
|
|
// the cluster. This structure contains a list of strings that indicates the
|
|
// software to use with the cluster and accepts a user argument list. Amazon
|
|
// EMR accepts and forwards the argument list to the corresponding installation
|
|
// script as bootstrap action argument. For more information, see Using the
|
|
// MapR Distribution for Hadoop (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mapr.html).
|
|
// Currently supported values are:
|
|
//
|
|
// * "mapr-m3" - launch the cluster using MapR M3 Edition.
|
|
//
|
|
// * "mapr-m5" - launch the cluster using MapR M5 Edition.
|
|
//
|
|
// * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5"
|
|
// - launch the cluster using MapR M3 or M5 Edition, respectively.
|
|
//
|
|
// In Amazon EMR releases 4.x and later, the only accepted parameter is the
|
|
// application name. To pass arguments to applications, you supply a configuration
|
|
// for each application.
|
|
type Application struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// This option is for advanced users only. This is meta information about third-party
|
|
// applications that third-party vendors use for testing purposes.
|
|
AdditionalInfo map[string]*string `type:"map"`
|
|
|
|
// Arguments for Amazon EMR to pass to the application.
|
|
Args []*string `type:"list"`
|
|
|
|
// The name of the application.
|
|
Name *string `type:"string"`
|
|
|
|
// The version of the application.
|
|
Version *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Application) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Application) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAdditionalInfo sets the AdditionalInfo field's value.
|
|
func (s *Application) SetAdditionalInfo(v map[string]*string) *Application {
|
|
s.AdditionalInfo = v
|
|
return s
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *Application) SetArgs(v []*string) *Application {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *Application) SetName(v string) *Application {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetVersion sets the Version field's value.
|
|
func (s *Application) SetVersion(v string) *Application {
|
|
s.Version = &v
|
|
return s
|
|
}
|
|
|
|
// An automatic scaling policy for a core instance group or task instance group
|
|
// in an Amazon EMR cluster. An automatic scaling policy defines how an instance
|
|
// group dynamically adds and terminates EC2 instances in response to the value
|
|
// of a CloudWatch metric. See PutAutoScalingPolicy.
|
|
type AutoScalingPolicy struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The upper and lower EC2 instance limits for an automatic scaling policy.
|
|
// Automatic scaling activity will not cause an instance group to grow above
|
|
// or below these limits.
|
|
//
|
|
// Constraints is a required field
|
|
Constraints *ScalingConstraints `type:"structure" required:"true"`
|
|
|
|
// The scale-in and scale-out rules that comprise the automatic scaling policy.
|
|
//
|
|
// Rules is a required field
|
|
Rules []*ScalingRule `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AutoScalingPolicy) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AutoScalingPolicy) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AutoScalingPolicy) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AutoScalingPolicy"}
|
|
if s.Constraints == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Constraints"))
|
|
}
|
|
if s.Rules == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Rules"))
|
|
}
|
|
if s.Constraints != nil {
|
|
if err := s.Constraints.Validate(); err != nil {
|
|
invalidParams.AddNested("Constraints", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.Rules != nil {
|
|
for i, v := range s.Rules {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetConstraints sets the Constraints field's value.
|
|
func (s *AutoScalingPolicy) SetConstraints(v *ScalingConstraints) *AutoScalingPolicy {
|
|
s.Constraints = v
|
|
return s
|
|
}
|
|
|
|
// SetRules sets the Rules field's value.
|
|
func (s *AutoScalingPolicy) SetRules(v []*ScalingRule) *AutoScalingPolicy {
|
|
s.Rules = v
|
|
return s
|
|
}
|
|
|
|
// An automatic scaling policy for a core instance group or task instance group
|
|
// in an Amazon EMR cluster. The automatic scaling policy defines how an instance
|
|
// group dynamically adds and terminates EC2 instances in response to the value
|
|
// of a CloudWatch metric. See PutAutoScalingPolicy.
|
|
type AutoScalingPolicyDescription struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The upper and lower EC2 instance limits for an automatic scaling policy.
|
|
// Automatic scaling activity will not cause an instance group to grow above
|
|
// or below these limits.
|
|
Constraints *ScalingConstraints `type:"structure"`
|
|
|
|
// The scale-in and scale-out rules that comprise the automatic scaling policy.
|
|
Rules []*ScalingRule `type:"list"`
|
|
|
|
// The status of an automatic scaling policy.
|
|
Status *AutoScalingPolicyStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AutoScalingPolicyDescription) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AutoScalingPolicyDescription) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetConstraints sets the Constraints field's value.
|
|
func (s *AutoScalingPolicyDescription) SetConstraints(v *ScalingConstraints) *AutoScalingPolicyDescription {
|
|
s.Constraints = v
|
|
return s
|
|
}
|
|
|
|
// SetRules sets the Rules field's value.
|
|
func (s *AutoScalingPolicyDescription) SetRules(v []*ScalingRule) *AutoScalingPolicyDescription {
|
|
s.Rules = v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *AutoScalingPolicyDescription) SetStatus(v *AutoScalingPolicyStatus) *AutoScalingPolicyDescription {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// The reason for an AutoScalingPolicyStatus change.
|
|
type AutoScalingPolicyStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The code indicating the reason for the change in status.USER_REQUEST indicates
|
|
// that the scaling policy status was changed by a user. PROVISION_FAILURE indicates
|
|
// that the status change was because the policy failed to provision. CLEANUP_FAILURE
|
|
// indicates an error.
|
|
Code *string `type:"string" enum:"AutoScalingPolicyStateChangeReasonCode"`
|
|
|
|
// A friendly, more verbose message that accompanies an automatic scaling policy
|
|
// state change.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AutoScalingPolicyStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AutoScalingPolicyStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *AutoScalingPolicyStateChangeReason) SetCode(v string) *AutoScalingPolicyStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *AutoScalingPolicyStateChangeReason) SetMessage(v string) *AutoScalingPolicyStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The status of an automatic scaling policy.
|
|
type AutoScalingPolicyStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Indicates the status of the automatic scaling policy.
|
|
State *string `type:"string" enum:"AutoScalingPolicyState"`
|
|
|
|
// The reason for a change in status.
|
|
StateChangeReason *AutoScalingPolicyStateChangeReason `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AutoScalingPolicyStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AutoScalingPolicyStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *AutoScalingPolicyStatus) SetState(v string) *AutoScalingPolicyStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *AutoScalingPolicyStatus) SetStateChangeReason(v *AutoScalingPolicyStateChangeReason) *AutoScalingPolicyStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// Configuration of a bootstrap action.
|
|
type BootstrapActionConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of the bootstrap action.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
|
|
// The script run by the bootstrap action.
|
|
//
|
|
// ScriptBootstrapAction is a required field
|
|
ScriptBootstrapAction *ScriptBootstrapActionConfig `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s BootstrapActionConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s BootstrapActionConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *BootstrapActionConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "BootstrapActionConfig"}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
if s.ScriptBootstrapAction == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ScriptBootstrapAction"))
|
|
}
|
|
if s.ScriptBootstrapAction != nil {
|
|
if err := s.ScriptBootstrapAction.Validate(); err != nil {
|
|
invalidParams.AddNested("ScriptBootstrapAction", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *BootstrapActionConfig) SetName(v string) *BootstrapActionConfig {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetScriptBootstrapAction sets the ScriptBootstrapAction field's value.
|
|
func (s *BootstrapActionConfig) SetScriptBootstrapAction(v *ScriptBootstrapActionConfig) *BootstrapActionConfig {
|
|
s.ScriptBootstrapAction = v
|
|
return s
|
|
}
|
|
|
|
// Reports the configuration of a bootstrap action in a cluster (job flow).
|
|
type BootstrapActionDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A description of the bootstrap action.
|
|
BootstrapActionConfig *BootstrapActionConfig `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s BootstrapActionDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s BootstrapActionDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBootstrapActionConfig sets the BootstrapActionConfig field's value.
|
|
func (s *BootstrapActionDetail) SetBootstrapActionConfig(v *BootstrapActionConfig) *BootstrapActionDetail {
|
|
s.BootstrapActionConfig = v
|
|
return s
|
|
}
|
|
|
|
// Specification of the status of a CancelSteps request. Available only in Amazon
|
|
// EMR version 4.8.0 and later, excluding version 5.0.0.
|
|
type CancelStepsInfo struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The reason for the failure if the CancelSteps request fails.
|
|
Reason *string `type:"string"`
|
|
|
|
// The status of a CancelSteps Request. The value may be SUBMITTED or FAILED.
|
|
Status *string `type:"string" enum:"CancelStepsRequestStatus"`
|
|
|
|
// The encrypted StepId of a step.
|
|
StepId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CancelStepsInfo) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CancelStepsInfo) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetReason sets the Reason field's value.
|
|
func (s *CancelStepsInfo) SetReason(v string) *CancelStepsInfo {
|
|
s.Reason = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *CancelStepsInfo) SetStatus(v string) *CancelStepsInfo {
|
|
s.Status = &v
|
|
return s
|
|
}
|
|
|
|
// SetStepId sets the StepId field's value.
|
|
func (s *CancelStepsInfo) SetStepId(v string) *CancelStepsInfo {
|
|
s.StepId = &v
|
|
return s
|
|
}
|
|
|
|
// The input argument to the CancelSteps operation.
|
|
type CancelStepsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The ClusterID for which specified steps will be canceled. Use RunJobFlow
|
|
// and ListClusters to get ClusterIDs.
|
|
ClusterId *string `type:"string"`
|
|
|
|
// The list of StepIDs to cancel. Use ListSteps to get steps and their states
|
|
// for the specified cluster.
|
|
StepIds []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CancelStepsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CancelStepsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *CancelStepsInput) SetClusterId(v string) *CancelStepsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetStepIds sets the StepIds field's value.
|
|
func (s *CancelStepsInput) SetStepIds(v []*string) *CancelStepsInput {
|
|
s.StepIds = v
|
|
return s
|
|
}
|
|
|
|
// The output for the CancelSteps operation.
|
|
type CancelStepsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of CancelStepsInfo, which shows the status of specified cancel requests
|
|
// for each StepID specified.
|
|
CancelStepsInfoList []*CancelStepsInfo `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CancelStepsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CancelStepsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCancelStepsInfoList sets the CancelStepsInfoList field's value.
|
|
func (s *CancelStepsOutput) SetCancelStepsInfoList(v []*CancelStepsInfo) *CancelStepsOutput {
|
|
s.CancelStepsInfoList = v
|
|
return s
|
|
}
|
|
|
|
// The definition of a CloudWatch metric alarm, which determines when an automatic
|
|
// scaling activity is triggered. When the defined alarm conditions are satisfied,
|
|
// scaling activity begins.
|
|
type CloudWatchAlarmDefinition struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Determines how the metric specified by MetricName is compared to the value
|
|
// specified by Threshold.
|
|
//
|
|
// ComparisonOperator is a required field
|
|
ComparisonOperator *string `type:"string" required:"true" enum:"ComparisonOperator"`
|
|
|
|
// A CloudWatch metric dimension.
|
|
Dimensions []*MetricDimension `type:"list"`
|
|
|
|
// The number of periods, expressed in seconds using Period, during which the
|
|
// alarm condition must exist before the alarm triggers automatic scaling activity.
|
|
// The default value is 1.
|
|
EvaluationPeriods *int64 `type:"integer"`
|
|
|
|
// The name of the CloudWatch metric that is watched to determine an alarm condition.
|
|
//
|
|
// MetricName is a required field
|
|
MetricName *string `type:"string" required:"true"`
|
|
|
|
// The namespace for the CloudWatch metric. The default is AWS/ElasticMapReduce.
|
|
Namespace *string `type:"string"`
|
|
|
|
// The period, in seconds, over which the statistic is applied. EMR CloudWatch
|
|
// metrics are emitted every five minutes (300 seconds), so if an EMR CloudWatch
|
|
// metric is specified, specify 300.
|
|
//
|
|
// Period is a required field
|
|
Period *int64 `type:"integer" required:"true"`
|
|
|
|
// The statistic to apply to the metric associated with the alarm. The default
|
|
// is AVERAGE.
|
|
Statistic *string `type:"string" enum:"Statistic"`
|
|
|
|
// The value against which the specified statistic is compared.
|
|
//
|
|
// Threshold is a required field
|
|
Threshold *float64 `type:"double" required:"true"`
|
|
|
|
// The unit of measure associated with the CloudWatch metric being watched.
|
|
// The value specified for Unit must correspond to the units specified in the
|
|
// CloudWatch metric.
|
|
Unit *string `type:"string" enum:"Unit"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CloudWatchAlarmDefinition) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CloudWatchAlarmDefinition) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *CloudWatchAlarmDefinition) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "CloudWatchAlarmDefinition"}
|
|
if s.ComparisonOperator == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ComparisonOperator"))
|
|
}
|
|
if s.MetricName == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("MetricName"))
|
|
}
|
|
if s.Period == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Period"))
|
|
}
|
|
if s.Threshold == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Threshold"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetComparisonOperator sets the ComparisonOperator field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetComparisonOperator(v string) *CloudWatchAlarmDefinition {
|
|
s.ComparisonOperator = &v
|
|
return s
|
|
}
|
|
|
|
// SetDimensions sets the Dimensions field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetDimensions(v []*MetricDimension) *CloudWatchAlarmDefinition {
|
|
s.Dimensions = v
|
|
return s
|
|
}
|
|
|
|
// SetEvaluationPeriods sets the EvaluationPeriods field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetEvaluationPeriods(v int64) *CloudWatchAlarmDefinition {
|
|
s.EvaluationPeriods = &v
|
|
return s
|
|
}
|
|
|
|
// SetMetricName sets the MetricName field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetMetricName(v string) *CloudWatchAlarmDefinition {
|
|
s.MetricName = &v
|
|
return s
|
|
}
|
|
|
|
// SetNamespace sets the Namespace field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetNamespace(v string) *CloudWatchAlarmDefinition {
|
|
s.Namespace = &v
|
|
return s
|
|
}
|
|
|
|
// SetPeriod sets the Period field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetPeriod(v int64) *CloudWatchAlarmDefinition {
|
|
s.Period = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatistic sets the Statistic field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetStatistic(v string) *CloudWatchAlarmDefinition {
|
|
s.Statistic = &v
|
|
return s
|
|
}
|
|
|
|
// SetThreshold sets the Threshold field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetThreshold(v float64) *CloudWatchAlarmDefinition {
|
|
s.Threshold = &v
|
|
return s
|
|
}
|
|
|
|
// SetUnit sets the Unit field's value.
|
|
func (s *CloudWatchAlarmDefinition) SetUnit(v string) *CloudWatchAlarmDefinition {
|
|
s.Unit = &v
|
|
return s
|
|
}
|
|
|
|
// The detailed description of the cluster.
|
|
type Cluster struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The applications installed on this cluster.
|
|
Applications []*Application `type:"list"`
|
|
|
|
// An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole.
|
|
// The IAM role provides permissions that the automatic scaling feature requires
|
|
// to launch and terminate EC2 instances in an instance group.
|
|
AutoScalingRole *string `type:"string"`
|
|
|
|
// Specifies whether the cluster should terminate after completing all steps.
|
|
AutoTerminate *bool `type:"boolean"`
|
|
|
|
// Applies only to Amazon EMR releases 4.x and later. The list of Configurations
|
|
// supplied to the EMR cluster.
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
|
|
// Amazon EBS-backed Linux AMI if the cluster uses a custom AMI.
|
|
CustomAmiId *string `type:"string"`
|
|
|
|
// The size, in GiB, of the EBS root device volume of the Linux AMI that is
|
|
// used for each EC2 instance. Available in Amazon EMR version 4.x and later.
|
|
EbsRootVolumeSize *int64 `type:"integer"`
|
|
|
|
// Provides information about the EC2 instances in a cluster grouped by category.
|
|
// For example, key name, subnet ID, IAM instance profile, and so on.
|
|
Ec2InstanceAttributes *Ec2InstanceAttributes `type:"structure"`
|
|
|
|
// The unique identifier for the cluster.
|
|
Id *string `type:"string"`
|
|
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
//
|
|
// The instance group configuration of the cluster. A value of INSTANCE_GROUP
|
|
// indicates a uniform instance group configuration. A value of INSTANCE_FLEET
|
|
// indicates an instance fleets configuration.
|
|
InstanceCollectionType *string `type:"string" enum:"InstanceCollectionType"`
|
|
|
|
// Attributes for Kerberos configuration when Kerberos authentication is enabled
|
|
// using a security configuration. For more information see Use Kerberos Authentication
|
|
// (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html)
|
|
// in the EMR Management Guide.
|
|
KerberosAttributes *KerberosAttributes `type:"structure"`
|
|
|
|
// The path to the Amazon S3 location where logs for this cluster are stored.
|
|
LogUri *string `type:"string"`
|
|
|
|
// The DNS name of the master node. If the cluster is on a private subnet, this
|
|
// is the private DNS name. On a public subnet, this is the public DNS name.
|
|
MasterPublicDnsName *string `type:"string"`
|
|
|
|
// The name of the cluster.
|
|
Name *string `type:"string"`
|
|
|
|
// An approximation of the cost of the cluster, represented in m1.small/hours.
|
|
// This value is incremented one time for every hour an m1.small instance runs.
|
|
// Larger instances are weighted more, so an EC2 instance that is roughly four
|
|
// times more expensive would result in the normalized instance hours being
|
|
// incremented by four. This result is only an approximation and does not reflect
|
|
// the actual billing rate.
|
|
NormalizedInstanceHours *int64 `type:"integer"`
|
|
|
|
// The release label for the Amazon EMR release.
|
|
ReleaseLabel *string `type:"string"`
|
|
|
|
// Applies only when CustomAmiID is used. Specifies the type of updates that
|
|
// are applied from the Amazon Linux AMI package repositories when an instance
|
|
// boots using the AMI.
|
|
RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"`
|
|
|
|
// The AMI version requested for this cluster.
|
|
RequestedAmiVersion *string `type:"string"`
|
|
|
|
// The AMI version running on this cluster.
|
|
RunningAmiVersion *string `type:"string"`
|
|
|
|
// The way that individual Amazon EC2 instances terminate when an automatic
|
|
// scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR
|
|
// indicates that Amazon EMR terminates nodes at the instance-hour boundary,
|
|
// regardless of when the request to terminate the instance was submitted. This
|
|
// option is only available with Amazon EMR 5.1.0 and later and is the default
|
|
// for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates
|
|
// that Amazon EMR blacklists and drains tasks from nodes before terminating
|
|
// the Amazon EC2 instances, regardless of the instance-hour boundary. With
|
|
// either behavior, Amazon EMR removes the least active nodes first and blocks
|
|
// instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION
|
|
// is available only in Amazon EMR version 4.1.0 and later, and is the default
|
|
// for versions of Amazon EMR earlier than 5.1.0.
|
|
ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"`
|
|
|
|
// The name of the security configuration applied to the cluster.
|
|
SecurityConfiguration *string `type:"string"`
|
|
|
|
// The IAM role that will be assumed by the Amazon EMR service to access AWS
|
|
// resources on your behalf.
|
|
ServiceRole *string `type:"string"`
|
|
|
|
// The current status details about the cluster.
|
|
Status *ClusterStatus `type:"structure"`
|
|
|
|
// A list of tags associated with a cluster.
|
|
Tags []*Tag `type:"list"`
|
|
|
|
// Indicates whether Amazon EMR will lock the cluster to prevent the EC2 instances
|
|
// from being terminated by an API call or user intervention, or in the event
|
|
// of a cluster error.
|
|
TerminationProtected *bool `type:"boolean"`
|
|
|
|
// Indicates whether the cluster is visible to all IAM users of the AWS account
|
|
// associated with the cluster. If this value is set to true, all IAM users
|
|
// of that AWS account can view and manage the cluster if they have the proper
|
|
// policy permissions set. If this value is false, only the IAM user that created
|
|
// the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers
|
|
// action.
|
|
VisibleToAllUsers *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Cluster) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Cluster) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetApplications sets the Applications field's value.
|
|
func (s *Cluster) SetApplications(v []*Application) *Cluster {
|
|
s.Applications = v
|
|
return s
|
|
}
|
|
|
|
// SetAutoScalingRole sets the AutoScalingRole field's value.
|
|
func (s *Cluster) SetAutoScalingRole(v string) *Cluster {
|
|
s.AutoScalingRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetAutoTerminate sets the AutoTerminate field's value.
|
|
func (s *Cluster) SetAutoTerminate(v bool) *Cluster {
|
|
s.AutoTerminate = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *Cluster) SetConfigurations(v []*Configuration) *Cluster {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetCustomAmiId sets the CustomAmiId field's value.
|
|
func (s *Cluster) SetCustomAmiId(v string) *Cluster {
|
|
s.CustomAmiId = &v
|
|
return s
|
|
}
|
|
|
|
// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value.
|
|
func (s *Cluster) SetEbsRootVolumeSize(v int64) *Cluster {
|
|
s.EbsRootVolumeSize = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2InstanceAttributes sets the Ec2InstanceAttributes field's value.
|
|
func (s *Cluster) SetEc2InstanceAttributes(v *Ec2InstanceAttributes) *Cluster {
|
|
s.Ec2InstanceAttributes = v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *Cluster) SetId(v string) *Cluster {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceCollectionType sets the InstanceCollectionType field's value.
|
|
func (s *Cluster) SetInstanceCollectionType(v string) *Cluster {
|
|
s.InstanceCollectionType = &v
|
|
return s
|
|
}
|
|
|
|
// SetKerberosAttributes sets the KerberosAttributes field's value.
|
|
func (s *Cluster) SetKerberosAttributes(v *KerberosAttributes) *Cluster {
|
|
s.KerberosAttributes = v
|
|
return s
|
|
}
|
|
|
|
// SetLogUri sets the LogUri field's value.
|
|
func (s *Cluster) SetLogUri(v string) *Cluster {
|
|
s.LogUri = &v
|
|
return s
|
|
}
|
|
|
|
// SetMasterPublicDnsName sets the MasterPublicDnsName field's value.
|
|
func (s *Cluster) SetMasterPublicDnsName(v string) *Cluster {
|
|
s.MasterPublicDnsName = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *Cluster) SetName(v string) *Cluster {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value.
|
|
func (s *Cluster) SetNormalizedInstanceHours(v int64) *Cluster {
|
|
s.NormalizedInstanceHours = &v
|
|
return s
|
|
}
|
|
|
|
// SetReleaseLabel sets the ReleaseLabel field's value.
|
|
func (s *Cluster) SetReleaseLabel(v string) *Cluster {
|
|
s.ReleaseLabel = &v
|
|
return s
|
|
}
|
|
|
|
// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value.
|
|
func (s *Cluster) SetRepoUpgradeOnBoot(v string) *Cluster {
|
|
s.RepoUpgradeOnBoot = &v
|
|
return s
|
|
}
|
|
|
|
// SetRequestedAmiVersion sets the RequestedAmiVersion field's value.
|
|
func (s *Cluster) SetRequestedAmiVersion(v string) *Cluster {
|
|
s.RequestedAmiVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetRunningAmiVersion sets the RunningAmiVersion field's value.
|
|
func (s *Cluster) SetRunningAmiVersion(v string) *Cluster {
|
|
s.RunningAmiVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetScaleDownBehavior sets the ScaleDownBehavior field's value.
|
|
func (s *Cluster) SetScaleDownBehavior(v string) *Cluster {
|
|
s.ScaleDownBehavior = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityConfiguration sets the SecurityConfiguration field's value.
|
|
func (s *Cluster) SetSecurityConfiguration(v string) *Cluster {
|
|
s.SecurityConfiguration = &v
|
|
return s
|
|
}
|
|
|
|
// SetServiceRole sets the ServiceRole field's value.
|
|
func (s *Cluster) SetServiceRole(v string) *Cluster {
|
|
s.ServiceRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *Cluster) SetStatus(v *ClusterStatus) *Cluster {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// SetTags sets the Tags field's value.
|
|
func (s *Cluster) SetTags(v []*Tag) *Cluster {
|
|
s.Tags = v
|
|
return s
|
|
}
|
|
|
|
// SetTerminationProtected sets the TerminationProtected field's value.
|
|
func (s *Cluster) SetTerminationProtected(v bool) *Cluster {
|
|
s.TerminationProtected = &v
|
|
return s
|
|
}
|
|
|
|
// SetVisibleToAllUsers sets the VisibleToAllUsers field's value.
|
|
func (s *Cluster) SetVisibleToAllUsers(v bool) *Cluster {
|
|
s.VisibleToAllUsers = &v
|
|
return s
|
|
}
|
|
|
|
// The reason that the cluster changed to its current state.
|
|
type ClusterStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The programmatic code for the state change reason.
|
|
Code *string `type:"string" enum:"ClusterStateChangeReasonCode"`
|
|
|
|
// The descriptive message for the state change reason.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ClusterStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ClusterStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *ClusterStateChangeReason) SetCode(v string) *ClusterStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *ClusterStateChangeReason) SetMessage(v string) *ClusterStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The detailed status of the cluster.
|
|
type ClusterStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The current state of the cluster.
|
|
State *string `type:"string" enum:"ClusterState"`
|
|
|
|
// The reason for the cluster status change.
|
|
StateChangeReason *ClusterStateChangeReason `type:"structure"`
|
|
|
|
// A timeline that represents the status of a cluster over the lifetime of the
|
|
// cluster.
|
|
Timeline *ClusterTimeline `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ClusterStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ClusterStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *ClusterStatus) SetState(v string) *ClusterStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *ClusterStatus) SetStateChangeReason(v *ClusterStateChangeReason) *ClusterStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// SetTimeline sets the Timeline field's value.
|
|
func (s *ClusterStatus) SetTimeline(v *ClusterTimeline) *ClusterStatus {
|
|
s.Timeline = v
|
|
return s
|
|
}
|
|
|
|
// The summary description of the cluster.
|
|
type ClusterSummary struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier for the cluster.
|
|
Id *string `type:"string"`
|
|
|
|
// The name of the cluster.
|
|
Name *string `type:"string"`
|
|
|
|
// An approximation of the cost of the cluster, represented in m1.small/hours.
|
|
// This value is incremented one time for every hour an m1.small instance runs.
|
|
// Larger instances are weighted more, so an EC2 instance that is roughly four
|
|
// times more expensive would result in the normalized instance hours being
|
|
// incremented by four. This result is only an approximation and does not reflect
|
|
// the actual billing rate.
|
|
NormalizedInstanceHours *int64 `type:"integer"`
|
|
|
|
// The details about the current status of the cluster.
|
|
Status *ClusterStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ClusterSummary) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ClusterSummary) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *ClusterSummary) SetId(v string) *ClusterSummary {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *ClusterSummary) SetName(v string) *ClusterSummary {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value.
|
|
func (s *ClusterSummary) SetNormalizedInstanceHours(v int64) *ClusterSummary {
|
|
s.NormalizedInstanceHours = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *ClusterSummary) SetStatus(v *ClusterStatus) *ClusterSummary {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// Represents the timeline of the cluster's lifecycle.
|
|
type ClusterTimeline struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The creation date and time of the cluster.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the cluster was terminated.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the cluster was ready to execute steps.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ClusterTimeline) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ClusterTimeline) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *ClusterTimeline) SetCreationDateTime(v time.Time) *ClusterTimeline {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *ClusterTimeline) SetEndDateTime(v time.Time) *ClusterTimeline {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *ClusterTimeline) SetReadyDateTime(v time.Time) *ClusterTimeline {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// An entity describing an executable that runs on a cluster.
|
|
type Command struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Arguments for Amazon EMR to pass to the command for execution.
|
|
Args []*string `type:"list"`
|
|
|
|
// The name of the command.
|
|
Name *string `type:"string"`
|
|
|
|
// The Amazon S3 location of the command script.
|
|
ScriptPath *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Command) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Command) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *Command) SetArgs(v []*string) *Command {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *Command) SetName(v string) *Command {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetScriptPath sets the ScriptPath field's value.
|
|
func (s *Command) SetScriptPath(v string) *Command {
|
|
s.ScriptPath = &v
|
|
return s
|
|
}
|
|
|
|
// Amazon EMR releases 4.x or later.
|
|
//
|
|
// An optional configuration specification to be used when provisioning cluster
|
|
// instances, which can include configurations for applications and software
|
|
// bundled with Amazon EMR. A configuration consists of a classification, properties,
|
|
// and optional nested configurations. A classification refers to an application-specific
|
|
// configuration file. Properties are the settings you want to change in that
|
|
// file. For more information, see Configuring Applications (http://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps.html).
|
|
type Configuration struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The classification within a configuration.
|
|
Classification *string `type:"string"`
|
|
|
|
// A list of additional configurations to apply within a configuration object.
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// A set of properties specified within a configuration classification.
|
|
Properties map[string]*string `type:"map"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Configuration) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Configuration) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetClassification sets the Classification field's value.
|
|
func (s *Configuration) SetClassification(v string) *Configuration {
|
|
s.Classification = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *Configuration) SetConfigurations(v []*Configuration) *Configuration {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetProperties sets the Properties field's value.
|
|
func (s *Configuration) SetProperties(v map[string]*string) *Configuration {
|
|
s.Properties = v
|
|
return s
|
|
}
|
|
|
|
type CreateSecurityConfigurationInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of the security configuration.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
|
|
// The security configuration details in JSON format. For JSON parameters and
|
|
// examples, see Use Security Configurations to Set Up Cluster Security (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html)
|
|
// in the Amazon EMR Management Guide.
|
|
//
|
|
// SecurityConfiguration is a required field
|
|
SecurityConfiguration *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CreateSecurityConfigurationInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CreateSecurityConfigurationInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *CreateSecurityConfigurationInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "CreateSecurityConfigurationInput"}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
if s.SecurityConfiguration == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SecurityConfiguration"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *CreateSecurityConfigurationInput) SetName(v string) *CreateSecurityConfigurationInput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityConfiguration sets the SecurityConfiguration field's value.
|
|
func (s *CreateSecurityConfigurationInput) SetSecurityConfiguration(v string) *CreateSecurityConfigurationInput {
|
|
s.SecurityConfiguration = &v
|
|
return s
|
|
}
|
|
|
|
type CreateSecurityConfigurationOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The date and time the security configuration was created.
|
|
//
|
|
// CreationDateTime is a required field
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
|
|
|
|
// The name of the security configuration.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s CreateSecurityConfigurationOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s CreateSecurityConfigurationOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *CreateSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *CreateSecurityConfigurationOutput {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *CreateSecurityConfigurationOutput) SetName(v string) *CreateSecurityConfigurationOutput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
type DeleteSecurityConfigurationInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of the security configuration.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeleteSecurityConfigurationInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeleteSecurityConfigurationInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DeleteSecurityConfigurationInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DeleteSecurityConfigurationInput"}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *DeleteSecurityConfigurationInput) SetName(v string) *DeleteSecurityConfigurationInput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
type DeleteSecurityConfigurationOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeleteSecurityConfigurationOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeleteSecurityConfigurationOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// This input determines which cluster to describe.
|
|
type DescribeClusterInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier of the cluster to describe.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeClusterInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeClusterInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DescribeClusterInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// This output contains the description of the cluster.
|
|
type DescribeClusterOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// This output contains the details for the requested cluster.
|
|
Cluster *Cluster `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeClusterOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeClusterOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCluster sets the Cluster field's value.
|
|
func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput {
|
|
s.Cluster = v
|
|
return s
|
|
}
|
|
|
|
// The input for the DescribeJobFlows operation.
|
|
type DescribeJobFlowsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Return only job flows created after this date and time.
|
|
CreatedAfter *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// Return only job flows created before this date and time.
|
|
CreatedBefore *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// Return only job flows whose job flow ID is contained in this list.
|
|
JobFlowIds []*string `type:"list"`
|
|
|
|
// Return only job flows whose state is contained in this list.
|
|
JobFlowStates []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeJobFlowsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeJobFlowsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreatedAfter sets the CreatedAfter field's value.
|
|
func (s *DescribeJobFlowsInput) SetCreatedAfter(v time.Time) *DescribeJobFlowsInput {
|
|
s.CreatedAfter = &v
|
|
return s
|
|
}
|
|
|
|
// SetCreatedBefore sets the CreatedBefore field's value.
|
|
func (s *DescribeJobFlowsInput) SetCreatedBefore(v time.Time) *DescribeJobFlowsInput {
|
|
s.CreatedBefore = &v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowIds sets the JobFlowIds field's value.
|
|
func (s *DescribeJobFlowsInput) SetJobFlowIds(v []*string) *DescribeJobFlowsInput {
|
|
s.JobFlowIds = v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowStates sets the JobFlowStates field's value.
|
|
func (s *DescribeJobFlowsInput) SetJobFlowStates(v []*string) *DescribeJobFlowsInput {
|
|
s.JobFlowStates = v
|
|
return s
|
|
}
|
|
|
|
// The output for the DescribeJobFlows operation.
|
|
type DescribeJobFlowsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of job flows matching the parameters supplied.
|
|
JobFlows []*JobFlowDetail `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeJobFlowsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeJobFlowsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetJobFlows sets the JobFlows field's value.
|
|
func (s *DescribeJobFlowsOutput) SetJobFlows(v []*JobFlowDetail) *DescribeJobFlowsOutput {
|
|
s.JobFlows = v
|
|
return s
|
|
}
|
|
|
|
type DescribeSecurityConfigurationInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of the security configuration.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeSecurityConfigurationInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeSecurityConfigurationInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DescribeSecurityConfigurationInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityConfigurationInput"}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *DescribeSecurityConfigurationInput) SetName(v string) *DescribeSecurityConfigurationInput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
type DescribeSecurityConfigurationOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The date and time the security configuration was created
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The name of the security configuration.
|
|
Name *string `type:"string"`
|
|
|
|
// The security configuration details in JSON format.
|
|
SecurityConfiguration *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeSecurityConfigurationOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeSecurityConfigurationOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *DescribeSecurityConfigurationOutput) SetCreationDateTime(v time.Time) *DescribeSecurityConfigurationOutput {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *DescribeSecurityConfigurationOutput) SetName(v string) *DescribeSecurityConfigurationOutput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityConfiguration sets the SecurityConfiguration field's value.
|
|
func (s *DescribeSecurityConfigurationOutput) SetSecurityConfiguration(v string) *DescribeSecurityConfigurationOutput {
|
|
s.SecurityConfiguration = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines which step to describe.
|
|
type DescribeStepInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier of the cluster with steps to describe.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The identifier of the step to describe.
|
|
//
|
|
// StepId is a required field
|
|
StepId *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeStepInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeStepInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DescribeStepInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DescribeStepInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
if s.StepId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("StepId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *DescribeStepInput) SetClusterId(v string) *DescribeStepInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetStepId sets the StepId field's value.
|
|
func (s *DescribeStepInput) SetStepId(v string) *DescribeStepInput {
|
|
s.StepId = &v
|
|
return s
|
|
}
|
|
|
|
// This output contains the description of the cluster step.
|
|
type DescribeStepOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The step details for the requested step identifier.
|
|
Step *Step `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DescribeStepOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DescribeStepOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetStep sets the Step field's value.
|
|
func (s *DescribeStepOutput) SetStep(v *Step) *DescribeStepOutput {
|
|
s.Step = v
|
|
return s
|
|
}
|
|
|
|
// Configuration of requested EBS block device associated with the instance
|
|
// group.
|
|
type EbsBlockDevice struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The device name that is exposed to the instance, such as /dev/sdh.
|
|
Device *string `type:"string"`
|
|
|
|
// EBS volume specifications such as volume type, IOPS, and size (GiB) that
|
|
// will be requested for the EBS volume attached to an EC2 instance in the cluster.
|
|
VolumeSpecification *VolumeSpecification `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s EbsBlockDevice) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s EbsBlockDevice) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetDevice sets the Device field's value.
|
|
func (s *EbsBlockDevice) SetDevice(v string) *EbsBlockDevice {
|
|
s.Device = &v
|
|
return s
|
|
}
|
|
|
|
// SetVolumeSpecification sets the VolumeSpecification field's value.
|
|
func (s *EbsBlockDevice) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDevice {
|
|
s.VolumeSpecification = v
|
|
return s
|
|
}
|
|
|
|
// Configuration of requested EBS block device associated with the instance
|
|
// group with count of volumes that will be associated to every instance.
|
|
type EbsBlockDeviceConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// EBS volume specifications such as volume type, IOPS, and size (GiB) that
|
|
// will be requested for the EBS volume attached to an EC2 instance in the cluster.
|
|
//
|
|
// VolumeSpecification is a required field
|
|
VolumeSpecification *VolumeSpecification `type:"structure" required:"true"`
|
|
|
|
// Number of EBS volumes with a specific volume configuration that will be associated
|
|
// with every instance in the instance group
|
|
VolumesPerInstance *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s EbsBlockDeviceConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s EbsBlockDeviceConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *EbsBlockDeviceConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "EbsBlockDeviceConfig"}
|
|
if s.VolumeSpecification == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("VolumeSpecification"))
|
|
}
|
|
if s.VolumeSpecification != nil {
|
|
if err := s.VolumeSpecification.Validate(); err != nil {
|
|
invalidParams.AddNested("VolumeSpecification", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetVolumeSpecification sets the VolumeSpecification field's value.
|
|
func (s *EbsBlockDeviceConfig) SetVolumeSpecification(v *VolumeSpecification) *EbsBlockDeviceConfig {
|
|
s.VolumeSpecification = v
|
|
return s
|
|
}
|
|
|
|
// SetVolumesPerInstance sets the VolumesPerInstance field's value.
|
|
func (s *EbsBlockDeviceConfig) SetVolumesPerInstance(v int64) *EbsBlockDeviceConfig {
|
|
s.VolumesPerInstance = &v
|
|
return s
|
|
}
|
|
|
|
// The Amazon EBS configuration of a cluster instance.
|
|
type EbsConfiguration struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An array of Amazon EBS volume specifications attached to a cluster instance.
|
|
EbsBlockDeviceConfigs []*EbsBlockDeviceConfig `type:"list"`
|
|
|
|
// Indicates whether an Amazon EBS volume is EBS-optimized.
|
|
EbsOptimized *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s EbsConfiguration) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s EbsConfiguration) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *EbsConfiguration) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "EbsConfiguration"}
|
|
if s.EbsBlockDeviceConfigs != nil {
|
|
for i, v := range s.EbsBlockDeviceConfigs {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EbsBlockDeviceConfigs", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetEbsBlockDeviceConfigs sets the EbsBlockDeviceConfigs field's value.
|
|
func (s *EbsConfiguration) SetEbsBlockDeviceConfigs(v []*EbsBlockDeviceConfig) *EbsConfiguration {
|
|
s.EbsBlockDeviceConfigs = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsOptimized sets the EbsOptimized field's value.
|
|
func (s *EbsConfiguration) SetEbsOptimized(v bool) *EbsConfiguration {
|
|
s.EbsOptimized = &v
|
|
return s
|
|
}
|
|
|
|
// EBS block device that's attached to an EC2 instance.
|
|
type EbsVolume struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The device name that is exposed to the instance, such as /dev/sdh.
|
|
Device *string `type:"string"`
|
|
|
|
// The volume identifier of the EBS volume.
|
|
VolumeId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s EbsVolume) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s EbsVolume) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetDevice sets the Device field's value.
|
|
func (s *EbsVolume) SetDevice(v string) *EbsVolume {
|
|
s.Device = &v
|
|
return s
|
|
}
|
|
|
|
// SetVolumeId sets the VolumeId field's value.
|
|
func (s *EbsVolume) SetVolumeId(v string) *EbsVolume {
|
|
s.VolumeId = &v
|
|
return s
|
|
}
|
|
|
|
// Provides information about the EC2 instances in a cluster grouped by category.
|
|
// For example, key name, subnet ID, IAM instance profile, and so on.
|
|
type Ec2InstanceAttributes struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of additional Amazon EC2 security group IDs for the master node.
|
|
AdditionalMasterSecurityGroups []*string `type:"list"`
|
|
|
|
// A list of additional Amazon EC2 security group IDs for the slave nodes.
|
|
AdditionalSlaveSecurityGroups []*string `type:"list"`
|
|
|
|
// The Availability Zone in which the cluster will run.
|
|
Ec2AvailabilityZone *string `type:"string"`
|
|
|
|
// The name of the Amazon EC2 key pair to use when connecting with SSH into
|
|
// the master node as a user named "hadoop".
|
|
Ec2KeyName *string `type:"string"`
|
|
|
|
// To launch the cluster in Amazon VPC, set this parameter to the identifier
|
|
// of the Amazon VPC subnet where you want the cluster to launch. If you do
|
|
// not specify this value, the cluster is launched in the normal AWS cloud,
|
|
// outside of a VPC.
|
|
//
|
|
// Amazon VPC currently does not support cluster compute quadruple extra large
|
|
// (cc1.4xlarge) instances. Thus, you cannot specify the cc1.4xlarge instance
|
|
// type for nodes of a cluster launched in a VPC.
|
|
Ec2SubnetId *string `type:"string"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the master node.
|
|
EmrManagedMasterSecurityGroup *string `type:"string"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the slave nodes.
|
|
EmrManagedSlaveSecurityGroup *string `type:"string"`
|
|
|
|
// The IAM role that was specified when the cluster was launched. The EC2 instances
|
|
// of the cluster assume this role.
|
|
IamInstanceProfile *string `type:"string"`
|
|
|
|
// Applies to clusters configured with the instance fleets option. Specifies
|
|
// one or more Availability Zones in which to launch EC2 cluster instances when
|
|
// the EC2-Classic network configuration is supported. Amazon EMR chooses the
|
|
// Availability Zone with the best fit from among the list of RequestedEc2AvailabilityZones,
|
|
// and then launches all cluster instances within that Availability Zone. If
|
|
// you do not specify this value, Amazon EMR chooses the Availability Zone for
|
|
// you. RequestedEc2SubnetIDs and RequestedEc2AvailabilityZones cannot be specified
|
|
// together.
|
|
RequestedEc2AvailabilityZones []*string `type:"list"`
|
|
|
|
// Applies to clusters configured with the instance fleets option. Specifies
|
|
// the unique identifier of one or more Amazon EC2 subnets in which to launch
|
|
// EC2 cluster instances. Subnets must exist within the same VPC. Amazon EMR
|
|
// chooses the EC2 subnet with the best fit from among the list of RequestedEc2SubnetIds,
|
|
// and then launches all cluster instances within that Subnet. If this value
|
|
// is not specified, and the account and region support EC2-Classic networks,
|
|
// the cluster launches instances in the EC2-Classic network and uses RequestedEc2AvailabilityZones
|
|
// instead of this setting. If EC2-Classic is not supported, and no Subnet is
|
|
// specified, Amazon EMR chooses the subnet for you. RequestedEc2SubnetIDs and
|
|
// RequestedEc2AvailabilityZones cannot be specified together.
|
|
RequestedEc2SubnetIds []*string `type:"list"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the Amazon EMR service
|
|
// to access clusters in VPC private subnets.
|
|
ServiceAccessSecurityGroup *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Ec2InstanceAttributes) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Ec2InstanceAttributes) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value.
|
|
func (s *Ec2InstanceAttributes) SetAdditionalMasterSecurityGroups(v []*string) *Ec2InstanceAttributes {
|
|
s.AdditionalMasterSecurityGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value.
|
|
func (s *Ec2InstanceAttributes) SetAdditionalSlaveSecurityGroups(v []*string) *Ec2InstanceAttributes {
|
|
s.AdditionalSlaveSecurityGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetEc2AvailabilityZone sets the Ec2AvailabilityZone field's value.
|
|
func (s *Ec2InstanceAttributes) SetEc2AvailabilityZone(v string) *Ec2InstanceAttributes {
|
|
s.Ec2AvailabilityZone = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2KeyName sets the Ec2KeyName field's value.
|
|
func (s *Ec2InstanceAttributes) SetEc2KeyName(v string) *Ec2InstanceAttributes {
|
|
s.Ec2KeyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2SubnetId sets the Ec2SubnetId field's value.
|
|
func (s *Ec2InstanceAttributes) SetEc2SubnetId(v string) *Ec2InstanceAttributes {
|
|
s.Ec2SubnetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value.
|
|
func (s *Ec2InstanceAttributes) SetEmrManagedMasterSecurityGroup(v string) *Ec2InstanceAttributes {
|
|
s.EmrManagedMasterSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value.
|
|
func (s *Ec2InstanceAttributes) SetEmrManagedSlaveSecurityGroup(v string) *Ec2InstanceAttributes {
|
|
s.EmrManagedSlaveSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// SetIamInstanceProfile sets the IamInstanceProfile field's value.
|
|
func (s *Ec2InstanceAttributes) SetIamInstanceProfile(v string) *Ec2InstanceAttributes {
|
|
s.IamInstanceProfile = &v
|
|
return s
|
|
}
|
|
|
|
// SetRequestedEc2AvailabilityZones sets the RequestedEc2AvailabilityZones field's value.
|
|
func (s *Ec2InstanceAttributes) SetRequestedEc2AvailabilityZones(v []*string) *Ec2InstanceAttributes {
|
|
s.RequestedEc2AvailabilityZones = v
|
|
return s
|
|
}
|
|
|
|
// SetRequestedEc2SubnetIds sets the RequestedEc2SubnetIds field's value.
|
|
func (s *Ec2InstanceAttributes) SetRequestedEc2SubnetIds(v []*string) *Ec2InstanceAttributes {
|
|
s.RequestedEc2SubnetIds = v
|
|
return s
|
|
}
|
|
|
|
// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value.
|
|
func (s *Ec2InstanceAttributes) SetServiceAccessSecurityGroup(v string) *Ec2InstanceAttributes {
|
|
s.ServiceAccessSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// The details of the step failure. The service attempts to detect the root
|
|
// cause for many common failures.
|
|
type FailureDetails struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The path to the log file where the step failure root cause was originally
|
|
// recorded.
|
|
LogFile *string `type:"string"`
|
|
|
|
// The descriptive message including the error the EMR service has identified
|
|
// as the cause of step failure. This is text from an error log that describes
|
|
// the root cause of the failure.
|
|
Message *string `type:"string"`
|
|
|
|
// The reason for the step failure. In the case where the service cannot successfully
|
|
// determine the root cause of the failure, it returns "Unknown Error" as a
|
|
// reason.
|
|
Reason *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s FailureDetails) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s FailureDetails) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetLogFile sets the LogFile field's value.
|
|
func (s *FailureDetails) SetLogFile(v string) *FailureDetails {
|
|
s.LogFile = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *FailureDetails) SetMessage(v string) *FailureDetails {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// SetReason sets the Reason field's value.
|
|
func (s *FailureDetails) SetReason(v string) *FailureDetails {
|
|
s.Reason = &v
|
|
return s
|
|
}
|
|
|
|
// A job flow step consisting of a JAR file whose main function will be executed.
|
|
// The main function submits a job for Hadoop to execute and waits for the job
|
|
// to finish or fail.
|
|
type HadoopJarStepConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of command line arguments passed to the JAR file's main function when
|
|
// executed.
|
|
Args []*string `type:"list"`
|
|
|
|
// A path to a JAR file run during the step.
|
|
//
|
|
// Jar is a required field
|
|
Jar *string `type:"string" required:"true"`
|
|
|
|
// The name of the main class in the specified Java file. If not specified,
|
|
// the JAR file should specify a Main-Class in its manifest file.
|
|
MainClass *string `type:"string"`
|
|
|
|
// A list of Java properties that are set when the step runs. You can use these
|
|
// properties to pass key value pairs to your main function.
|
|
Properties []*KeyValue `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s HadoopJarStepConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s HadoopJarStepConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *HadoopJarStepConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "HadoopJarStepConfig"}
|
|
if s.Jar == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Jar"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *HadoopJarStepConfig) SetArgs(v []*string) *HadoopJarStepConfig {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetJar sets the Jar field's value.
|
|
func (s *HadoopJarStepConfig) SetJar(v string) *HadoopJarStepConfig {
|
|
s.Jar = &v
|
|
return s
|
|
}
|
|
|
|
// SetMainClass sets the MainClass field's value.
|
|
func (s *HadoopJarStepConfig) SetMainClass(v string) *HadoopJarStepConfig {
|
|
s.MainClass = &v
|
|
return s
|
|
}
|
|
|
|
// SetProperties sets the Properties field's value.
|
|
func (s *HadoopJarStepConfig) SetProperties(v []*KeyValue) *HadoopJarStepConfig {
|
|
s.Properties = v
|
|
return s
|
|
}
|
|
|
|
// A cluster step consisting of a JAR file whose main function will be executed.
|
|
// The main function submits a job for Hadoop to execute and waits for the job
|
|
// to finish or fail.
|
|
type HadoopStepConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of command line arguments to pass to the JAR file's main function
|
|
// for execution.
|
|
Args []*string `type:"list"`
|
|
|
|
// The path to the JAR file that runs during the step.
|
|
Jar *string `type:"string"`
|
|
|
|
// The name of the main class in the specified Java file. If not specified,
|
|
// the JAR file should specify a main class in its manifest file.
|
|
MainClass *string `type:"string"`
|
|
|
|
// The list of Java properties that are set when the step runs. You can use
|
|
// these properties to pass key value pairs to your main function.
|
|
Properties map[string]*string `type:"map"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s HadoopStepConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s HadoopStepConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *HadoopStepConfig) SetArgs(v []*string) *HadoopStepConfig {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetJar sets the Jar field's value.
|
|
func (s *HadoopStepConfig) SetJar(v string) *HadoopStepConfig {
|
|
s.Jar = &v
|
|
return s
|
|
}
|
|
|
|
// SetMainClass sets the MainClass field's value.
|
|
func (s *HadoopStepConfig) SetMainClass(v string) *HadoopStepConfig {
|
|
s.MainClass = &v
|
|
return s
|
|
}
|
|
|
|
// SetProperties sets the Properties field's value.
|
|
func (s *HadoopStepConfig) SetProperties(v map[string]*string) *HadoopStepConfig {
|
|
s.Properties = v
|
|
return s
|
|
}
|
|
|
|
// Represents an EC2 instance provisioned as part of cluster.
|
|
type Instance struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of EBS volumes that are attached to this instance.
|
|
EbsVolumes []*EbsVolume `type:"list"`
|
|
|
|
// The unique identifier of the instance in Amazon EC2.
|
|
Ec2InstanceId *string `type:"string"`
|
|
|
|
// The unique identifier for the instance in Amazon EMR.
|
|
Id *string `type:"string"`
|
|
|
|
// The unique identifier of the instance fleet to which an EC2 instance belongs.
|
|
InstanceFleetId *string `type:"string"`
|
|
|
|
// The identifier of the instance group to which this instance belongs.
|
|
InstanceGroupId *string `type:"string"`
|
|
|
|
// The EC2 instance type, for example m3.xlarge.
|
|
InstanceType *string `min:"1" type:"string"`
|
|
|
|
// The instance purchasing option. Valid values are ON_DEMAND or SPOT.
|
|
Market *string `type:"string" enum:"MarketType"`
|
|
|
|
// The private DNS name of the instance.
|
|
PrivateDnsName *string `type:"string"`
|
|
|
|
// The private IP address of the instance.
|
|
PrivateIpAddress *string `type:"string"`
|
|
|
|
// The public DNS name of the instance.
|
|
PublicDnsName *string `type:"string"`
|
|
|
|
// The public IP address of the instance.
|
|
PublicIpAddress *string `type:"string"`
|
|
|
|
// The current status of the instance.
|
|
Status *InstanceStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Instance) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Instance) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetEbsVolumes sets the EbsVolumes field's value.
|
|
func (s *Instance) SetEbsVolumes(v []*EbsVolume) *Instance {
|
|
s.EbsVolumes = v
|
|
return s
|
|
}
|
|
|
|
// SetEc2InstanceId sets the Ec2InstanceId field's value.
|
|
func (s *Instance) SetEc2InstanceId(v string) *Instance {
|
|
s.Ec2InstanceId = &v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *Instance) SetId(v string) *Instance {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleetId sets the InstanceFleetId field's value.
|
|
func (s *Instance) SetInstanceFleetId(v string) *Instance {
|
|
s.InstanceFleetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *Instance) SetInstanceGroupId(v string) *Instance {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *Instance) SetInstanceType(v string) *Instance {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarket sets the Market field's value.
|
|
func (s *Instance) SetMarket(v string) *Instance {
|
|
s.Market = &v
|
|
return s
|
|
}
|
|
|
|
// SetPrivateDnsName sets the PrivateDnsName field's value.
|
|
func (s *Instance) SetPrivateDnsName(v string) *Instance {
|
|
s.PrivateDnsName = &v
|
|
return s
|
|
}
|
|
|
|
// SetPrivateIpAddress sets the PrivateIpAddress field's value.
|
|
func (s *Instance) SetPrivateIpAddress(v string) *Instance {
|
|
s.PrivateIpAddress = &v
|
|
return s
|
|
}
|
|
|
|
// SetPublicDnsName sets the PublicDnsName field's value.
|
|
func (s *Instance) SetPublicDnsName(v string) *Instance {
|
|
s.PublicDnsName = &v
|
|
return s
|
|
}
|
|
|
|
// SetPublicIpAddress sets the PublicIpAddress field's value.
|
|
func (s *Instance) SetPublicIpAddress(v string) *Instance {
|
|
s.PublicIpAddress = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *Instance) SetStatus(v *InstanceStatus) *Instance {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// Describes an instance fleet, which is a group of EC2 instances that host
|
|
// a particular node type (master, core, or task) in an Amazon EMR cluster.
|
|
// Instance fleets can consist of a mix of instance types and On-Demand and
|
|
// Spot instances, which are provisioned to meet a defined target capacity.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleet struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of the instance fleet.
|
|
Id *string `type:"string"`
|
|
|
|
// The node type that the instance fleet hosts. Valid values are MASTER, CORE,
|
|
// or TASK.
|
|
InstanceFleetType *string `type:"string" enum:"InstanceFleetType"`
|
|
|
|
// The specification for the instance types that comprise an instance fleet.
|
|
// Up to five unique instance specifications may be defined for each instance
|
|
// fleet.
|
|
InstanceTypeSpecifications []*InstanceTypeSpecification `type:"list"`
|
|
|
|
// Describes the launch specification for an instance fleet.
|
|
LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"`
|
|
|
|
// A friendly name for the instance fleet.
|
|
Name *string `type:"string"`
|
|
|
|
// The number of On-Demand units that have been provisioned for the instance
|
|
// fleet to fulfill TargetOnDemandCapacity. This provisioned capacity might
|
|
// be less than or greater than TargetOnDemandCapacity.
|
|
ProvisionedOnDemandCapacity *int64 `type:"integer"`
|
|
|
|
// The number of Spot units that have been provisioned for this instance fleet
|
|
// to fulfill TargetSpotCapacity. This provisioned capacity might be less than
|
|
// or greater than TargetSpotCapacity.
|
|
ProvisionedSpotCapacity *int64 `type:"integer"`
|
|
|
|
// The current status of the instance fleet.
|
|
Status *InstanceFleetStatus `type:"structure"`
|
|
|
|
// The target capacity of On-Demand units for the instance fleet, which determines
|
|
// how many On-Demand instances to provision. When the instance fleet launches,
|
|
// Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig.
|
|
// Each instance configuration has a specified WeightedCapacity. When an On-Demand
|
|
// instance is provisioned, the WeightedCapacity units count toward the target
|
|
// capacity. Amazon EMR provisions instances until the target capacity is totally
|
|
// fulfilled, even if this results in an overage. For example, if there are
|
|
// 2 units remaining to fulfill capacity, and Amazon EMR can only provision
|
|
// an instance with a WeightedCapacity of 5 units, the instance is provisioned,
|
|
// and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedOnDemandCapacity
|
|
// to determine the Spot capacity units that have been provisioned for the instance
|
|
// fleet.
|
|
//
|
|
// If not specified or set to 0, only Spot instances are provisioned for the
|
|
// instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity
|
|
// and TargetOnDemandCapacity should be greater than 0. For a master instance
|
|
// fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified,
|
|
// and its value must be 1.
|
|
TargetOnDemandCapacity *int64 `type:"integer"`
|
|
|
|
// The target capacity of Spot units for the instance fleet, which determines
|
|
// how many Spot instances to provision. When the instance fleet launches, Amazon
|
|
// EMR tries to provision Spot instances as specified by InstanceTypeConfig.
|
|
// Each instance configuration has a specified WeightedCapacity. When a Spot
|
|
// instance is provisioned, the WeightedCapacity units count toward the target
|
|
// capacity. Amazon EMR provisions instances until the target capacity is totally
|
|
// fulfilled, even if this results in an overage. For example, if there are
|
|
// 2 units remaining to fulfill capacity, and Amazon EMR can only provision
|
|
// an instance with a WeightedCapacity of 5 units, the instance is provisioned,
|
|
// and the target capacity is exceeded by 3 units. You can use InstanceFleet$ProvisionedSpotCapacity
|
|
// to determine the Spot capacity units that have been provisioned for the instance
|
|
// fleet.
|
|
//
|
|
// If not specified or set to 0, only On-Demand instances are provisioned for
|
|
// the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity
|
|
// should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity
|
|
// and TargetOnDemandCapacity can be specified, and its value must be 1.
|
|
TargetSpotCapacity *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleet) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleet) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *InstanceFleet) SetId(v string) *InstanceFleet {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleetType sets the InstanceFleetType field's value.
|
|
func (s *InstanceFleet) SetInstanceFleetType(v string) *InstanceFleet {
|
|
s.InstanceFleetType = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceTypeSpecifications sets the InstanceTypeSpecifications field's value.
|
|
func (s *InstanceFleet) SetInstanceTypeSpecifications(v []*InstanceTypeSpecification) *InstanceFleet {
|
|
s.InstanceTypeSpecifications = v
|
|
return s
|
|
}
|
|
|
|
// SetLaunchSpecifications sets the LaunchSpecifications field's value.
|
|
func (s *InstanceFleet) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleet {
|
|
s.LaunchSpecifications = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *InstanceFleet) SetName(v string) *InstanceFleet {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetProvisionedOnDemandCapacity sets the ProvisionedOnDemandCapacity field's value.
|
|
func (s *InstanceFleet) SetProvisionedOnDemandCapacity(v int64) *InstanceFleet {
|
|
s.ProvisionedOnDemandCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetProvisionedSpotCapacity sets the ProvisionedSpotCapacity field's value.
|
|
func (s *InstanceFleet) SetProvisionedSpotCapacity(v int64) *InstanceFleet {
|
|
s.ProvisionedSpotCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *InstanceFleet) SetStatus(v *InstanceFleetStatus) *InstanceFleet {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value.
|
|
func (s *InstanceFleet) SetTargetOnDemandCapacity(v int64) *InstanceFleet {
|
|
s.TargetOnDemandCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetTargetSpotCapacity sets the TargetSpotCapacity field's value.
|
|
func (s *InstanceFleet) SetTargetSpotCapacity(v int64) *InstanceFleet {
|
|
s.TargetSpotCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// The configuration that defines an instance fleet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The node type that the instance fleet hosts. Valid values are MASTER,CORE,and
|
|
// TASK.
|
|
//
|
|
// InstanceFleetType is a required field
|
|
InstanceFleetType *string `type:"string" required:"true" enum:"InstanceFleetType"`
|
|
|
|
// The instance type configurations that define the EC2 instances in the instance
|
|
// fleet.
|
|
InstanceTypeConfigs []*InstanceTypeConfig `type:"list"`
|
|
|
|
// The launch specification for the instance fleet.
|
|
LaunchSpecifications *InstanceFleetProvisioningSpecifications `type:"structure"`
|
|
|
|
// The friendly name of the instance fleet.
|
|
Name *string `type:"string"`
|
|
|
|
// The target capacity of On-Demand units for the instance fleet, which determines
|
|
// how many On-Demand instances to provision. When the instance fleet launches,
|
|
// Amazon EMR tries to provision On-Demand instances as specified by InstanceTypeConfig.
|
|
// Each instance configuration has a specified WeightedCapacity. When an On-Demand
|
|
// instance is provisioned, the WeightedCapacity units count toward the target
|
|
// capacity. Amazon EMR provisions instances until the target capacity is totally
|
|
// fulfilled, even if this results in an overage. For example, if there are
|
|
// 2 units remaining to fulfill capacity, and Amazon EMR can only provision
|
|
// an instance with a WeightedCapacity of 5 units, the instance is provisioned,
|
|
// and the target capacity is exceeded by 3 units.
|
|
//
|
|
// If not specified or set to 0, only Spot instances are provisioned for the
|
|
// instance fleet using TargetSpotCapacity. At least one of TargetSpotCapacity
|
|
// and TargetOnDemandCapacity should be greater than 0. For a master instance
|
|
// fleet, only one of TargetSpotCapacity and TargetOnDemandCapacity can be specified,
|
|
// and its value must be 1.
|
|
TargetOnDemandCapacity *int64 `type:"integer"`
|
|
|
|
// The target capacity of Spot units for the instance fleet, which determines
|
|
// how many Spot instances to provision. When the instance fleet launches, Amazon
|
|
// EMR tries to provision Spot instances as specified by InstanceTypeConfig.
|
|
// Each instance configuration has a specified WeightedCapacity. When a Spot
|
|
// instance is provisioned, the WeightedCapacity units count toward the target
|
|
// capacity. Amazon EMR provisions instances until the target capacity is totally
|
|
// fulfilled, even if this results in an overage. For example, if there are
|
|
// 2 units remaining to fulfill capacity, and Amazon EMR can only provision
|
|
// an instance with a WeightedCapacity of 5 units, the instance is provisioned,
|
|
// and the target capacity is exceeded by 3 units.
|
|
//
|
|
// If not specified or set to 0, only On-Demand instances are provisioned for
|
|
// the instance fleet. At least one of TargetSpotCapacity and TargetOnDemandCapacity
|
|
// should be greater than 0. For a master instance fleet, only one of TargetSpotCapacity
|
|
// and TargetOnDemandCapacity can be specified, and its value must be 1.
|
|
TargetSpotCapacity *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceFleetConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceFleetConfig"}
|
|
if s.InstanceFleetType == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceFleetType"))
|
|
}
|
|
if s.InstanceTypeConfigs != nil {
|
|
for i, v := range s.InstanceTypeConfigs {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceTypeConfigs", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
if s.LaunchSpecifications != nil {
|
|
if err := s.LaunchSpecifications.Validate(); err != nil {
|
|
invalidParams.AddNested("LaunchSpecifications", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetInstanceFleetType sets the InstanceFleetType field's value.
|
|
func (s *InstanceFleetConfig) SetInstanceFleetType(v string) *InstanceFleetConfig {
|
|
s.InstanceFleetType = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceTypeConfigs sets the InstanceTypeConfigs field's value.
|
|
func (s *InstanceFleetConfig) SetInstanceTypeConfigs(v []*InstanceTypeConfig) *InstanceFleetConfig {
|
|
s.InstanceTypeConfigs = v
|
|
return s
|
|
}
|
|
|
|
// SetLaunchSpecifications sets the LaunchSpecifications field's value.
|
|
func (s *InstanceFleetConfig) SetLaunchSpecifications(v *InstanceFleetProvisioningSpecifications) *InstanceFleetConfig {
|
|
s.LaunchSpecifications = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *InstanceFleetConfig) SetName(v string) *InstanceFleetConfig {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value.
|
|
func (s *InstanceFleetConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetConfig {
|
|
s.TargetOnDemandCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetTargetSpotCapacity sets the TargetSpotCapacity field's value.
|
|
func (s *InstanceFleetConfig) SetTargetSpotCapacity(v int64) *InstanceFleetConfig {
|
|
s.TargetSpotCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// Configuration parameters for an instance fleet modification request.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetModifyConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A unique identifier for the instance fleet.
|
|
//
|
|
// InstanceFleetId is a required field
|
|
InstanceFleetId *string `type:"string" required:"true"`
|
|
|
|
// The target capacity of On-Demand units for the instance fleet. For more information
|
|
// see InstanceFleetConfig$TargetOnDemandCapacity.
|
|
TargetOnDemandCapacity *int64 `type:"integer"`
|
|
|
|
// The target capacity of Spot units for the instance fleet. For more information,
|
|
// see InstanceFleetConfig$TargetSpotCapacity.
|
|
TargetSpotCapacity *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetModifyConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetModifyConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceFleetModifyConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceFleetModifyConfig"}
|
|
if s.InstanceFleetId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceFleetId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetInstanceFleetId sets the InstanceFleetId field's value.
|
|
func (s *InstanceFleetModifyConfig) SetInstanceFleetId(v string) *InstanceFleetModifyConfig {
|
|
s.InstanceFleetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetTargetOnDemandCapacity sets the TargetOnDemandCapacity field's value.
|
|
func (s *InstanceFleetModifyConfig) SetTargetOnDemandCapacity(v int64) *InstanceFleetModifyConfig {
|
|
s.TargetOnDemandCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetTargetSpotCapacity sets the TargetSpotCapacity field's value.
|
|
func (s *InstanceFleetModifyConfig) SetTargetSpotCapacity(v int64) *InstanceFleetModifyConfig {
|
|
s.TargetSpotCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// The launch specification for Spot instances in the fleet, which determines
|
|
// the defined duration and provisioning timeout behavior.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetProvisioningSpecifications struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The launch specification for Spot instances in the fleet, which determines
|
|
// the defined duration and provisioning timeout behavior.
|
|
//
|
|
// SpotSpecification is a required field
|
|
SpotSpecification *SpotProvisioningSpecification `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetProvisioningSpecifications) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetProvisioningSpecifications) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceFleetProvisioningSpecifications) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceFleetProvisioningSpecifications"}
|
|
if s.SpotSpecification == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SpotSpecification"))
|
|
}
|
|
if s.SpotSpecification != nil {
|
|
if err := s.SpotSpecification.Validate(); err != nil {
|
|
invalidParams.AddNested("SpotSpecification", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetSpotSpecification sets the SpotSpecification field's value.
|
|
func (s *InstanceFleetProvisioningSpecifications) SetSpotSpecification(v *SpotProvisioningSpecification) *InstanceFleetProvisioningSpecifications {
|
|
s.SpotSpecification = v
|
|
return s
|
|
}
|
|
|
|
// Provides status change reason details for the instance fleet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A code corresponding to the reason the state change occurred.
|
|
Code *string `type:"string" enum:"InstanceFleetStateChangeReasonCode"`
|
|
|
|
// An explanatory message.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *InstanceFleetStateChangeReason) SetCode(v string) *InstanceFleetStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *InstanceFleetStateChangeReason) SetMessage(v string) *InstanceFleetStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The status of the instance fleet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A code representing the instance fleet status.
|
|
//
|
|
// * PROVISIONING—The instance fleet is provisioning EC2 resources and is
|
|
// not yet ready to run jobs.
|
|
//
|
|
// * BOOTSTRAPPING—EC2 instances and other resources have been provisioned
|
|
// and the bootstrap actions specified for the instances are underway.
|
|
//
|
|
// * RUNNING—EC2 instances and other resources are running. They are either
|
|
// executing jobs or waiting to execute jobs.
|
|
//
|
|
// * RESIZING—A resize operation is underway. EC2 instances are either being
|
|
// added or removed.
|
|
//
|
|
// * SUSPENDED—A resize operation could not complete. Existing EC2 instances
|
|
// are running, but instances can't be added or removed.
|
|
//
|
|
// * TERMINATING—The instance fleet is terminating EC2 instances.
|
|
//
|
|
// * TERMINATED—The instance fleet is no longer active, and all EC2 instances
|
|
// have been terminated.
|
|
State *string `type:"string" enum:"InstanceFleetState"`
|
|
|
|
// Provides status change reason details for the instance fleet.
|
|
StateChangeReason *InstanceFleetStateChangeReason `type:"structure"`
|
|
|
|
// Provides historical timestamps for the instance fleet, including the time
|
|
// of creation, the time it became ready to run jobs, and the time of termination.
|
|
Timeline *InstanceFleetTimeline `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *InstanceFleetStatus) SetState(v string) *InstanceFleetStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *InstanceFleetStatus) SetStateChangeReason(v *InstanceFleetStateChangeReason) *InstanceFleetStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// SetTimeline sets the Timeline field's value.
|
|
func (s *InstanceFleetStatus) SetTimeline(v *InstanceFleetTimeline) *InstanceFleetStatus {
|
|
s.Timeline = v
|
|
return s
|
|
}
|
|
|
|
// Provides historical timestamps for the instance fleet, including the time
|
|
// of creation, the time it became ready to run jobs, and the time of termination.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceFleetTimeline struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The time and date the instance fleet was created.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The time and date the instance fleet terminated.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The time and date the instance fleet was ready to run jobs.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceFleetTimeline) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceFleetTimeline) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *InstanceFleetTimeline) SetCreationDateTime(v time.Time) *InstanceFleetTimeline {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *InstanceFleetTimeline) SetEndDateTime(v time.Time) *InstanceFleetTimeline {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *InstanceFleetTimeline) SetReadyDateTime(v time.Time) *InstanceFleetTimeline {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// This entity represents an instance group, which is a group of instances that
|
|
// have common purpose. For example, CORE instance group is used for HDFS.
|
|
type InstanceGroup struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An automatic scaling policy for a core instance group or task instance group
|
|
// in an Amazon EMR cluster. The automatic scaling policy defines how an instance
|
|
// group dynamically adds and terminates EC2 instances in response to the value
|
|
// of a CloudWatch metric. See PutAutoScalingPolicy.
|
|
AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"`
|
|
|
|
// The bid price for each EC2 instance in the instance group when launching
|
|
// nodes as Spot Instances, expressed in USD.
|
|
BidPrice *string `type:"string"`
|
|
|
|
// Amazon EMR releases 4.x or later.
|
|
//
|
|
// The list of configurations supplied for an EMR cluster instance group. You
|
|
// can specify a separate configuration for each instance group (master, core,
|
|
// and task).
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// The EBS block devices that are mapped to this instance group.
|
|
EbsBlockDevices []*EbsBlockDevice `type:"list"`
|
|
|
|
// If the instance group is EBS-optimized. An Amazon EBS-optimized instance
|
|
// uses an optimized configuration stack and provides additional, dedicated
|
|
// capacity for Amazon EBS I/O.
|
|
EbsOptimized *bool `type:"boolean"`
|
|
|
|
// The identifier of the instance group.
|
|
Id *string `type:"string"`
|
|
|
|
// The type of the instance group. Valid values are MASTER, CORE or TASK.
|
|
InstanceGroupType *string `type:"string" enum:"InstanceGroupType"`
|
|
|
|
// The EC2 instance type for all instances in the instance group.
|
|
InstanceType *string `min:"1" type:"string"`
|
|
|
|
// The marketplace to provision instances for this group. Valid values are ON_DEMAND
|
|
// or SPOT.
|
|
Market *string `type:"string" enum:"MarketType"`
|
|
|
|
// The name of the instance group.
|
|
Name *string `type:"string"`
|
|
|
|
// The target number of instances for the instance group.
|
|
RequestedInstanceCount *int64 `type:"integer"`
|
|
|
|
// The number of instances currently running in this instance group.
|
|
RunningInstanceCount *int64 `type:"integer"`
|
|
|
|
// Policy for customizing shrink operations.
|
|
ShrinkPolicy *ShrinkPolicy `type:"structure"`
|
|
|
|
// The current status of the instance group.
|
|
Status *InstanceGroupStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroup) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroup) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
|
|
func (s *InstanceGroup) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *InstanceGroup {
|
|
s.AutoScalingPolicy = v
|
|
return s
|
|
}
|
|
|
|
// SetBidPrice sets the BidPrice field's value.
|
|
func (s *InstanceGroup) SetBidPrice(v string) *InstanceGroup {
|
|
s.BidPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *InstanceGroup) SetConfigurations(v []*Configuration) *InstanceGroup {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsBlockDevices sets the EbsBlockDevices field's value.
|
|
func (s *InstanceGroup) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceGroup {
|
|
s.EbsBlockDevices = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsOptimized sets the EbsOptimized field's value.
|
|
func (s *InstanceGroup) SetEbsOptimized(v bool) *InstanceGroup {
|
|
s.EbsOptimized = &v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *InstanceGroup) SetId(v string) *InstanceGroup {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupType sets the InstanceGroupType field's value.
|
|
func (s *InstanceGroup) SetInstanceGroupType(v string) *InstanceGroup {
|
|
s.InstanceGroupType = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *InstanceGroup) SetInstanceType(v string) *InstanceGroup {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarket sets the Market field's value.
|
|
func (s *InstanceGroup) SetMarket(v string) *InstanceGroup {
|
|
s.Market = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *InstanceGroup) SetName(v string) *InstanceGroup {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetRequestedInstanceCount sets the RequestedInstanceCount field's value.
|
|
func (s *InstanceGroup) SetRequestedInstanceCount(v int64) *InstanceGroup {
|
|
s.RequestedInstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetRunningInstanceCount sets the RunningInstanceCount field's value.
|
|
func (s *InstanceGroup) SetRunningInstanceCount(v int64) *InstanceGroup {
|
|
s.RunningInstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetShrinkPolicy sets the ShrinkPolicy field's value.
|
|
func (s *InstanceGroup) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroup {
|
|
s.ShrinkPolicy = v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *InstanceGroup) SetStatus(v *InstanceGroupStatus) *InstanceGroup {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// Configuration defining a new instance group.
|
|
type InstanceGroupConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An automatic scaling policy for a core instance group or task instance group
|
|
// in an Amazon EMR cluster. The automatic scaling policy defines how an instance
|
|
// group dynamically adds and terminates EC2 instances in response to the value
|
|
// of a CloudWatch metric. See PutAutoScalingPolicy.
|
|
AutoScalingPolicy *AutoScalingPolicy `type:"structure"`
|
|
|
|
// Bid price for each EC2 instance in the instance group when launching nodes
|
|
// as Spot Instances, expressed in USD.
|
|
BidPrice *string `type:"string"`
|
|
|
|
// Amazon EMR releases 4.x or later.
|
|
//
|
|
// The list of configurations supplied for an EMR cluster instance group. You
|
|
// can specify a separate configuration for each instance group (master, core,
|
|
// and task).
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// EBS configurations that will be attached to each EC2 instance in the instance
|
|
// group.
|
|
EbsConfiguration *EbsConfiguration `type:"structure"`
|
|
|
|
// Target number of instances for the instance group.
|
|
//
|
|
// InstanceCount is a required field
|
|
InstanceCount *int64 `type:"integer" required:"true"`
|
|
|
|
// The role of the instance group in the cluster.
|
|
//
|
|
// InstanceRole is a required field
|
|
InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"`
|
|
|
|
// The EC2 instance type for all instances in the instance group.
|
|
//
|
|
// InstanceType is a required field
|
|
InstanceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// Market type of the EC2 instances used to create a cluster node.
|
|
Market *string `type:"string" enum:"MarketType"`
|
|
|
|
// Friendly name given to the instance group.
|
|
Name *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceGroupConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceGroupConfig"}
|
|
if s.InstanceCount == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceCount"))
|
|
}
|
|
if s.InstanceRole == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceRole"))
|
|
}
|
|
if s.InstanceType == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceType"))
|
|
}
|
|
if s.InstanceType != nil && len(*s.InstanceType) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
|
|
}
|
|
if s.AutoScalingPolicy != nil {
|
|
if err := s.AutoScalingPolicy.Validate(); err != nil {
|
|
invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.EbsConfiguration != nil {
|
|
if err := s.EbsConfiguration.Validate(); err != nil {
|
|
invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
|
|
func (s *InstanceGroupConfig) SetAutoScalingPolicy(v *AutoScalingPolicy) *InstanceGroupConfig {
|
|
s.AutoScalingPolicy = v
|
|
return s
|
|
}
|
|
|
|
// SetBidPrice sets the BidPrice field's value.
|
|
func (s *InstanceGroupConfig) SetBidPrice(v string) *InstanceGroupConfig {
|
|
s.BidPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *InstanceGroupConfig) SetConfigurations(v []*Configuration) *InstanceGroupConfig {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsConfiguration sets the EbsConfiguration field's value.
|
|
func (s *InstanceGroupConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceGroupConfig {
|
|
s.EbsConfiguration = v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceCount sets the InstanceCount field's value.
|
|
func (s *InstanceGroupConfig) SetInstanceCount(v int64) *InstanceGroupConfig {
|
|
s.InstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceRole sets the InstanceRole field's value.
|
|
func (s *InstanceGroupConfig) SetInstanceRole(v string) *InstanceGroupConfig {
|
|
s.InstanceRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *InstanceGroupConfig) SetInstanceType(v string) *InstanceGroupConfig {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarket sets the Market field's value.
|
|
func (s *InstanceGroupConfig) SetMarket(v string) *InstanceGroupConfig {
|
|
s.Market = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *InstanceGroupConfig) SetName(v string) *InstanceGroupConfig {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// Detailed information about an instance group.
|
|
type InstanceGroupDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Bid price for EC2 Instances when launching nodes as Spot Instances, expressed
|
|
// in USD.
|
|
BidPrice *string `type:"string"`
|
|
|
|
// The date/time the instance group was created.
|
|
//
|
|
// CreationDateTime is a required field
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
|
|
|
|
// The date/time the instance group was terminated.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// Unique identifier for the instance group.
|
|
InstanceGroupId *string `type:"string"`
|
|
|
|
// Target number of instances to run in the instance group.
|
|
//
|
|
// InstanceRequestCount is a required field
|
|
InstanceRequestCount *int64 `type:"integer" required:"true"`
|
|
|
|
// Instance group role in the cluster
|
|
//
|
|
// InstanceRole is a required field
|
|
InstanceRole *string `type:"string" required:"true" enum:"InstanceRoleType"`
|
|
|
|
// Actual count of running instances.
|
|
//
|
|
// InstanceRunningCount is a required field
|
|
InstanceRunningCount *int64 `type:"integer" required:"true"`
|
|
|
|
// EC2 instance type.
|
|
//
|
|
// InstanceType is a required field
|
|
InstanceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// Details regarding the state of the instance group.
|
|
LastStateChangeReason *string `type:"string"`
|
|
|
|
// Market type of the EC2 instances used to create a cluster node.
|
|
//
|
|
// Market is a required field
|
|
Market *string `type:"string" required:"true" enum:"MarketType"`
|
|
|
|
// Friendly name for the instance group.
|
|
Name *string `type:"string"`
|
|
|
|
// The date/time the instance group was available to the cluster.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date/time the instance group was started.
|
|
StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// State of instance group. The following values are deprecated: STARTING, TERMINATED,
|
|
// and FAILED.
|
|
//
|
|
// State is a required field
|
|
State *string `type:"string" required:"true" enum:"InstanceGroupState"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBidPrice sets the BidPrice field's value.
|
|
func (s *InstanceGroupDetail) SetBidPrice(v string) *InstanceGroupDetail {
|
|
s.BidPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *InstanceGroupDetail) SetCreationDateTime(v time.Time) *InstanceGroupDetail {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *InstanceGroupDetail) SetEndDateTime(v time.Time) *InstanceGroupDetail {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *InstanceGroupDetail) SetInstanceGroupId(v string) *InstanceGroupDetail {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceRequestCount sets the InstanceRequestCount field's value.
|
|
func (s *InstanceGroupDetail) SetInstanceRequestCount(v int64) *InstanceGroupDetail {
|
|
s.InstanceRequestCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceRole sets the InstanceRole field's value.
|
|
func (s *InstanceGroupDetail) SetInstanceRole(v string) *InstanceGroupDetail {
|
|
s.InstanceRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceRunningCount sets the InstanceRunningCount field's value.
|
|
func (s *InstanceGroupDetail) SetInstanceRunningCount(v int64) *InstanceGroupDetail {
|
|
s.InstanceRunningCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *InstanceGroupDetail) SetInstanceType(v string) *InstanceGroupDetail {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetLastStateChangeReason sets the LastStateChangeReason field's value.
|
|
func (s *InstanceGroupDetail) SetLastStateChangeReason(v string) *InstanceGroupDetail {
|
|
s.LastStateChangeReason = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarket sets the Market field's value.
|
|
func (s *InstanceGroupDetail) SetMarket(v string) *InstanceGroupDetail {
|
|
s.Market = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *InstanceGroupDetail) SetName(v string) *InstanceGroupDetail {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *InstanceGroupDetail) SetReadyDateTime(v time.Time) *InstanceGroupDetail {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetStartDateTime sets the StartDateTime field's value.
|
|
func (s *InstanceGroupDetail) SetStartDateTime(v time.Time) *InstanceGroupDetail {
|
|
s.StartDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *InstanceGroupDetail) SetState(v string) *InstanceGroupDetail {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// Modify an instance group size.
|
|
type InstanceGroupModifyConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The EC2 InstanceIds to terminate. After you terminate the instances, the
|
|
// instance group will not return to its original requested size.
|
|
EC2InstanceIdsToTerminate []*string `type:"list"`
|
|
|
|
// Target size for the instance group.
|
|
InstanceCount *int64 `type:"integer"`
|
|
|
|
// Unique ID of the instance group to expand or shrink.
|
|
//
|
|
// InstanceGroupId is a required field
|
|
InstanceGroupId *string `type:"string" required:"true"`
|
|
|
|
// Policy for customizing shrink operations.
|
|
ShrinkPolicy *ShrinkPolicy `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupModifyConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupModifyConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceGroupModifyConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceGroupModifyConfig"}
|
|
if s.InstanceGroupId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceGroupId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetEC2InstanceIdsToTerminate sets the EC2InstanceIdsToTerminate field's value.
|
|
func (s *InstanceGroupModifyConfig) SetEC2InstanceIdsToTerminate(v []*string) *InstanceGroupModifyConfig {
|
|
s.EC2InstanceIdsToTerminate = v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceCount sets the InstanceCount field's value.
|
|
func (s *InstanceGroupModifyConfig) SetInstanceCount(v int64) *InstanceGroupModifyConfig {
|
|
s.InstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *InstanceGroupModifyConfig) SetInstanceGroupId(v string) *InstanceGroupModifyConfig {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
// SetShrinkPolicy sets the ShrinkPolicy field's value.
|
|
func (s *InstanceGroupModifyConfig) SetShrinkPolicy(v *ShrinkPolicy) *InstanceGroupModifyConfig {
|
|
s.ShrinkPolicy = v
|
|
return s
|
|
}
|
|
|
|
// The status change reason details for the instance group.
|
|
type InstanceGroupStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The programmable code for the state change reason.
|
|
Code *string `type:"string" enum:"InstanceGroupStateChangeReasonCode"`
|
|
|
|
// The status change reason description.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *InstanceGroupStateChangeReason) SetCode(v string) *InstanceGroupStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *InstanceGroupStateChangeReason) SetMessage(v string) *InstanceGroupStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The details of the instance group status.
|
|
type InstanceGroupStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The current state of the instance group.
|
|
State *string `type:"string" enum:"InstanceGroupState"`
|
|
|
|
// The status change reason details for the instance group.
|
|
StateChangeReason *InstanceGroupStateChangeReason `type:"structure"`
|
|
|
|
// The timeline of the instance group status over time.
|
|
Timeline *InstanceGroupTimeline `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *InstanceGroupStatus) SetState(v string) *InstanceGroupStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *InstanceGroupStatus) SetStateChangeReason(v *InstanceGroupStateChangeReason) *InstanceGroupStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// SetTimeline sets the Timeline field's value.
|
|
func (s *InstanceGroupStatus) SetTimeline(v *InstanceGroupTimeline) *InstanceGroupStatus {
|
|
s.Timeline = v
|
|
return s
|
|
}
|
|
|
|
// The timeline of the instance group lifecycle.
|
|
type InstanceGroupTimeline struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The creation date and time of the instance group.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the instance group terminated.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the instance group became ready to perform tasks.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceGroupTimeline) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceGroupTimeline) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *InstanceGroupTimeline) SetCreationDateTime(v time.Time) *InstanceGroupTimeline {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *InstanceGroupTimeline) SetEndDateTime(v time.Time) *InstanceGroupTimeline {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *InstanceGroupTimeline) SetReadyDateTime(v time.Time) *InstanceGroupTimeline {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// Custom policy for requesting termination protection or termination of specific
|
|
// instances when shrinking an instance group.
|
|
type InstanceResizePolicy struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Decommissioning timeout override for the specific list of instances to be
|
|
// terminated.
|
|
InstanceTerminationTimeout *int64 `type:"integer"`
|
|
|
|
// Specific list of instances to be protected when shrinking an instance group.
|
|
InstancesToProtect []*string `type:"list"`
|
|
|
|
// Specific list of instances to be terminated when shrinking an instance group.
|
|
InstancesToTerminate []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceResizePolicy) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceResizePolicy) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetInstanceTerminationTimeout sets the InstanceTerminationTimeout field's value.
|
|
func (s *InstanceResizePolicy) SetInstanceTerminationTimeout(v int64) *InstanceResizePolicy {
|
|
s.InstanceTerminationTimeout = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstancesToProtect sets the InstancesToProtect field's value.
|
|
func (s *InstanceResizePolicy) SetInstancesToProtect(v []*string) *InstanceResizePolicy {
|
|
s.InstancesToProtect = v
|
|
return s
|
|
}
|
|
|
|
// SetInstancesToTerminate sets the InstancesToTerminate field's value.
|
|
func (s *InstanceResizePolicy) SetInstancesToTerminate(v []*string) *InstanceResizePolicy {
|
|
s.InstancesToTerminate = v
|
|
return s
|
|
}
|
|
|
|
// The details of the status change reason for the instance.
|
|
type InstanceStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The programmable code for the state change reason.
|
|
Code *string `type:"string" enum:"InstanceStateChangeReasonCode"`
|
|
|
|
// The status change reason description.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *InstanceStateChangeReason) SetCode(v string) *InstanceStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *InstanceStateChangeReason) SetMessage(v string) *InstanceStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The instance status details.
|
|
type InstanceStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The current state of the instance.
|
|
State *string `type:"string" enum:"InstanceState"`
|
|
|
|
// The details of the status change reason for the instance.
|
|
StateChangeReason *InstanceStateChangeReason `type:"structure"`
|
|
|
|
// The timeline of the instance status over time.
|
|
Timeline *InstanceTimeline `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *InstanceStatus) SetState(v string) *InstanceStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *InstanceStatus) SetStateChangeReason(v *InstanceStateChangeReason) *InstanceStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// SetTimeline sets the Timeline field's value.
|
|
func (s *InstanceStatus) SetTimeline(v *InstanceTimeline) *InstanceStatus {
|
|
s.Timeline = v
|
|
return s
|
|
}
|
|
|
|
// The timeline of the instance lifecycle.
|
|
type InstanceTimeline struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The creation date and time of the instance.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the instance was terminated.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the instance was ready to perform tasks.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceTimeline) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceTimeline) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *InstanceTimeline) SetCreationDateTime(v time.Time) *InstanceTimeline {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *InstanceTimeline) SetEndDateTime(v time.Time) *InstanceTimeline {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *InstanceTimeline) SetReadyDateTime(v time.Time) *InstanceTimeline {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// An instance type configuration for each instance type in an instance fleet,
|
|
// which determines the EC2 instances Amazon EMR attempts to provision to fulfill
|
|
// On-Demand and Spot target capacities. There can be a maximum of 5 instance
|
|
// type configurations in a fleet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceTypeConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The bid price for each EC2 Spot instance type as defined by InstanceType.
|
|
// Expressed in USD. If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice
|
|
// is provided, BidPriceAsPercentageOfOnDemandPrice defaults to 100%.
|
|
BidPrice *string `type:"string"`
|
|
|
|
// The bid price, as a percentage of On-Demand price, for each EC2 Spot instance
|
|
// as defined by InstanceType. Expressed as a number (for example, 20 specifies
|
|
// 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided,
|
|
// BidPriceAsPercentageOfOnDemandPrice defaults to 100%.
|
|
BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"`
|
|
|
|
// A configuration classification that applies when provisioning cluster instances,
|
|
// which can include configurations for applications and software that run on
|
|
// the cluster.
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// The configuration of Amazon Elastic Block Storage (EBS) attached to each
|
|
// instance as defined by InstanceType.
|
|
EbsConfiguration *EbsConfiguration `type:"structure"`
|
|
|
|
// An EC2 instance type, such as m3.xlarge.
|
|
//
|
|
// InstanceType is a required field
|
|
InstanceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The number of units that a provisioned instance of this type provides toward
|
|
// fulfilling the target capacities defined in InstanceFleetConfig. This value
|
|
// is 1 for a master instance fleet, and must be 1 or greater for core and task
|
|
// instance fleets. Defaults to 1 if not specified.
|
|
WeightedCapacity *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceTypeConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceTypeConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *InstanceTypeConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "InstanceTypeConfig"}
|
|
if s.InstanceType == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceType"))
|
|
}
|
|
if s.InstanceType != nil && len(*s.InstanceType) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("InstanceType", 1))
|
|
}
|
|
if s.EbsConfiguration != nil {
|
|
if err := s.EbsConfiguration.Validate(); err != nil {
|
|
invalidParams.AddNested("EbsConfiguration", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetBidPrice sets the BidPrice field's value.
|
|
func (s *InstanceTypeConfig) SetBidPrice(v string) *InstanceTypeConfig {
|
|
s.BidPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value.
|
|
func (s *InstanceTypeConfig) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeConfig {
|
|
s.BidPriceAsPercentageOfOnDemandPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *InstanceTypeConfig) SetConfigurations(v []*Configuration) *InstanceTypeConfig {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsConfiguration sets the EbsConfiguration field's value.
|
|
func (s *InstanceTypeConfig) SetEbsConfiguration(v *EbsConfiguration) *InstanceTypeConfig {
|
|
s.EbsConfiguration = v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *InstanceTypeConfig) SetInstanceType(v string) *InstanceTypeConfig {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetWeightedCapacity sets the WeightedCapacity field's value.
|
|
func (s *InstanceTypeConfig) SetWeightedCapacity(v int64) *InstanceTypeConfig {
|
|
s.WeightedCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// The configuration specification for each instance type in an instance fleet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type InstanceTypeSpecification struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The bid price for each EC2 Spot instance type as defined by InstanceType.
|
|
// Expressed in USD.
|
|
BidPrice *string `type:"string"`
|
|
|
|
// The bid price, as a percentage of On-Demand price, for each EC2 Spot instance
|
|
// as defined by InstanceType. Expressed as a number (for example, 20 specifies
|
|
// 20%).
|
|
BidPriceAsPercentageOfOnDemandPrice *float64 `type:"double"`
|
|
|
|
// A configuration classification that applies when provisioning cluster instances,
|
|
// which can include configurations for applications and software bundled with
|
|
// Amazon EMR.
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// The configuration of Amazon Elastic Block Storage (EBS) attached to each
|
|
// instance as defined by InstanceType.
|
|
EbsBlockDevices []*EbsBlockDevice `type:"list"`
|
|
|
|
// Evaluates to TRUE when the specified InstanceType is EBS-optimized.
|
|
EbsOptimized *bool `type:"boolean"`
|
|
|
|
// The EC2 instance type, for example m3.xlarge.
|
|
InstanceType *string `min:"1" type:"string"`
|
|
|
|
// The number of units that a provisioned instance of this type provides toward
|
|
// fulfilling the target capacities defined in InstanceFleetConfig. Capacity
|
|
// values represent performance characteristics such as vCPUs, memory, or I/O.
|
|
// If not specified, the default value is 1.
|
|
WeightedCapacity *int64 `type:"integer"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s InstanceTypeSpecification) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s InstanceTypeSpecification) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBidPrice sets the BidPrice field's value.
|
|
func (s *InstanceTypeSpecification) SetBidPrice(v string) *InstanceTypeSpecification {
|
|
s.BidPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetBidPriceAsPercentageOfOnDemandPrice sets the BidPriceAsPercentageOfOnDemandPrice field's value.
|
|
func (s *InstanceTypeSpecification) SetBidPriceAsPercentageOfOnDemandPrice(v float64) *InstanceTypeSpecification {
|
|
s.BidPriceAsPercentageOfOnDemandPrice = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *InstanceTypeSpecification) SetConfigurations(v []*Configuration) *InstanceTypeSpecification {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsBlockDevices sets the EbsBlockDevices field's value.
|
|
func (s *InstanceTypeSpecification) SetEbsBlockDevices(v []*EbsBlockDevice) *InstanceTypeSpecification {
|
|
s.EbsBlockDevices = v
|
|
return s
|
|
}
|
|
|
|
// SetEbsOptimized sets the EbsOptimized field's value.
|
|
func (s *InstanceTypeSpecification) SetEbsOptimized(v bool) *InstanceTypeSpecification {
|
|
s.EbsOptimized = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceType sets the InstanceType field's value.
|
|
func (s *InstanceTypeSpecification) SetInstanceType(v string) *InstanceTypeSpecification {
|
|
s.InstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetWeightedCapacity sets the WeightedCapacity field's value.
|
|
func (s *InstanceTypeSpecification) SetWeightedCapacity(v int64) *InstanceTypeSpecification {
|
|
s.WeightedCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// A description of a cluster (job flow).
|
|
type JobFlowDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Used only for version 2.x and 3.x of Amazon EMR. The version of the AMI used
|
|
// to initialize Amazon EC2 instances in the job flow. For a list of AMI versions
|
|
// supported by Amazon EMR, see AMI Versions Supported in EMR (http://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf#nameddest=ami-versions-supported)
|
|
// in the Amazon EMR Developer Guide.
|
|
AmiVersion *string `type:"string"`
|
|
|
|
// An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole.
|
|
// The IAM role provides a way for the automatic scaling feature to get the
|
|
// required permissions it needs to launch and terminate EC2 instances in an
|
|
// instance group.
|
|
AutoScalingRole *string `type:"string"`
|
|
|
|
// A list of the bootstrap actions run by the job flow.
|
|
BootstrapActions []*BootstrapActionDetail `type:"list"`
|
|
|
|
// Describes the execution status of the job flow.
|
|
//
|
|
// ExecutionStatusDetail is a required field
|
|
ExecutionStatusDetail *JobFlowExecutionStatusDetail `type:"structure" required:"true"`
|
|
|
|
// Describes the Amazon EC2 instances of the job flow.
|
|
//
|
|
// Instances is a required field
|
|
Instances *JobFlowInstancesDetail `type:"structure" required:"true"`
|
|
|
|
// The job flow identifier.
|
|
//
|
|
// JobFlowId is a required field
|
|
JobFlowId *string `type:"string" required:"true"`
|
|
|
|
// The IAM role that was specified when the job flow was launched. The EC2 instances
|
|
// of the job flow assume this role.
|
|
JobFlowRole *string `type:"string"`
|
|
|
|
// The location in Amazon S3 where log files for the job are stored.
|
|
LogUri *string `type:"string"`
|
|
|
|
// The name of the job flow.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
|
|
// The way that individual Amazon EC2 instances terminate when an automatic
|
|
// scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR
|
|
// indicates that Amazon EMR terminates nodes at the instance-hour boundary,
|
|
// regardless of when the request to terminate the instance was submitted. This
|
|
// option is only available with Amazon EMR 5.1.0 and later and is the default
|
|
// for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates
|
|
// that Amazon EMR blacklists and drains tasks from nodes before terminating
|
|
// the Amazon EC2 instances, regardless of the instance-hour boundary. With
|
|
// either behavior, Amazon EMR removes the least active nodes first and blocks
|
|
// instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION
|
|
// available only in Amazon EMR version 4.1.0 and later, and is the default
|
|
// for versions of Amazon EMR earlier than 5.1.0.
|
|
ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"`
|
|
|
|
// The IAM role that will be assumed by the Amazon EMR service to access AWS
|
|
// resources on your behalf.
|
|
ServiceRole *string `type:"string"`
|
|
|
|
// A list of steps run by the job flow.
|
|
Steps []*StepDetail `type:"list"`
|
|
|
|
// A list of strings set by third party software when the job flow is launched.
|
|
// If you are not using third party software to manage the job flow this value
|
|
// is empty.
|
|
SupportedProducts []*string `type:"list"`
|
|
|
|
// Specifies whether the cluster is visible to all IAM users of the AWS account
|
|
// associated with the cluster. If this value is set to true, all IAM users
|
|
// of that AWS account can view and (if they have the proper policy permissions
|
|
// set) manage the cluster. If it is set to false, only the IAM user that created
|
|
// the cluster can view and manage it. This value can be changed using the SetVisibleToAllUsers
|
|
// action.
|
|
VisibleToAllUsers *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s JobFlowDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s JobFlowDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAmiVersion sets the AmiVersion field's value.
|
|
func (s *JobFlowDetail) SetAmiVersion(v string) *JobFlowDetail {
|
|
s.AmiVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetAutoScalingRole sets the AutoScalingRole field's value.
|
|
func (s *JobFlowDetail) SetAutoScalingRole(v string) *JobFlowDetail {
|
|
s.AutoScalingRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetBootstrapActions sets the BootstrapActions field's value.
|
|
func (s *JobFlowDetail) SetBootstrapActions(v []*BootstrapActionDetail) *JobFlowDetail {
|
|
s.BootstrapActions = v
|
|
return s
|
|
}
|
|
|
|
// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value.
|
|
func (s *JobFlowDetail) SetExecutionStatusDetail(v *JobFlowExecutionStatusDetail) *JobFlowDetail {
|
|
s.ExecutionStatusDetail = v
|
|
return s
|
|
}
|
|
|
|
// SetInstances sets the Instances field's value.
|
|
func (s *JobFlowDetail) SetInstances(v *JobFlowInstancesDetail) *JobFlowDetail {
|
|
s.Instances = v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowId sets the JobFlowId field's value.
|
|
func (s *JobFlowDetail) SetJobFlowId(v string) *JobFlowDetail {
|
|
s.JobFlowId = &v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowRole sets the JobFlowRole field's value.
|
|
func (s *JobFlowDetail) SetJobFlowRole(v string) *JobFlowDetail {
|
|
s.JobFlowRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetLogUri sets the LogUri field's value.
|
|
func (s *JobFlowDetail) SetLogUri(v string) *JobFlowDetail {
|
|
s.LogUri = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *JobFlowDetail) SetName(v string) *JobFlowDetail {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetScaleDownBehavior sets the ScaleDownBehavior field's value.
|
|
func (s *JobFlowDetail) SetScaleDownBehavior(v string) *JobFlowDetail {
|
|
s.ScaleDownBehavior = &v
|
|
return s
|
|
}
|
|
|
|
// SetServiceRole sets the ServiceRole field's value.
|
|
func (s *JobFlowDetail) SetServiceRole(v string) *JobFlowDetail {
|
|
s.ServiceRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetSteps sets the Steps field's value.
|
|
func (s *JobFlowDetail) SetSteps(v []*StepDetail) *JobFlowDetail {
|
|
s.Steps = v
|
|
return s
|
|
}
|
|
|
|
// SetSupportedProducts sets the SupportedProducts field's value.
|
|
func (s *JobFlowDetail) SetSupportedProducts(v []*string) *JobFlowDetail {
|
|
s.SupportedProducts = v
|
|
return s
|
|
}
|
|
|
|
// SetVisibleToAllUsers sets the VisibleToAllUsers field's value.
|
|
func (s *JobFlowDetail) SetVisibleToAllUsers(v bool) *JobFlowDetail {
|
|
s.VisibleToAllUsers = &v
|
|
return s
|
|
}
|
|
|
|
// Describes the status of the cluster (job flow).
|
|
type JobFlowExecutionStatusDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The creation date and time of the job flow.
|
|
//
|
|
// CreationDateTime is a required field
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
|
|
|
|
// The completion date and time of the job flow.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// Description of the job flow last changed state.
|
|
LastStateChangeReason *string `type:"string"`
|
|
|
|
// The date and time when the job flow was ready to start running bootstrap
|
|
// actions.
|
|
ReadyDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The start date and time of the job flow.
|
|
StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The state of the job flow.
|
|
//
|
|
// State is a required field
|
|
State *string `type:"string" required:"true" enum:"JobFlowExecutionState"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s JobFlowExecutionStatusDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s JobFlowExecutionStatusDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetCreationDateTime(v time.Time) *JobFlowExecutionStatusDetail {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetEndDateTime(v time.Time) *JobFlowExecutionStatusDetail {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetLastStateChangeReason sets the LastStateChangeReason field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetLastStateChangeReason(v string) *JobFlowExecutionStatusDetail {
|
|
s.LastStateChangeReason = &v
|
|
return s
|
|
}
|
|
|
|
// SetReadyDateTime sets the ReadyDateTime field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetReadyDateTime(v time.Time) *JobFlowExecutionStatusDetail {
|
|
s.ReadyDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetStartDateTime sets the StartDateTime field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetStartDateTime(v time.Time) *JobFlowExecutionStatusDetail {
|
|
s.StartDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *JobFlowExecutionStatusDetail) SetState(v string) *JobFlowExecutionStatusDetail {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// A description of the Amazon EC2 instance on which the cluster (job flow)
|
|
// runs. A valid JobFlowInstancesConfig must contain either InstanceGroups or
|
|
// InstanceFleets, which is the recommended configuration. They cannot be used
|
|
// together. You may also have MasterInstanceType, SlaveInstanceType, and InstanceCount
|
|
// (all three must be present), but we don't recommend this configuration.
|
|
type JobFlowInstancesConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of additional Amazon EC2 security group IDs for the master node.
|
|
AdditionalMasterSecurityGroups []*string `type:"list"`
|
|
|
|
// A list of additional Amazon EC2 security group IDs for the slave nodes.
|
|
AdditionalSlaveSecurityGroups []*string `type:"list"`
|
|
|
|
// The name of the EC2 key pair that can be used to ssh to the master node as
|
|
// the user called "hadoop."
|
|
Ec2KeyName *string `type:"string"`
|
|
|
|
// Applies to clusters that use the uniform instance group configuration. To
|
|
// launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this
|
|
// parameter to the identifier of the Amazon VPC subnet where you want the cluster
|
|
// to launch. If you do not specify this value, the cluster launches in the
|
|
// normal Amazon Web Services cloud, outside of an Amazon VPC, if the account
|
|
// launching the cluster supports EC2 Classic networks in the region where the
|
|
// cluster launches.
|
|
//
|
|
// Amazon VPC currently does not support cluster compute quadruple extra large
|
|
// (cc1.4xlarge) instances. Thus you cannot specify the cc1.4xlarge instance
|
|
// type for clusters launched in an Amazon VPC.
|
|
Ec2SubnetId *string `type:"string"`
|
|
|
|
// Applies to clusters that use the instance fleet configuration. When multiple
|
|
// EC2 subnet IDs are specified, Amazon EMR evaluates them and launches instances
|
|
// in the optimal subnet.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
Ec2SubnetIds []*string `type:"list"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the master node.
|
|
EmrManagedMasterSecurityGroup *string `type:"string"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the slave nodes.
|
|
EmrManagedSlaveSecurityGroup *string `type:"string"`
|
|
|
|
// The Hadoop version for the cluster. Valid inputs are "0.18" (deprecated),
|
|
// "0.20" (deprecated), "0.20.205" (deprecated), "1.0.3", "2.2.0", or "2.4.0".
|
|
// If you do not set this value, the default of 0.18 is used, unless the AmiVersion
|
|
// parameter is set in the RunJobFlow call, in which case the default version
|
|
// of Hadoop for that AMI version is used.
|
|
HadoopVersion *string `type:"string"`
|
|
|
|
// The number of EC2 instances in the cluster.
|
|
InstanceCount *int64 `type:"integer"`
|
|
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
//
|
|
// Describes the EC2 instances and instance configurations for clusters that
|
|
// use the instance fleet configuration.
|
|
InstanceFleets []*InstanceFleetConfig `type:"list"`
|
|
|
|
// Configuration for the instance groups in a cluster.
|
|
InstanceGroups []*InstanceGroupConfig `type:"list"`
|
|
|
|
// Specifies whether the cluster should remain available after completing all
|
|
// steps.
|
|
KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"`
|
|
|
|
// The EC2 instance type of the master node.
|
|
MasterInstanceType *string `min:"1" type:"string"`
|
|
|
|
// The Availability Zone in which the cluster runs.
|
|
Placement *PlacementType `type:"structure"`
|
|
|
|
// The identifier of the Amazon EC2 security group for the Amazon EMR service
|
|
// to access clusters in VPC private subnets.
|
|
ServiceAccessSecurityGroup *string `type:"string"`
|
|
|
|
// The EC2 instance type of the slave nodes.
|
|
SlaveInstanceType *string `min:"1" type:"string"`
|
|
|
|
// Specifies whether to lock the cluster to prevent the Amazon EC2 instances
|
|
// from being terminated by API call, user intervention, or in the event of
|
|
// a job-flow error.
|
|
TerminationProtected *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s JobFlowInstancesConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s JobFlowInstancesConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *JobFlowInstancesConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "JobFlowInstancesConfig"}
|
|
if s.MasterInstanceType != nil && len(*s.MasterInstanceType) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("MasterInstanceType", 1))
|
|
}
|
|
if s.SlaveInstanceType != nil && len(*s.SlaveInstanceType) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("SlaveInstanceType", 1))
|
|
}
|
|
if s.InstanceFleets != nil {
|
|
for i, v := range s.InstanceFleets {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceFleets", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
if s.InstanceGroups != nil {
|
|
for i, v := range s.InstanceGroups {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAdditionalMasterSecurityGroups sets the AdditionalMasterSecurityGroups field's value.
|
|
func (s *JobFlowInstancesConfig) SetAdditionalMasterSecurityGroups(v []*string) *JobFlowInstancesConfig {
|
|
s.AdditionalMasterSecurityGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetAdditionalSlaveSecurityGroups sets the AdditionalSlaveSecurityGroups field's value.
|
|
func (s *JobFlowInstancesConfig) SetAdditionalSlaveSecurityGroups(v []*string) *JobFlowInstancesConfig {
|
|
s.AdditionalSlaveSecurityGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetEc2KeyName sets the Ec2KeyName field's value.
|
|
func (s *JobFlowInstancesConfig) SetEc2KeyName(v string) *JobFlowInstancesConfig {
|
|
s.Ec2KeyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2SubnetId sets the Ec2SubnetId field's value.
|
|
func (s *JobFlowInstancesConfig) SetEc2SubnetId(v string) *JobFlowInstancesConfig {
|
|
s.Ec2SubnetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2SubnetIds sets the Ec2SubnetIds field's value.
|
|
func (s *JobFlowInstancesConfig) SetEc2SubnetIds(v []*string) *JobFlowInstancesConfig {
|
|
s.Ec2SubnetIds = v
|
|
return s
|
|
}
|
|
|
|
// SetEmrManagedMasterSecurityGroup sets the EmrManagedMasterSecurityGroup field's value.
|
|
func (s *JobFlowInstancesConfig) SetEmrManagedMasterSecurityGroup(v string) *JobFlowInstancesConfig {
|
|
s.EmrManagedMasterSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// SetEmrManagedSlaveSecurityGroup sets the EmrManagedSlaveSecurityGroup field's value.
|
|
func (s *JobFlowInstancesConfig) SetEmrManagedSlaveSecurityGroup(v string) *JobFlowInstancesConfig {
|
|
s.EmrManagedSlaveSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// SetHadoopVersion sets the HadoopVersion field's value.
|
|
func (s *JobFlowInstancesConfig) SetHadoopVersion(v string) *JobFlowInstancesConfig {
|
|
s.HadoopVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceCount sets the InstanceCount field's value.
|
|
func (s *JobFlowInstancesConfig) SetInstanceCount(v int64) *JobFlowInstancesConfig {
|
|
s.InstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleets sets the InstanceFleets field's value.
|
|
func (s *JobFlowInstancesConfig) SetInstanceFleets(v []*InstanceFleetConfig) *JobFlowInstancesConfig {
|
|
s.InstanceFleets = v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroups sets the InstanceGroups field's value.
|
|
func (s *JobFlowInstancesConfig) SetInstanceGroups(v []*InstanceGroupConfig) *JobFlowInstancesConfig {
|
|
s.InstanceGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value.
|
|
func (s *JobFlowInstancesConfig) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesConfig {
|
|
s.KeepJobFlowAliveWhenNoSteps = &v
|
|
return s
|
|
}
|
|
|
|
// SetMasterInstanceType sets the MasterInstanceType field's value.
|
|
func (s *JobFlowInstancesConfig) SetMasterInstanceType(v string) *JobFlowInstancesConfig {
|
|
s.MasterInstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetPlacement sets the Placement field's value.
|
|
func (s *JobFlowInstancesConfig) SetPlacement(v *PlacementType) *JobFlowInstancesConfig {
|
|
s.Placement = v
|
|
return s
|
|
}
|
|
|
|
// SetServiceAccessSecurityGroup sets the ServiceAccessSecurityGroup field's value.
|
|
func (s *JobFlowInstancesConfig) SetServiceAccessSecurityGroup(v string) *JobFlowInstancesConfig {
|
|
s.ServiceAccessSecurityGroup = &v
|
|
return s
|
|
}
|
|
|
|
// SetSlaveInstanceType sets the SlaveInstanceType field's value.
|
|
func (s *JobFlowInstancesConfig) SetSlaveInstanceType(v string) *JobFlowInstancesConfig {
|
|
s.SlaveInstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetTerminationProtected sets the TerminationProtected field's value.
|
|
func (s *JobFlowInstancesConfig) SetTerminationProtected(v bool) *JobFlowInstancesConfig {
|
|
s.TerminationProtected = &v
|
|
return s
|
|
}
|
|
|
|
// Specify the type of Amazon EC2 instances that the cluster (job flow) runs
|
|
// on.
|
|
type JobFlowInstancesDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The name of an Amazon EC2 key pair that can be used to ssh to the master
|
|
// node.
|
|
Ec2KeyName *string `type:"string"`
|
|
|
|
// For clusters launched within Amazon Virtual Private Cloud, this is the identifier
|
|
// of the subnet where the cluster was launched.
|
|
Ec2SubnetId *string `type:"string"`
|
|
|
|
// The Hadoop version for the cluster.
|
|
HadoopVersion *string `type:"string"`
|
|
|
|
// The number of Amazon EC2 instances in the cluster. If the value is 1, the
|
|
// same instance serves as both the master and slave node. If the value is greater
|
|
// than 1, one instance is the master node and all others are slave nodes.
|
|
//
|
|
// InstanceCount is a required field
|
|
InstanceCount *int64 `type:"integer" required:"true"`
|
|
|
|
// Details about the instance groups in a cluster.
|
|
InstanceGroups []*InstanceGroupDetail `type:"list"`
|
|
|
|
// Specifies whether the cluster should remain available after completing all
|
|
// steps.
|
|
KeepJobFlowAliveWhenNoSteps *bool `type:"boolean"`
|
|
|
|
// The Amazon EC2 instance identifier of the master node.
|
|
MasterInstanceId *string `type:"string"`
|
|
|
|
// The Amazon EC2 master node instance type.
|
|
//
|
|
// MasterInstanceType is a required field
|
|
MasterInstanceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The DNS name of the master node. If the cluster is on a private subnet, this
|
|
// is the private DNS name. On a public subnet, this is the public DNS name.
|
|
MasterPublicDnsName *string `type:"string"`
|
|
|
|
// An approximation of the cost of the cluster, represented in m1.small/hours.
|
|
// This value is incremented one time for every hour that an m1.small runs.
|
|
// Larger instances are weighted more, so an Amazon EC2 instance that is roughly
|
|
// four times more expensive would result in the normalized instance hours being
|
|
// incremented by four. This result is only an approximation and does not reflect
|
|
// the actual billing rate.
|
|
NormalizedInstanceHours *int64 `type:"integer"`
|
|
|
|
// The Amazon EC2 Availability Zone for the cluster.
|
|
Placement *PlacementType `type:"structure"`
|
|
|
|
// The Amazon EC2 slave node instance type.
|
|
//
|
|
// SlaveInstanceType is a required field
|
|
SlaveInstanceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// Specifies whether the Amazon EC2 instances in the cluster are protected from
|
|
// termination by API calls, user intervention, or in the event of a job-flow
|
|
// error.
|
|
TerminationProtected *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s JobFlowInstancesDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s JobFlowInstancesDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetEc2KeyName sets the Ec2KeyName field's value.
|
|
func (s *JobFlowInstancesDetail) SetEc2KeyName(v string) *JobFlowInstancesDetail {
|
|
s.Ec2KeyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetEc2SubnetId sets the Ec2SubnetId field's value.
|
|
func (s *JobFlowInstancesDetail) SetEc2SubnetId(v string) *JobFlowInstancesDetail {
|
|
s.Ec2SubnetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetHadoopVersion sets the HadoopVersion field's value.
|
|
func (s *JobFlowInstancesDetail) SetHadoopVersion(v string) *JobFlowInstancesDetail {
|
|
s.HadoopVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceCount sets the InstanceCount field's value.
|
|
func (s *JobFlowInstancesDetail) SetInstanceCount(v int64) *JobFlowInstancesDetail {
|
|
s.InstanceCount = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroups sets the InstanceGroups field's value.
|
|
func (s *JobFlowInstancesDetail) SetInstanceGroups(v []*InstanceGroupDetail) *JobFlowInstancesDetail {
|
|
s.InstanceGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetKeepJobFlowAliveWhenNoSteps sets the KeepJobFlowAliveWhenNoSteps field's value.
|
|
func (s *JobFlowInstancesDetail) SetKeepJobFlowAliveWhenNoSteps(v bool) *JobFlowInstancesDetail {
|
|
s.KeepJobFlowAliveWhenNoSteps = &v
|
|
return s
|
|
}
|
|
|
|
// SetMasterInstanceId sets the MasterInstanceId field's value.
|
|
func (s *JobFlowInstancesDetail) SetMasterInstanceId(v string) *JobFlowInstancesDetail {
|
|
s.MasterInstanceId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMasterInstanceType sets the MasterInstanceType field's value.
|
|
func (s *JobFlowInstancesDetail) SetMasterInstanceType(v string) *JobFlowInstancesDetail {
|
|
s.MasterInstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetMasterPublicDnsName sets the MasterPublicDnsName field's value.
|
|
func (s *JobFlowInstancesDetail) SetMasterPublicDnsName(v string) *JobFlowInstancesDetail {
|
|
s.MasterPublicDnsName = &v
|
|
return s
|
|
}
|
|
|
|
// SetNormalizedInstanceHours sets the NormalizedInstanceHours field's value.
|
|
func (s *JobFlowInstancesDetail) SetNormalizedInstanceHours(v int64) *JobFlowInstancesDetail {
|
|
s.NormalizedInstanceHours = &v
|
|
return s
|
|
}
|
|
|
|
// SetPlacement sets the Placement field's value.
|
|
func (s *JobFlowInstancesDetail) SetPlacement(v *PlacementType) *JobFlowInstancesDetail {
|
|
s.Placement = v
|
|
return s
|
|
}
|
|
|
|
// SetSlaveInstanceType sets the SlaveInstanceType field's value.
|
|
func (s *JobFlowInstancesDetail) SetSlaveInstanceType(v string) *JobFlowInstancesDetail {
|
|
s.SlaveInstanceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetTerminationProtected sets the TerminationProtected field's value.
|
|
func (s *JobFlowInstancesDetail) SetTerminationProtected(v bool) *JobFlowInstancesDetail {
|
|
s.TerminationProtected = &v
|
|
return s
|
|
}
|
|
|
|
// Attributes for Kerberos configuration when Kerberos authentication is enabled
|
|
// using a security configuration. For more information see Use Kerberos Authentication
|
|
// (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html)
|
|
// in the EMR Management Guide.
|
|
type KerberosAttributes struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Active Directory password for ADDomainJoinUser.
|
|
ADDomainJoinPassword *string `type:"string"`
|
|
|
|
// Required only when establishing a cross-realm trust with an Active Directory
|
|
// domain. A user with sufficient privileges to join resources to the domain.
|
|
ADDomainJoinUser *string `type:"string"`
|
|
|
|
// Required only when establishing a cross-realm trust with a KDC in a different
|
|
// realm. The cross-realm principal password, which must be identical across
|
|
// realms.
|
|
CrossRealmTrustPrincipalPassword *string `type:"string"`
|
|
|
|
// The password used within the cluster for the kadmin service on the cluster-dedicated
|
|
// KDC, which maintains Kerberos principals, password policies, and keytabs
|
|
// for the cluster.
|
|
//
|
|
// KdcAdminPassword is a required field
|
|
KdcAdminPassword *string `type:"string" required:"true"`
|
|
|
|
// The name of the Kerberos realm to which all nodes in a cluster belong. For
|
|
// example, EC2.INTERNAL.
|
|
//
|
|
// Realm is a required field
|
|
Realm *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s KerberosAttributes) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s KerberosAttributes) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *KerberosAttributes) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "KerberosAttributes"}
|
|
if s.KdcAdminPassword == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("KdcAdminPassword"))
|
|
}
|
|
if s.Realm == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Realm"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetADDomainJoinPassword sets the ADDomainJoinPassword field's value.
|
|
func (s *KerberosAttributes) SetADDomainJoinPassword(v string) *KerberosAttributes {
|
|
s.ADDomainJoinPassword = &v
|
|
return s
|
|
}
|
|
|
|
// SetADDomainJoinUser sets the ADDomainJoinUser field's value.
|
|
func (s *KerberosAttributes) SetADDomainJoinUser(v string) *KerberosAttributes {
|
|
s.ADDomainJoinUser = &v
|
|
return s
|
|
}
|
|
|
|
// SetCrossRealmTrustPrincipalPassword sets the CrossRealmTrustPrincipalPassword field's value.
|
|
func (s *KerberosAttributes) SetCrossRealmTrustPrincipalPassword(v string) *KerberosAttributes {
|
|
s.CrossRealmTrustPrincipalPassword = &v
|
|
return s
|
|
}
|
|
|
|
// SetKdcAdminPassword sets the KdcAdminPassword field's value.
|
|
func (s *KerberosAttributes) SetKdcAdminPassword(v string) *KerberosAttributes {
|
|
s.KdcAdminPassword = &v
|
|
return s
|
|
}
|
|
|
|
// SetRealm sets the Realm field's value.
|
|
func (s *KerberosAttributes) SetRealm(v string) *KerberosAttributes {
|
|
s.Realm = &v
|
|
return s
|
|
}
|
|
|
|
// A key value pair.
|
|
type KeyValue struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of a key value pair.
|
|
Key *string `type:"string"`
|
|
|
|
// The value part of the identified key.
|
|
Value *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s KeyValue) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s KeyValue) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetKey sets the Key field's value.
|
|
func (s *KeyValue) SetKey(v string) *KeyValue {
|
|
s.Key = &v
|
|
return s
|
|
}
|
|
|
|
// SetValue sets the Value field's value.
|
|
func (s *KeyValue) SetValue(v string) *KeyValue {
|
|
s.Value = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines which bootstrap actions to retrieve.
|
|
type ListBootstrapActionsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The cluster identifier for the bootstrap actions to list.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListBootstrapActionsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListBootstrapActionsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListBootstrapActionsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListBootstrapActionsInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ListBootstrapActionsInput) SetClusterId(v string) *ListBootstrapActionsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListBootstrapActionsInput) SetMarker(v string) *ListBootstrapActionsInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This output contains the bootstrap actions detail.
|
|
type ListBootstrapActionsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The bootstrap actions associated with the cluster.
|
|
BootstrapActions []*Command `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListBootstrapActionsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListBootstrapActionsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetBootstrapActions sets the BootstrapActions field's value.
|
|
func (s *ListBootstrapActionsOutput) SetBootstrapActions(v []*Command) *ListBootstrapActionsOutput {
|
|
s.BootstrapActions = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListBootstrapActionsOutput) SetMarker(v string) *ListBootstrapActionsOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines how the ListClusters action filters the list of clusters
|
|
// that it returns.
|
|
type ListClustersInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The cluster state filters to apply when listing clusters.
|
|
ClusterStates []*string `type:"list"`
|
|
|
|
// The creation date and time beginning value filter for listing clusters.
|
|
CreatedAfter *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The creation date and time end value filter for listing clusters.
|
|
CreatedBefore *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListClustersInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListClustersInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetClusterStates sets the ClusterStates field's value.
|
|
func (s *ListClustersInput) SetClusterStates(v []*string) *ListClustersInput {
|
|
s.ClusterStates = v
|
|
return s
|
|
}
|
|
|
|
// SetCreatedAfter sets the CreatedAfter field's value.
|
|
func (s *ListClustersInput) SetCreatedAfter(v time.Time) *ListClustersInput {
|
|
s.CreatedAfter = &v
|
|
return s
|
|
}
|
|
|
|
// SetCreatedBefore sets the CreatedBefore field's value.
|
|
func (s *ListClustersInput) SetCreatedBefore(v time.Time) *ListClustersInput {
|
|
s.CreatedBefore = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListClustersInput) SetMarker(v string) *ListClustersInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This contains a ClusterSummaryList with the cluster details; for example,
|
|
// the cluster IDs, names, and status.
|
|
type ListClustersOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of clusters for the account based on the given filters.
|
|
Clusters []*ClusterSummary `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListClustersOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListClustersOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetClusters sets the Clusters field's value.
|
|
func (s *ListClustersOutput) SetClusters(v []*ClusterSummary) *ListClustersOutput {
|
|
s.Clusters = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListClustersOutput) SetMarker(v string) *ListClustersOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
type ListInstanceFleetsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of the cluster.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstanceFleetsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstanceFleetsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListInstanceFleetsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListInstanceFleetsInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ListInstanceFleetsInput) SetClusterId(v string) *ListInstanceFleetsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstanceFleetsInput) SetMarker(v string) *ListInstanceFleetsInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
type ListInstanceFleetsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of instance fleets for the cluster and given filters.
|
|
InstanceFleets []*InstanceFleet `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstanceFleetsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstanceFleetsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetInstanceFleets sets the InstanceFleets field's value.
|
|
func (s *ListInstanceFleetsOutput) SetInstanceFleets(v []*InstanceFleet) *ListInstanceFleetsOutput {
|
|
s.InstanceFleets = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstanceFleetsOutput) SetMarker(v string) *ListInstanceFleetsOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines which instance groups to retrieve.
|
|
type ListInstanceGroupsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier of the cluster for which to list the instance groups.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstanceGroupsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstanceGroupsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListInstanceGroupsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListInstanceGroupsInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ListInstanceGroupsInput) SetClusterId(v string) *ListInstanceGroupsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstanceGroupsInput) SetMarker(v string) *ListInstanceGroupsInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines which instance groups to retrieve.
|
|
type ListInstanceGroupsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of instance groups for the cluster and given filters.
|
|
InstanceGroups []*InstanceGroup `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstanceGroupsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstanceGroupsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetInstanceGroups sets the InstanceGroups field's value.
|
|
func (s *ListInstanceGroupsOutput) SetInstanceGroups(v []*InstanceGroup) *ListInstanceGroupsOutput {
|
|
s.InstanceGroups = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstanceGroupsOutput) SetMarker(v string) *ListInstanceGroupsOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This input determines which instances to list.
|
|
type ListInstancesInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier of the cluster for which to list the instances.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The unique identifier of the instance fleet.
|
|
InstanceFleetId *string `type:"string"`
|
|
|
|
// The node type of the instance fleet. For example MASTER, CORE, or TASK.
|
|
InstanceFleetType *string `type:"string" enum:"InstanceFleetType"`
|
|
|
|
// The identifier of the instance group for which to list the instances.
|
|
InstanceGroupId *string `type:"string"`
|
|
|
|
// The type of instance group for which to list the instances.
|
|
InstanceGroupTypes []*string `type:"list"`
|
|
|
|
// A list of instance states that will filter the instances returned with this
|
|
// request.
|
|
InstanceStates []*string `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstancesInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstancesInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListInstancesInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListInstancesInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ListInstancesInput) SetClusterId(v string) *ListInstancesInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleetId sets the InstanceFleetId field's value.
|
|
func (s *ListInstancesInput) SetInstanceFleetId(v string) *ListInstancesInput {
|
|
s.InstanceFleetId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleetType sets the InstanceFleetType field's value.
|
|
func (s *ListInstancesInput) SetInstanceFleetType(v string) *ListInstancesInput {
|
|
s.InstanceFleetType = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *ListInstancesInput) SetInstanceGroupId(v string) *ListInstancesInput {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupTypes sets the InstanceGroupTypes field's value.
|
|
func (s *ListInstancesInput) SetInstanceGroupTypes(v []*string) *ListInstancesInput {
|
|
s.InstanceGroupTypes = v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceStates sets the InstanceStates field's value.
|
|
func (s *ListInstancesInput) SetInstanceStates(v []*string) *ListInstancesInput {
|
|
s.InstanceStates = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstancesInput) SetMarker(v string) *ListInstancesInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// This output contains the list of instances.
|
|
type ListInstancesOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of instances for the cluster and given filters.
|
|
Instances []*Instance `type:"list"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListInstancesOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListInstancesOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetInstances sets the Instances field's value.
|
|
func (s *ListInstancesOutput) SetInstances(v []*Instance) *ListInstancesOutput {
|
|
s.Instances = v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListInstancesOutput) SetMarker(v string) *ListInstancesOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
type ListSecurityConfigurationsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The pagination token that indicates the set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListSecurityConfigurationsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListSecurityConfigurationsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListSecurityConfigurationsInput) SetMarker(v string) *ListSecurityConfigurationsInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
type ListSecurityConfigurationsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A pagination token that indicates the next set of results to retrieve. Include
|
|
// the marker in the next ListSecurityConfiguration call to retrieve the next
|
|
// page of results, if required.
|
|
Marker *string `type:"string"`
|
|
|
|
// The creation date and time, and name, of each security configuration.
|
|
SecurityConfigurations []*SecurityConfigurationSummary `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListSecurityConfigurationsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListSecurityConfigurationsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListSecurityConfigurationsOutput) SetMarker(v string) *ListSecurityConfigurationsOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityConfigurations sets the SecurityConfigurations field's value.
|
|
func (s *ListSecurityConfigurationsOutput) SetSecurityConfigurations(v []*SecurityConfigurationSummary) *ListSecurityConfigurationsOutput {
|
|
s.SecurityConfigurations = v
|
|
return s
|
|
}
|
|
|
|
// This input determines which steps to list.
|
|
type ListStepsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The identifier of the cluster for which to list the steps.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
|
|
// The filter to limit the step list based on the identifier of the steps.
|
|
StepIds []*string `type:"list"`
|
|
|
|
// The filter to limit the step list based on certain states.
|
|
StepStates []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListStepsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListStepsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListStepsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListStepsInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ListStepsInput) SetClusterId(v string) *ListStepsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListStepsInput) SetMarker(v string) *ListStepsInput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// SetStepIds sets the StepIds field's value.
|
|
func (s *ListStepsInput) SetStepIds(v []*string) *ListStepsInput {
|
|
s.StepIds = v
|
|
return s
|
|
}
|
|
|
|
// SetStepStates sets the StepStates field's value.
|
|
func (s *ListStepsInput) SetStepStates(v []*string) *ListStepsInput {
|
|
s.StepStates = v
|
|
return s
|
|
}
|
|
|
|
// This output contains the list of steps returned in reverse order. This means
|
|
// that the last step is the first element in the list.
|
|
type ListStepsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The pagination token that indicates the next set of results to retrieve.
|
|
Marker *string `type:"string"`
|
|
|
|
// The filtered list of steps for the cluster.
|
|
Steps []*StepSummary `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListStepsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListStepsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetMarker sets the Marker field's value.
|
|
func (s *ListStepsOutput) SetMarker(v string) *ListStepsOutput {
|
|
s.Marker = &v
|
|
return s
|
|
}
|
|
|
|
// SetSteps sets the Steps field's value.
|
|
func (s *ListStepsOutput) SetSteps(v []*StepSummary) *ListStepsOutput {
|
|
s.Steps = v
|
|
return s
|
|
}
|
|
|
|
// A CloudWatch dimension, which is specified using a Key (known as a Name in
|
|
// CloudWatch), Value pair. By default, Amazon EMR uses one dimension whose
|
|
// Key is JobFlowID and Value is a variable representing the cluster ID, which
|
|
// is ${emr.clusterId}. This enables the rule to bootstrap when the cluster
|
|
// ID becomes available.
|
|
type MetricDimension struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The dimension name.
|
|
Key *string `type:"string"`
|
|
|
|
// The dimension value.
|
|
Value *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s MetricDimension) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s MetricDimension) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetKey sets the Key field's value.
|
|
func (s *MetricDimension) SetKey(v string) *MetricDimension {
|
|
s.Key = &v
|
|
return s
|
|
}
|
|
|
|
// SetValue sets the Value field's value.
|
|
func (s *MetricDimension) SetValue(v string) *MetricDimension {
|
|
s.Value = &v
|
|
return s
|
|
}
|
|
|
|
type ModifyInstanceFleetInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The unique identifier of the cluster.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// The unique identifier of the instance fleet.
|
|
//
|
|
// InstanceFleet is a required field
|
|
InstanceFleet *InstanceFleetModifyConfig `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ModifyInstanceFleetInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ModifyInstanceFleetInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ModifyInstanceFleetInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceFleetInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
if s.InstanceFleet == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceFleet"))
|
|
}
|
|
if s.InstanceFleet != nil {
|
|
if err := s.InstanceFleet.Validate(); err != nil {
|
|
invalidParams.AddNested("InstanceFleet", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ModifyInstanceFleetInput) SetClusterId(v string) *ModifyInstanceFleetInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceFleet sets the InstanceFleet field's value.
|
|
func (s *ModifyInstanceFleetInput) SetInstanceFleet(v *InstanceFleetModifyConfig) *ModifyInstanceFleetInput {
|
|
s.InstanceFleet = v
|
|
return s
|
|
}
|
|
|
|
type ModifyInstanceFleetOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ModifyInstanceFleetOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ModifyInstanceFleetOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Change the size of some instance groups.
|
|
type ModifyInstanceGroupsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The ID of the cluster to which the instance group belongs.
|
|
ClusterId *string `type:"string"`
|
|
|
|
// Instance groups to change.
|
|
InstanceGroups []*InstanceGroupModifyConfig `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ModifyInstanceGroupsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ModifyInstanceGroupsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ModifyInstanceGroupsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ModifyInstanceGroupsInput"}
|
|
if s.InstanceGroups != nil {
|
|
for i, v := range s.InstanceGroups {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *ModifyInstanceGroupsInput) SetClusterId(v string) *ModifyInstanceGroupsInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroups sets the InstanceGroups field's value.
|
|
func (s *ModifyInstanceGroupsInput) SetInstanceGroups(v []*InstanceGroupModifyConfig) *ModifyInstanceGroupsInput {
|
|
s.InstanceGroups = v
|
|
return s
|
|
}
|
|
|
|
type ModifyInstanceGroupsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ModifyInstanceGroupsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ModifyInstanceGroupsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// The Amazon EC2 Availability Zone configuration of the cluster (job flow).
|
|
type PlacementType struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon EC2 Availability Zone for the cluster. AvailabilityZone is used
|
|
// for uniform instance groups, while AvailabilityZones (plural) is used for
|
|
// instance fleets.
|
|
AvailabilityZone *string `type:"string"`
|
|
|
|
// When multiple Availability Zones are specified, Amazon EMR evaluates them
|
|
// and launches instances in the optimal Availability Zone. AvailabilityZones
|
|
// is used for instance fleets, while AvailabilityZone (singular) is used for
|
|
// uniform instance groups.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
AvailabilityZones []*string `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PlacementType) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PlacementType) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAvailabilityZone sets the AvailabilityZone field's value.
|
|
func (s *PlacementType) SetAvailabilityZone(v string) *PlacementType {
|
|
s.AvailabilityZone = &v
|
|
return s
|
|
}
|
|
|
|
// SetAvailabilityZones sets the AvailabilityZones field's value.
|
|
func (s *PlacementType) SetAvailabilityZones(v []*string) *PlacementType {
|
|
s.AvailabilityZones = v
|
|
return s
|
|
}
|
|
|
|
type PutAutoScalingPolicyInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Specifies the definition of the automatic scaling policy.
|
|
//
|
|
// AutoScalingPolicy is a required field
|
|
AutoScalingPolicy *AutoScalingPolicy `type:"structure" required:"true"`
|
|
|
|
// Specifies the ID of a cluster. The instance group to which the automatic
|
|
// scaling policy is applied is within this cluster.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// Specifies the ID of the instance group to which the automatic scaling policy
|
|
// is applied.
|
|
//
|
|
// InstanceGroupId is a required field
|
|
InstanceGroupId *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutAutoScalingPolicyInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutAutoScalingPolicyInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *PutAutoScalingPolicyInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "PutAutoScalingPolicyInput"}
|
|
if s.AutoScalingPolicy == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("AutoScalingPolicy"))
|
|
}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
if s.InstanceGroupId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceGroupId"))
|
|
}
|
|
if s.AutoScalingPolicy != nil {
|
|
if err := s.AutoScalingPolicy.Validate(); err != nil {
|
|
invalidParams.AddNested("AutoScalingPolicy", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
|
|
func (s *PutAutoScalingPolicyInput) SetAutoScalingPolicy(v *AutoScalingPolicy) *PutAutoScalingPolicyInput {
|
|
s.AutoScalingPolicy = v
|
|
return s
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *PutAutoScalingPolicyInput) SetClusterId(v string) *PutAutoScalingPolicyInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *PutAutoScalingPolicyInput) SetInstanceGroupId(v string) *PutAutoScalingPolicyInput {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
type PutAutoScalingPolicyOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The automatic scaling policy definition.
|
|
AutoScalingPolicy *AutoScalingPolicyDescription `type:"structure"`
|
|
|
|
// Specifies the ID of a cluster. The instance group to which the automatic
|
|
// scaling policy is applied is within this cluster.
|
|
ClusterId *string `type:"string"`
|
|
|
|
// Specifies the ID of the instance group to which the scaling policy is applied.
|
|
InstanceGroupId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutAutoScalingPolicyOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutAutoScalingPolicyOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAutoScalingPolicy sets the AutoScalingPolicy field's value.
|
|
func (s *PutAutoScalingPolicyOutput) SetAutoScalingPolicy(v *AutoScalingPolicyDescription) *PutAutoScalingPolicyOutput {
|
|
s.AutoScalingPolicy = v
|
|
return s
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *PutAutoScalingPolicyOutput) SetClusterId(v string) *PutAutoScalingPolicyOutput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *PutAutoScalingPolicyOutput) SetInstanceGroupId(v string) *PutAutoScalingPolicyOutput {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
type RemoveAutoScalingPolicyInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Specifies the ID of a cluster. The instance group to which the automatic
|
|
// scaling policy is applied is within this cluster.
|
|
//
|
|
// ClusterId is a required field
|
|
ClusterId *string `type:"string" required:"true"`
|
|
|
|
// Specifies the ID of the instance group to which the scaling policy is applied.
|
|
//
|
|
// InstanceGroupId is a required field
|
|
InstanceGroupId *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RemoveAutoScalingPolicyInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RemoveAutoScalingPolicyInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *RemoveAutoScalingPolicyInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "RemoveAutoScalingPolicyInput"}
|
|
if s.ClusterId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ClusterId"))
|
|
}
|
|
if s.InstanceGroupId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("InstanceGroupId"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetClusterId sets the ClusterId field's value.
|
|
func (s *RemoveAutoScalingPolicyInput) SetClusterId(v string) *RemoveAutoScalingPolicyInput {
|
|
s.ClusterId = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceGroupId sets the InstanceGroupId field's value.
|
|
func (s *RemoveAutoScalingPolicyInput) SetInstanceGroupId(v string) *RemoveAutoScalingPolicyInput {
|
|
s.InstanceGroupId = &v
|
|
return s
|
|
}
|
|
|
|
type RemoveAutoScalingPolicyOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RemoveAutoScalingPolicyOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RemoveAutoScalingPolicyOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// This input identifies a cluster and a list of tags to remove.
|
|
type RemoveTagsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon EMR resource identifier from which tags will be removed. This
|
|
// value must be a cluster identifier.
|
|
//
|
|
// ResourceId is a required field
|
|
ResourceId *string `type:"string" required:"true"`
|
|
|
|
// A list of tag keys to remove from a resource.
|
|
//
|
|
// TagKeys is a required field
|
|
TagKeys []*string `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RemoveTagsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RemoveTagsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *RemoveTagsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "RemoveTagsInput"}
|
|
if s.ResourceId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ResourceId"))
|
|
}
|
|
if s.TagKeys == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetResourceId sets the ResourceId field's value.
|
|
func (s *RemoveTagsInput) SetResourceId(v string) *RemoveTagsInput {
|
|
s.ResourceId = &v
|
|
return s
|
|
}
|
|
|
|
// SetTagKeys sets the TagKeys field's value.
|
|
func (s *RemoveTagsInput) SetTagKeys(v []*string) *RemoveTagsInput {
|
|
s.TagKeys = v
|
|
return s
|
|
}
|
|
|
|
// This output indicates the result of removing tags from a resource.
|
|
type RemoveTagsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RemoveTagsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RemoveTagsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Input to the RunJobFlow operation.
|
|
type RunJobFlowInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A JSON string for selecting additional features.
|
|
AdditionalInfo *string `type:"string"`
|
|
|
|
// For Amazon EMR AMI versions 3.x and 2.x. For Amazon EMR releases 4.0 and
|
|
// later, the Linux AMI is determined by the ReleaseLabel specified or by CustomAmiID.
|
|
// The version of the Amazon Machine Image (AMI) to use when launching Amazon
|
|
// EC2 instances in the job flow. For details about the AMI versions currently
|
|
// supported in EMR version 3.x and 2.x, see AMI Versions Supported in EMR (emr/latest/DeveloperGuide/emr-dg.pdf#nameddest=ami-versions-supported)
|
|
// in the Amazon EMR Developer Guide.
|
|
//
|
|
// If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports
|
|
// both Hadoop 0.18 and 0.20), you can use the JobFlowInstancesConfigHadoopVersion
|
|
// parameter to modify the version of Hadoop from the defaults shown above.
|
|
//
|
|
// Previously, the EMR AMI version API parameter options allowed you to use
|
|
// latest for the latest AMI version rather than specify a numerical value.
|
|
// Some regions no longer support this deprecated option as they only have a
|
|
// newer release label version of EMR, which requires you to specify an EMR
|
|
// release label release (EMR 4.x or later).
|
|
AmiVersion *string `type:"string"`
|
|
|
|
// For Amazon EMR releases 4.0 and later. A list of applications for the cluster.
|
|
// Valid values are: "Hadoop", "Hive", "Mahout", "Pig", and "Spark." They are
|
|
// case insensitive.
|
|
Applications []*Application `type:"list"`
|
|
|
|
// An IAM role for automatic scaling policies. The default role is EMR_AutoScaling_DefaultRole.
|
|
// The IAM role provides permissions that the automatic scaling feature requires
|
|
// to launch and terminate EC2 instances in an instance group.
|
|
AutoScalingRole *string `type:"string"`
|
|
|
|
// A list of bootstrap actions to run before Hadoop starts on the cluster nodes.
|
|
BootstrapActions []*BootstrapActionConfig `type:"list"`
|
|
|
|
// For Amazon EMR releases 4.0 and later. The list of configurations supplied
|
|
// for the EMR cluster you are creating.
|
|
Configurations []*Configuration `type:"list"`
|
|
|
|
// Available only in Amazon EMR version 5.7.0 and later. The ID of a custom
|
|
// Amazon EBS-backed Linux AMI. If specified, Amazon EMR uses this AMI when
|
|
// it launches cluster EC2 instances. For more information about custom AMIs
|
|
// in Amazon EMR, see Using a Custom AMI (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-custom-ami.html)
|
|
// in the Amazon EMR Management Guide. If omitted, the cluster uses the base
|
|
// Linux AMI for the ReleaseLabel specified. For Amazon EMR versions 2.x and
|
|
// 3.x, use AmiVersion instead.
|
|
//
|
|
// For information about creating a custom AMI, see Creating an Amazon EBS-Backed
|
|
// Linux AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html)
|
|
// in the Amazon Elastic Compute Cloud User Guide for Linux Instances. For information
|
|
// about finding an AMI ID, see Finding a Linux AMI (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html).
|
|
CustomAmiId *string `type:"string"`
|
|
|
|
// The size, in GiB, of the EBS root device volume of the Linux AMI that is
|
|
// used for each EC2 instance. Available in Amazon EMR version 4.x and later.
|
|
EbsRootVolumeSize *int64 `type:"integer"`
|
|
|
|
// A specification of the number and type of Amazon EC2 instances.
|
|
//
|
|
// Instances is a required field
|
|
Instances *JobFlowInstancesConfig `type:"structure" required:"true"`
|
|
|
|
// Also called instance profile and EC2 role. An IAM role for an EMR cluster.
|
|
// The EC2 instances of the cluster assume this role. The default role is EMR_EC2_DefaultRole.
|
|
// In order to use the default role, you must have already created it using
|
|
// the CLI or console.
|
|
JobFlowRole *string `type:"string"`
|
|
|
|
// Attributes for Kerberos configuration when Kerberos authentication is enabled
|
|
// using a security configuration. For more information see Use Kerberos Authentication
|
|
// (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html)
|
|
// in the EMR Management Guide.
|
|
KerberosAttributes *KerberosAttributes `type:"structure"`
|
|
|
|
// The location in Amazon S3 to write the log files of the job flow. If a value
|
|
// is not provided, logs are not created.
|
|
LogUri *string `type:"string"`
|
|
|
|
// The name of the job flow.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
|
|
// For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later,
|
|
// use Applications.
|
|
//
|
|
// A list of strings that indicates third-party software to use with the job
|
|
// flow that accepts a user argument list. EMR accepts and forwards the argument
|
|
// list to the corresponding installation script as bootstrap action arguments.
|
|
// For more information, see "Launch a Job Flow on the MapR Distribution for
|
|
// Hadoop" in the Amazon EMR Developer Guide (http://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf).
|
|
// Supported values are:
|
|
//
|
|
// * "mapr-m3" - launch the cluster using MapR M3 Edition.
|
|
//
|
|
// * "mapr-m5" - launch the cluster using MapR M5 Edition.
|
|
//
|
|
// * "mapr" with the user arguments specifying "--edition,m3" or "--edition,m5"
|
|
// - launch the job flow using MapR M3 or M5 Edition respectively.
|
|
//
|
|
// * "mapr-m7" - launch the cluster using MapR M7 Edition.
|
|
//
|
|
// * "hunk" - launch the cluster with the Hunk Big Data Analtics Platform.
|
|
//
|
|
// * "hue"- launch the cluster with Hue installed.
|
|
//
|
|
// * "spark" - launch the cluster with Apache Spark installed.
|
|
//
|
|
// * "ganglia" - launch the cluster with the Ganglia Monitoring System installed.
|
|
NewSupportedProducts []*SupportedProductConfig `type:"list"`
|
|
|
|
// The release label for the Amazon EMR release. For Amazon EMR 3.x and 2.x
|
|
// AMIs, use AmiVersion instead.
|
|
ReleaseLabel *string `type:"string"`
|
|
|
|
// Applies only when CustomAmiID is used. Specifies which updates from the Amazon
|
|
// Linux AMI package repositories to apply automatically when the instance boots
|
|
// using the AMI. If omitted, the default is SECURITY, which indicates that
|
|
// only security updates are applied. If NONE is specified, no updates are applied,
|
|
// and all updates must be applied manually.
|
|
RepoUpgradeOnBoot *string `type:"string" enum:"RepoUpgradeOnBoot"`
|
|
|
|
// Specifies the way that individual Amazon EC2 instances terminate when an
|
|
// automatic scale-in activity occurs or an instance group is resized. TERMINATE_AT_INSTANCE_HOUR
|
|
// indicates that Amazon EMR terminates nodes at the instance-hour boundary,
|
|
// regardless of when the request to terminate the instance was submitted. This
|
|
// option is only available with Amazon EMR 5.1.0 and later and is the default
|
|
// for clusters created using that version. TERMINATE_AT_TASK_COMPLETION indicates
|
|
// that Amazon EMR blacklists and drains tasks from nodes before terminating
|
|
// the Amazon EC2 instances, regardless of the instance-hour boundary. With
|
|
// either behavior, Amazon EMR removes the least active nodes first and blocks
|
|
// instance termination if it could lead to HDFS corruption. TERMINATE_AT_TASK_COMPLETION
|
|
// available only in Amazon EMR version 4.1.0 and later, and is the default
|
|
// for versions of Amazon EMR earlier than 5.1.0.
|
|
ScaleDownBehavior *string `type:"string" enum:"ScaleDownBehavior"`
|
|
|
|
// The name of a security configuration to apply to the cluster.
|
|
SecurityConfiguration *string `type:"string"`
|
|
|
|
// The IAM role that will be assumed by the Amazon EMR service to access AWS
|
|
// resources on your behalf.
|
|
ServiceRole *string `type:"string"`
|
|
|
|
// A list of steps to run.
|
|
Steps []*StepConfig `type:"list"`
|
|
|
|
// For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later,
|
|
// use Applications.
|
|
//
|
|
// A list of strings that indicates third-party software to use. For more information,
|
|
// see the Amazon EMR Developer Guide (http://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf).
|
|
// Currently supported values are:
|
|
//
|
|
// * "mapr-m3" - launch the job flow using MapR M3 Edition.
|
|
//
|
|
// * "mapr-m5" - launch the job flow using MapR M5 Edition.
|
|
SupportedProducts []*string `type:"list"`
|
|
|
|
// A list of tags to associate with a cluster and propagate to Amazon EC2 instances.
|
|
Tags []*Tag `type:"list"`
|
|
|
|
// Whether the cluster is visible to all IAM users of the AWS account associated
|
|
// with the cluster. If this value is set to true, all IAM users of that AWS
|
|
// account can view and (if they have the proper policy permissions set) manage
|
|
// the cluster. If it is set to false, only the IAM user that created the cluster
|
|
// can view and manage it.
|
|
VisibleToAllUsers *bool `type:"boolean"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RunJobFlowInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RunJobFlowInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *RunJobFlowInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "RunJobFlowInput"}
|
|
if s.Instances == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Instances"))
|
|
}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
if s.BootstrapActions != nil {
|
|
for i, v := range s.BootstrapActions {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BootstrapActions", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
if s.Instances != nil {
|
|
if err := s.Instances.Validate(); err != nil {
|
|
invalidParams.AddNested("Instances", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.KerberosAttributes != nil {
|
|
if err := s.KerberosAttributes.Validate(); err != nil {
|
|
invalidParams.AddNested("KerberosAttributes", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.Steps != nil {
|
|
for i, v := range s.Steps {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Steps", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAdditionalInfo sets the AdditionalInfo field's value.
|
|
func (s *RunJobFlowInput) SetAdditionalInfo(v string) *RunJobFlowInput {
|
|
s.AdditionalInfo = &v
|
|
return s
|
|
}
|
|
|
|
// SetAmiVersion sets the AmiVersion field's value.
|
|
func (s *RunJobFlowInput) SetAmiVersion(v string) *RunJobFlowInput {
|
|
s.AmiVersion = &v
|
|
return s
|
|
}
|
|
|
|
// SetApplications sets the Applications field's value.
|
|
func (s *RunJobFlowInput) SetApplications(v []*Application) *RunJobFlowInput {
|
|
s.Applications = v
|
|
return s
|
|
}
|
|
|
|
// SetAutoScalingRole sets the AutoScalingRole field's value.
|
|
func (s *RunJobFlowInput) SetAutoScalingRole(v string) *RunJobFlowInput {
|
|
s.AutoScalingRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetBootstrapActions sets the BootstrapActions field's value.
|
|
func (s *RunJobFlowInput) SetBootstrapActions(v []*BootstrapActionConfig) *RunJobFlowInput {
|
|
s.BootstrapActions = v
|
|
return s
|
|
}
|
|
|
|
// SetConfigurations sets the Configurations field's value.
|
|
func (s *RunJobFlowInput) SetConfigurations(v []*Configuration) *RunJobFlowInput {
|
|
s.Configurations = v
|
|
return s
|
|
}
|
|
|
|
// SetCustomAmiId sets the CustomAmiId field's value.
|
|
func (s *RunJobFlowInput) SetCustomAmiId(v string) *RunJobFlowInput {
|
|
s.CustomAmiId = &v
|
|
return s
|
|
}
|
|
|
|
// SetEbsRootVolumeSize sets the EbsRootVolumeSize field's value.
|
|
func (s *RunJobFlowInput) SetEbsRootVolumeSize(v int64) *RunJobFlowInput {
|
|
s.EbsRootVolumeSize = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstances sets the Instances field's value.
|
|
func (s *RunJobFlowInput) SetInstances(v *JobFlowInstancesConfig) *RunJobFlowInput {
|
|
s.Instances = v
|
|
return s
|
|
}
|
|
|
|
// SetJobFlowRole sets the JobFlowRole field's value.
|
|
func (s *RunJobFlowInput) SetJobFlowRole(v string) *RunJobFlowInput {
|
|
s.JobFlowRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetKerberosAttributes sets the KerberosAttributes field's value.
|
|
func (s *RunJobFlowInput) SetKerberosAttributes(v *KerberosAttributes) *RunJobFlowInput {
|
|
s.KerberosAttributes = v
|
|
return s
|
|
}
|
|
|
|
// SetLogUri sets the LogUri field's value.
|
|
func (s *RunJobFlowInput) SetLogUri(v string) *RunJobFlowInput {
|
|
s.LogUri = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *RunJobFlowInput) SetName(v string) *RunJobFlowInput {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetNewSupportedProducts sets the NewSupportedProducts field's value.
|
|
func (s *RunJobFlowInput) SetNewSupportedProducts(v []*SupportedProductConfig) *RunJobFlowInput {
|
|
s.NewSupportedProducts = v
|
|
return s
|
|
}
|
|
|
|
// SetReleaseLabel sets the ReleaseLabel field's value.
|
|
func (s *RunJobFlowInput) SetReleaseLabel(v string) *RunJobFlowInput {
|
|
s.ReleaseLabel = &v
|
|
return s
|
|
}
|
|
|
|
// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value.
|
|
func (s *RunJobFlowInput) SetRepoUpgradeOnBoot(v string) *RunJobFlowInput {
|
|
s.RepoUpgradeOnBoot = &v
|
|
return s
|
|
}
|
|
|
|
// SetScaleDownBehavior sets the ScaleDownBehavior field's value.
|
|
func (s *RunJobFlowInput) SetScaleDownBehavior(v string) *RunJobFlowInput {
|
|
s.ScaleDownBehavior = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityConfiguration sets the SecurityConfiguration field's value.
|
|
func (s *RunJobFlowInput) SetSecurityConfiguration(v string) *RunJobFlowInput {
|
|
s.SecurityConfiguration = &v
|
|
return s
|
|
}
|
|
|
|
// SetServiceRole sets the ServiceRole field's value.
|
|
func (s *RunJobFlowInput) SetServiceRole(v string) *RunJobFlowInput {
|
|
s.ServiceRole = &v
|
|
return s
|
|
}
|
|
|
|
// SetSteps sets the Steps field's value.
|
|
func (s *RunJobFlowInput) SetSteps(v []*StepConfig) *RunJobFlowInput {
|
|
s.Steps = v
|
|
return s
|
|
}
|
|
|
|
// SetSupportedProducts sets the SupportedProducts field's value.
|
|
func (s *RunJobFlowInput) SetSupportedProducts(v []*string) *RunJobFlowInput {
|
|
s.SupportedProducts = v
|
|
return s
|
|
}
|
|
|
|
// SetTags sets the Tags field's value.
|
|
func (s *RunJobFlowInput) SetTags(v []*Tag) *RunJobFlowInput {
|
|
s.Tags = v
|
|
return s
|
|
}
|
|
|
|
// SetVisibleToAllUsers sets the VisibleToAllUsers field's value.
|
|
func (s *RunJobFlowInput) SetVisibleToAllUsers(v bool) *RunJobFlowInput {
|
|
s.VisibleToAllUsers = &v
|
|
return s
|
|
}
|
|
|
|
// The result of the RunJobFlow operation.
|
|
type RunJobFlowOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An unique identifier for the job flow.
|
|
JobFlowId *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s RunJobFlowOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s RunJobFlowOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetJobFlowId sets the JobFlowId field's value.
|
|
func (s *RunJobFlowOutput) SetJobFlowId(v string) *RunJobFlowOutput {
|
|
s.JobFlowId = &v
|
|
return s
|
|
}
|
|
|
|
// The type of adjustment the automatic scaling activity makes when triggered,
|
|
// and the periodicity of the adjustment.
|
|
type ScalingAction struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Not available for instance groups. Instance groups use the market type specified
|
|
// for the group.
|
|
Market *string `type:"string" enum:"MarketType"`
|
|
|
|
// The type of adjustment the automatic scaling activity makes when triggered,
|
|
// and the periodicity of the adjustment.
|
|
//
|
|
// SimpleScalingPolicyConfiguration is a required field
|
|
SimpleScalingPolicyConfiguration *SimpleScalingPolicyConfiguration `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ScalingAction) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ScalingAction) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ScalingAction) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ScalingAction"}
|
|
if s.SimpleScalingPolicyConfiguration == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SimpleScalingPolicyConfiguration"))
|
|
}
|
|
if s.SimpleScalingPolicyConfiguration != nil {
|
|
if err := s.SimpleScalingPolicyConfiguration.Validate(); err != nil {
|
|
invalidParams.AddNested("SimpleScalingPolicyConfiguration", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetMarket sets the Market field's value.
|
|
func (s *ScalingAction) SetMarket(v string) *ScalingAction {
|
|
s.Market = &v
|
|
return s
|
|
}
|
|
|
|
// SetSimpleScalingPolicyConfiguration sets the SimpleScalingPolicyConfiguration field's value.
|
|
func (s *ScalingAction) SetSimpleScalingPolicyConfiguration(v *SimpleScalingPolicyConfiguration) *ScalingAction {
|
|
s.SimpleScalingPolicyConfiguration = v
|
|
return s
|
|
}
|
|
|
|
// The upper and lower EC2 instance limits for an automatic scaling policy.
|
|
// Automatic scaling activities triggered by automatic scaling rules will not
|
|
// cause an instance group to grow above or below these limits.
|
|
type ScalingConstraints struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The upper boundary of EC2 instances in an instance group beyond which scaling
|
|
// activities are not allowed to grow. Scale-out activities will not add instances
|
|
// beyond this boundary.
|
|
//
|
|
// MaxCapacity is a required field
|
|
MaxCapacity *int64 `type:"integer" required:"true"`
|
|
|
|
// The lower boundary of EC2 instances in an instance group below which scaling
|
|
// activities are not allowed to shrink. Scale-in activities will not terminate
|
|
// instances below this boundary.
|
|
//
|
|
// MinCapacity is a required field
|
|
MinCapacity *int64 `type:"integer" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ScalingConstraints) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ScalingConstraints) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ScalingConstraints) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ScalingConstraints"}
|
|
if s.MaxCapacity == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("MaxCapacity"))
|
|
}
|
|
if s.MinCapacity == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("MinCapacity"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetMaxCapacity sets the MaxCapacity field's value.
|
|
func (s *ScalingConstraints) SetMaxCapacity(v int64) *ScalingConstraints {
|
|
s.MaxCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// SetMinCapacity sets the MinCapacity field's value.
|
|
func (s *ScalingConstraints) SetMinCapacity(v int64) *ScalingConstraints {
|
|
s.MinCapacity = &v
|
|
return s
|
|
}
|
|
|
|
// A scale-in or scale-out rule that defines scaling activity, including the
|
|
// CloudWatch metric alarm that triggers activity, how EC2 instances are added
|
|
// or removed, and the periodicity of adjustments. The automatic scaling policy
|
|
// for an instance group can comprise one or more automatic scaling rules.
|
|
type ScalingRule struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The conditions that trigger an automatic scaling activity.
|
|
//
|
|
// Action is a required field
|
|
Action *ScalingAction `type:"structure" required:"true"`
|
|
|
|
// A friendly, more verbose description of the automatic scaling rule.
|
|
Description *string `type:"string"`
|
|
|
|
// The name used to identify an automatic scaling rule. Rule names must be unique
|
|
// within a scaling policy.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
|
|
// The CloudWatch alarm definition that determines when automatic scaling activity
|
|
// is triggered.
|
|
//
|
|
// Trigger is a required field
|
|
Trigger *ScalingTrigger `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ScalingRule) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ScalingRule) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ScalingRule) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ScalingRule"}
|
|
if s.Action == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Action"))
|
|
}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
if s.Trigger == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Trigger"))
|
|
}
|
|
if s.Action != nil {
|
|
if err := s.Action.Validate(); err != nil {
|
|
invalidParams.AddNested("Action", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
if s.Trigger != nil {
|
|
if err := s.Trigger.Validate(); err != nil {
|
|
invalidParams.AddNested("Trigger", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAction sets the Action field's value.
|
|
func (s *ScalingRule) SetAction(v *ScalingAction) *ScalingRule {
|
|
s.Action = v
|
|
return s
|
|
}
|
|
|
|
// SetDescription sets the Description field's value.
|
|
func (s *ScalingRule) SetDescription(v string) *ScalingRule {
|
|
s.Description = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *ScalingRule) SetName(v string) *ScalingRule {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetTrigger sets the Trigger field's value.
|
|
func (s *ScalingRule) SetTrigger(v *ScalingTrigger) *ScalingRule {
|
|
s.Trigger = v
|
|
return s
|
|
}
|
|
|
|
// The conditions that trigger an automatic scaling activity.
|
|
type ScalingTrigger struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The definition of a CloudWatch metric alarm. When the defined alarm conditions
|
|
// are met along with other trigger parameters, scaling activity begins.
|
|
//
|
|
// CloudWatchAlarmDefinition is a required field
|
|
CloudWatchAlarmDefinition *CloudWatchAlarmDefinition `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ScalingTrigger) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ScalingTrigger) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ScalingTrigger) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ScalingTrigger"}
|
|
if s.CloudWatchAlarmDefinition == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("CloudWatchAlarmDefinition"))
|
|
}
|
|
if s.CloudWatchAlarmDefinition != nil {
|
|
if err := s.CloudWatchAlarmDefinition.Validate(); err != nil {
|
|
invalidParams.AddNested("CloudWatchAlarmDefinition", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetCloudWatchAlarmDefinition sets the CloudWatchAlarmDefinition field's value.
|
|
func (s *ScalingTrigger) SetCloudWatchAlarmDefinition(v *CloudWatchAlarmDefinition) *ScalingTrigger {
|
|
s.CloudWatchAlarmDefinition = v
|
|
return s
|
|
}
|
|
|
|
// Configuration of the script to run during a bootstrap action.
|
|
type ScriptBootstrapActionConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of command line arguments to pass to the bootstrap action script.
|
|
Args []*string `type:"list"`
|
|
|
|
// Location of the script to run during a bootstrap action. Can be either a
|
|
// location in Amazon S3 or on a local file system.
|
|
//
|
|
// Path is a required field
|
|
Path *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ScriptBootstrapActionConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ScriptBootstrapActionConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ScriptBootstrapActionConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ScriptBootstrapActionConfig"}
|
|
if s.Path == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Path"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *ScriptBootstrapActionConfig) SetArgs(v []*string) *ScriptBootstrapActionConfig {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetPath sets the Path field's value.
|
|
func (s *ScriptBootstrapActionConfig) SetPath(v string) *ScriptBootstrapActionConfig {
|
|
s.Path = &v
|
|
return s
|
|
}
|
|
|
|
// The creation date and time, and name, of a security configuration.
|
|
type SecurityConfigurationSummary struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The date and time the security configuration was created.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The name of the security configuration.
|
|
Name *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SecurityConfigurationSummary) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SecurityConfigurationSummary) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *SecurityConfigurationSummary) SetCreationDateTime(v time.Time) *SecurityConfigurationSummary {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *SecurityConfigurationSummary) SetName(v string) *SecurityConfigurationSummary {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// The input argument to the TerminationProtection operation.
|
|
type SetTerminationProtectionInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of strings that uniquely identify the clusters to protect. This identifier
|
|
// is returned by RunJobFlow and can also be obtained from DescribeJobFlows
|
|
// .
|
|
//
|
|
// JobFlowIds is a required field
|
|
JobFlowIds []*string `type:"list" required:"true"`
|
|
|
|
// A Boolean that indicates whether to protect the cluster and prevent the Amazon
|
|
// EC2 instances in the cluster from shutting down due to API calls, user intervention,
|
|
// or job-flow error.
|
|
//
|
|
// TerminationProtected is a required field
|
|
TerminationProtected *bool `type:"boolean" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SetTerminationProtectionInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SetTerminationProtectionInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *SetTerminationProtectionInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "SetTerminationProtectionInput"}
|
|
if s.JobFlowIds == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobFlowIds"))
|
|
}
|
|
if s.TerminationProtected == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("TerminationProtected"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobFlowIds sets the JobFlowIds field's value.
|
|
func (s *SetTerminationProtectionInput) SetJobFlowIds(v []*string) *SetTerminationProtectionInput {
|
|
s.JobFlowIds = v
|
|
return s
|
|
}
|
|
|
|
// SetTerminationProtected sets the TerminationProtected field's value.
|
|
func (s *SetTerminationProtectionInput) SetTerminationProtected(v bool) *SetTerminationProtectionInput {
|
|
s.TerminationProtected = &v
|
|
return s
|
|
}
|
|
|
|
type SetTerminationProtectionOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SetTerminationProtectionOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SetTerminationProtectionOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// The input to the SetVisibleToAllUsers action.
|
|
type SetVisibleToAllUsersInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Identifiers of the job flows to receive the new visibility setting.
|
|
//
|
|
// JobFlowIds is a required field
|
|
JobFlowIds []*string `type:"list" required:"true"`
|
|
|
|
// Whether the specified clusters are visible to all IAM users of the AWS account
|
|
// associated with the cluster. If this value is set to True, all IAM users
|
|
// of that AWS account can view and, if they have the proper IAM policy permissions
|
|
// set, manage the clusters. If it is set to False, only the IAM user that created
|
|
// a cluster can view and manage it.
|
|
//
|
|
// VisibleToAllUsers is a required field
|
|
VisibleToAllUsers *bool `type:"boolean" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SetVisibleToAllUsersInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SetVisibleToAllUsersInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *SetVisibleToAllUsersInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "SetVisibleToAllUsersInput"}
|
|
if s.JobFlowIds == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobFlowIds"))
|
|
}
|
|
if s.VisibleToAllUsers == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("VisibleToAllUsers"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobFlowIds sets the JobFlowIds field's value.
|
|
func (s *SetVisibleToAllUsersInput) SetJobFlowIds(v []*string) *SetVisibleToAllUsersInput {
|
|
s.JobFlowIds = v
|
|
return s
|
|
}
|
|
|
|
// SetVisibleToAllUsers sets the VisibleToAllUsers field's value.
|
|
func (s *SetVisibleToAllUsersInput) SetVisibleToAllUsers(v bool) *SetVisibleToAllUsersInput {
|
|
s.VisibleToAllUsers = &v
|
|
return s
|
|
}
|
|
|
|
type SetVisibleToAllUsersOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SetVisibleToAllUsersOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SetVisibleToAllUsersOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Policy for customizing shrink operations. Allows configuration of decommissioning
|
|
// timeout and targeted instance shrinking.
|
|
type ShrinkPolicy struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The desired timeout for decommissioning an instance. Overrides the default
|
|
// YARN decommissioning timeout.
|
|
DecommissionTimeout *int64 `type:"integer"`
|
|
|
|
// Custom policy for requesting termination protection or termination of specific
|
|
// instances when shrinking an instance group.
|
|
InstanceResizePolicy *InstanceResizePolicy `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ShrinkPolicy) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ShrinkPolicy) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetDecommissionTimeout sets the DecommissionTimeout field's value.
|
|
func (s *ShrinkPolicy) SetDecommissionTimeout(v int64) *ShrinkPolicy {
|
|
s.DecommissionTimeout = &v
|
|
return s
|
|
}
|
|
|
|
// SetInstanceResizePolicy sets the InstanceResizePolicy field's value.
|
|
func (s *ShrinkPolicy) SetInstanceResizePolicy(v *InstanceResizePolicy) *ShrinkPolicy {
|
|
s.InstanceResizePolicy = v
|
|
return s
|
|
}
|
|
|
|
// An automatic scaling configuration, which describes how the policy adds or
|
|
// removes instances, the cooldown period, and the number of EC2 instances that
|
|
// will be added each time the CloudWatch metric alarm condition is satisfied.
|
|
type SimpleScalingPolicyConfiguration struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The way in which EC2 instances are added (if ScalingAdjustment is a positive
|
|
// number) or terminated (if ScalingAdjustment is a negative number) each time
|
|
// the scaling activity is triggered. CHANGE_IN_CAPACITY is the default. CHANGE_IN_CAPACITY
|
|
// indicates that the EC2 instance count increments or decrements by ScalingAdjustment,
|
|
// which should be expressed as an integer. PERCENT_CHANGE_IN_CAPACITY indicates
|
|
// the instance count increments or decrements by the percentage specified by
|
|
// ScalingAdjustment, which should be expressed as an integer. For example,
|
|
// 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY
|
|
// indicates the scaling activity results in an instance group with the number
|
|
// of EC2 instances specified by ScalingAdjustment, which should be expressed
|
|
// as a positive integer.
|
|
AdjustmentType *string `type:"string" enum:"AdjustmentType"`
|
|
|
|
// The amount of time, in seconds, after a scaling activity completes before
|
|
// any further trigger-related scaling activities can start. The default value
|
|
// is 0.
|
|
CoolDown *int64 `type:"integer"`
|
|
|
|
// The amount by which to scale in or scale out, based on the specified AdjustmentType.
|
|
// A positive value adds to the instance group's EC2 instance count while a
|
|
// negative number removes instances. If AdjustmentType is set to EXACT_CAPACITY,
|
|
// the number should only be a positive integer. If AdjustmentType is set to
|
|
// PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an
|
|
// integer. For example, -20 indicates a decrease in 20% increments of cluster
|
|
// capacity.
|
|
//
|
|
// ScalingAdjustment is a required field
|
|
ScalingAdjustment *int64 `type:"integer" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SimpleScalingPolicyConfiguration) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SimpleScalingPolicyConfiguration) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *SimpleScalingPolicyConfiguration) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "SimpleScalingPolicyConfiguration"}
|
|
if s.ScalingAdjustment == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ScalingAdjustment"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAdjustmentType sets the AdjustmentType field's value.
|
|
func (s *SimpleScalingPolicyConfiguration) SetAdjustmentType(v string) *SimpleScalingPolicyConfiguration {
|
|
s.AdjustmentType = &v
|
|
return s
|
|
}
|
|
|
|
// SetCoolDown sets the CoolDown field's value.
|
|
func (s *SimpleScalingPolicyConfiguration) SetCoolDown(v int64) *SimpleScalingPolicyConfiguration {
|
|
s.CoolDown = &v
|
|
return s
|
|
}
|
|
|
|
// SetScalingAdjustment sets the ScalingAdjustment field's value.
|
|
func (s *SimpleScalingPolicyConfiguration) SetScalingAdjustment(v int64) *SimpleScalingPolicyConfiguration {
|
|
s.ScalingAdjustment = &v
|
|
return s
|
|
}
|
|
|
|
// The launch specification for Spot instances in the instance fleet, which
|
|
// determines the defined duration and provisioning timeout behavior.
|
|
//
|
|
// The instance fleet configuration is available only in Amazon EMR versions
|
|
// 4.8.0 and later, excluding 5.0.x versions.
|
|
type SpotProvisioningSpecification struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The defined duration for Spot instances (also known as Spot blocks) in minutes.
|
|
// When specified, the Spot instance does not terminate before the defined duration
|
|
// expires, and defined duration pricing for Spot instances applies. Valid values
|
|
// are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as
|
|
// a Spot instance receives its instance ID. At the end of the duration, Amazon
|
|
// EC2 marks the Spot instance for termination and provides a Spot instance
|
|
// termination notice, which gives the instance a two-minute warning before
|
|
// it terminates.
|
|
BlockDurationMinutes *int64 `type:"integer"`
|
|
|
|
// The action to take when TargetSpotCapacity has not been fulfilled when the
|
|
// TimeoutDurationMinutes has expired. Spot instances are not uprovisioned within
|
|
// the Spot provisioining timeout. Valid values are TERMINATE_CLUSTER and SWITCH_TO_ON_DEMAND.
|
|
// SWITCH_TO_ON_DEMAND specifies that if no Spot instances are available, On-Demand
|
|
// Instances should be provisioned to fulfill any remaining Spot capacity.
|
|
//
|
|
// TimeoutAction is a required field
|
|
TimeoutAction *string `type:"string" required:"true" enum:"SpotProvisioningTimeoutAction"`
|
|
|
|
// The spot provisioning timeout period in minutes. If Spot instances are not
|
|
// provisioned within this time period, the TimeOutAction is taken. Minimum
|
|
// value is 5 and maximum value is 1440. The timeout applies only during initial
|
|
// provisioning, when the cluster is first created.
|
|
//
|
|
// TimeoutDurationMinutes is a required field
|
|
TimeoutDurationMinutes *int64 `type:"integer" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SpotProvisioningSpecification) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SpotProvisioningSpecification) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *SpotProvisioningSpecification) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "SpotProvisioningSpecification"}
|
|
if s.TimeoutAction == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("TimeoutAction"))
|
|
}
|
|
if s.TimeoutDurationMinutes == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("TimeoutDurationMinutes"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetBlockDurationMinutes sets the BlockDurationMinutes field's value.
|
|
func (s *SpotProvisioningSpecification) SetBlockDurationMinutes(v int64) *SpotProvisioningSpecification {
|
|
s.BlockDurationMinutes = &v
|
|
return s
|
|
}
|
|
|
|
// SetTimeoutAction sets the TimeoutAction field's value.
|
|
func (s *SpotProvisioningSpecification) SetTimeoutAction(v string) *SpotProvisioningSpecification {
|
|
s.TimeoutAction = &v
|
|
return s
|
|
}
|
|
|
|
// SetTimeoutDurationMinutes sets the TimeoutDurationMinutes field's value.
|
|
func (s *SpotProvisioningSpecification) SetTimeoutDurationMinutes(v int64) *SpotProvisioningSpecification {
|
|
s.TimeoutDurationMinutes = &v
|
|
return s
|
|
}
|
|
|
|
// This represents a step in a cluster.
|
|
type Step struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// This specifies what action to take when the cluster step fails. Possible
|
|
// values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
|
|
ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
|
|
|
|
// The Hadoop job configuration of the cluster step.
|
|
Config *HadoopStepConfig `type:"structure"`
|
|
|
|
// The identifier of the cluster step.
|
|
Id *string `type:"string"`
|
|
|
|
// The name of the cluster step.
|
|
Name *string `type:"string"`
|
|
|
|
// The current execution status details of the cluster step.
|
|
Status *StepStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Step) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Step) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetActionOnFailure sets the ActionOnFailure field's value.
|
|
func (s *Step) SetActionOnFailure(v string) *Step {
|
|
s.ActionOnFailure = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfig sets the Config field's value.
|
|
func (s *Step) SetConfig(v *HadoopStepConfig) *Step {
|
|
s.Config = v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *Step) SetId(v string) *Step {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *Step) SetName(v string) *Step {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *Step) SetStatus(v *StepStatus) *Step {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// Specification of a cluster (job flow) step.
|
|
type StepConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The action to take if the step fails.
|
|
ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
|
|
|
|
// The JAR file used for the step.
|
|
//
|
|
// HadoopJarStep is a required field
|
|
HadoopJarStep *HadoopJarStepConfig `type:"structure" required:"true"`
|
|
|
|
// The name of the step.
|
|
//
|
|
// Name is a required field
|
|
Name *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *StepConfig) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "StepConfig"}
|
|
if s.HadoopJarStep == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("HadoopJarStep"))
|
|
}
|
|
if s.Name == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Name"))
|
|
}
|
|
if s.HadoopJarStep != nil {
|
|
if err := s.HadoopJarStep.Validate(); err != nil {
|
|
invalidParams.AddNested("HadoopJarStep", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetActionOnFailure sets the ActionOnFailure field's value.
|
|
func (s *StepConfig) SetActionOnFailure(v string) *StepConfig {
|
|
s.ActionOnFailure = &v
|
|
return s
|
|
}
|
|
|
|
// SetHadoopJarStep sets the HadoopJarStep field's value.
|
|
func (s *StepConfig) SetHadoopJarStep(v *HadoopJarStepConfig) *StepConfig {
|
|
s.HadoopJarStep = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *StepConfig) SetName(v string) *StepConfig {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// Combines the execution state and configuration of a step.
|
|
type StepDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The description of the step status.
|
|
//
|
|
// ExecutionStatusDetail is a required field
|
|
ExecutionStatusDetail *StepExecutionStatusDetail `type:"structure" required:"true"`
|
|
|
|
// The step configuration.
|
|
//
|
|
// StepConfig is a required field
|
|
StepConfig *StepConfig `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetExecutionStatusDetail sets the ExecutionStatusDetail field's value.
|
|
func (s *StepDetail) SetExecutionStatusDetail(v *StepExecutionStatusDetail) *StepDetail {
|
|
s.ExecutionStatusDetail = v
|
|
return s
|
|
}
|
|
|
|
// SetStepConfig sets the StepConfig field's value.
|
|
func (s *StepDetail) SetStepConfig(v *StepConfig) *StepDetail {
|
|
s.StepConfig = v
|
|
return s
|
|
}
|
|
|
|
// The execution state of a step.
|
|
type StepExecutionStatusDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The creation date and time of the step.
|
|
//
|
|
// CreationDateTime is a required field
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix" required:"true"`
|
|
|
|
// The completion date and time of the step.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// A description of the step's current state.
|
|
LastStateChangeReason *string `type:"string"`
|
|
|
|
// The start date and time of the step.
|
|
StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The state of the step.
|
|
//
|
|
// State is a required field
|
|
State *string `type:"string" required:"true" enum:"StepExecutionState"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepExecutionStatusDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepExecutionStatusDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *StepExecutionStatusDetail) SetCreationDateTime(v time.Time) *StepExecutionStatusDetail {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *StepExecutionStatusDetail) SetEndDateTime(v time.Time) *StepExecutionStatusDetail {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetLastStateChangeReason sets the LastStateChangeReason field's value.
|
|
func (s *StepExecutionStatusDetail) SetLastStateChangeReason(v string) *StepExecutionStatusDetail {
|
|
s.LastStateChangeReason = &v
|
|
return s
|
|
}
|
|
|
|
// SetStartDateTime sets the StartDateTime field's value.
|
|
func (s *StepExecutionStatusDetail) SetStartDateTime(v time.Time) *StepExecutionStatusDetail {
|
|
s.StartDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *StepExecutionStatusDetail) SetState(v string) *StepExecutionStatusDetail {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// The details of the step state change reason.
|
|
type StepStateChangeReason struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The programmable code for the state change reason. Note: Currently, the service
|
|
// provides no code for the state change.
|
|
Code *string `type:"string" enum:"StepStateChangeReasonCode"`
|
|
|
|
// The descriptive message for the state change reason.
|
|
Message *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepStateChangeReason) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepStateChangeReason) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCode sets the Code field's value.
|
|
func (s *StepStateChangeReason) SetCode(v string) *StepStateChangeReason {
|
|
s.Code = &v
|
|
return s
|
|
}
|
|
|
|
// SetMessage sets the Message field's value.
|
|
func (s *StepStateChangeReason) SetMessage(v string) *StepStateChangeReason {
|
|
s.Message = &v
|
|
return s
|
|
}
|
|
|
|
// The execution status details of the cluster step.
|
|
type StepStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The details for the step failure including reason, message, and log file
|
|
// path where the root cause was identified.
|
|
FailureDetails *FailureDetails `type:"structure"`
|
|
|
|
// The execution state of the cluster step.
|
|
State *string `type:"string" enum:"StepState"`
|
|
|
|
// The reason for the step execution status change.
|
|
StateChangeReason *StepStateChangeReason `type:"structure"`
|
|
|
|
// The timeline of the cluster step status over time.
|
|
Timeline *StepTimeline `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetFailureDetails sets the FailureDetails field's value.
|
|
func (s *StepStatus) SetFailureDetails(v *FailureDetails) *StepStatus {
|
|
s.FailureDetails = v
|
|
return s
|
|
}
|
|
|
|
// SetState sets the State field's value.
|
|
func (s *StepStatus) SetState(v string) *StepStatus {
|
|
s.State = &v
|
|
return s
|
|
}
|
|
|
|
// SetStateChangeReason sets the StateChangeReason field's value.
|
|
func (s *StepStatus) SetStateChangeReason(v *StepStateChangeReason) *StepStatus {
|
|
s.StateChangeReason = v
|
|
return s
|
|
}
|
|
|
|
// SetTimeline sets the Timeline field's value.
|
|
func (s *StepStatus) SetTimeline(v *StepTimeline) *StepStatus {
|
|
s.Timeline = v
|
|
return s
|
|
}
|
|
|
|
// The summary of the cluster step.
|
|
type StepSummary struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// This specifies what action to take when the cluster step fails. Possible
|
|
// values are TERMINATE_CLUSTER, CANCEL_AND_WAIT, and CONTINUE.
|
|
ActionOnFailure *string `type:"string" enum:"ActionOnFailure"`
|
|
|
|
// The Hadoop job configuration of the cluster step.
|
|
Config *HadoopStepConfig `type:"structure"`
|
|
|
|
// The identifier of the cluster step.
|
|
Id *string `type:"string"`
|
|
|
|
// The name of the cluster step.
|
|
Name *string `type:"string"`
|
|
|
|
// The current execution status details of the cluster step.
|
|
Status *StepStatus `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepSummary) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepSummary) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetActionOnFailure sets the ActionOnFailure field's value.
|
|
func (s *StepSummary) SetActionOnFailure(v string) *StepSummary {
|
|
s.ActionOnFailure = &v
|
|
return s
|
|
}
|
|
|
|
// SetConfig sets the Config field's value.
|
|
func (s *StepSummary) SetConfig(v *HadoopStepConfig) *StepSummary {
|
|
s.Config = v
|
|
return s
|
|
}
|
|
|
|
// SetId sets the Id field's value.
|
|
func (s *StepSummary) SetId(v string) *StepSummary {
|
|
s.Id = &v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *StepSummary) SetName(v string) *StepSummary {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// SetStatus sets the Status field's value.
|
|
func (s *StepSummary) SetStatus(v *StepStatus) *StepSummary {
|
|
s.Status = v
|
|
return s
|
|
}
|
|
|
|
// The timeline of the cluster step lifecycle.
|
|
type StepTimeline struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The date and time when the cluster step was created.
|
|
CreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the cluster step execution completed or failed.
|
|
EndDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
|
|
// The date and time when the cluster step execution started.
|
|
StartDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s StepTimeline) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s StepTimeline) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetCreationDateTime sets the CreationDateTime field's value.
|
|
func (s *StepTimeline) SetCreationDateTime(v time.Time) *StepTimeline {
|
|
s.CreationDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetEndDateTime sets the EndDateTime field's value.
|
|
func (s *StepTimeline) SetEndDateTime(v time.Time) *StepTimeline {
|
|
s.EndDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// SetStartDateTime sets the StartDateTime field's value.
|
|
func (s *StepTimeline) SetStartDateTime(v time.Time) *StepTimeline {
|
|
s.StartDateTime = &v
|
|
return s
|
|
}
|
|
|
|
// The list of supported product configurations which allow user-supplied arguments.
|
|
// EMR accepts these arguments and forwards them to the corresponding installation
|
|
// script as bootstrap action arguments.
|
|
type SupportedProductConfig struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The list of user-supplied arguments.
|
|
Args []*string `type:"list"`
|
|
|
|
// The name of the product configuration.
|
|
Name *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SupportedProductConfig) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SupportedProductConfig) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetArgs sets the Args field's value.
|
|
func (s *SupportedProductConfig) SetArgs(v []*string) *SupportedProductConfig {
|
|
s.Args = v
|
|
return s
|
|
}
|
|
|
|
// SetName sets the Name field's value.
|
|
func (s *SupportedProductConfig) SetName(v string) *SupportedProductConfig {
|
|
s.Name = &v
|
|
return s
|
|
}
|
|
|
|
// A key/value pair containing user-defined metadata that you can associate
|
|
// with an Amazon EMR resource. Tags make it easier to associate clusters in
|
|
// various ways, such as grouping clusters to track your Amazon EMR resource
|
|
// allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
|
|
type Tag struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A user-defined key, which is the minimum required information for a valid
|
|
// tag. For more information, see Tag (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
|
|
Key *string `type:"string"`
|
|
|
|
// A user-defined value, which is optional in a tag. For more information, see
|
|
// Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
|
|
Value *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Tag) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Tag) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetKey sets the Key field's value.
|
|
func (s *Tag) SetKey(v string) *Tag {
|
|
s.Key = &v
|
|
return s
|
|
}
|
|
|
|
// SetValue sets the Value field's value.
|
|
func (s *Tag) SetValue(v string) *Tag {
|
|
s.Value = &v
|
|
return s
|
|
}
|
|
|
|
// Input to the TerminateJobFlows operation.
|
|
type TerminateJobFlowsInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// A list of job flows to be shutdown.
|
|
//
|
|
// JobFlowIds is a required field
|
|
JobFlowIds []*string `type:"list" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s TerminateJobFlowsInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s TerminateJobFlowsInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *TerminateJobFlowsInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "TerminateJobFlowsInput"}
|
|
if s.JobFlowIds == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("JobFlowIds"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetJobFlowIds sets the JobFlowIds field's value.
|
|
func (s *TerminateJobFlowsInput) SetJobFlowIds(v []*string) *TerminateJobFlowsInput {
|
|
s.JobFlowIds = v
|
|
return s
|
|
}
|
|
|
|
type TerminateJobFlowsOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s TerminateJobFlowsOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s TerminateJobFlowsOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// EBS volume specifications such as volume type, IOPS, and size (GiB) that
|
|
// will be requested for the EBS volume attached to an EC2 instance in the cluster.
|
|
type VolumeSpecification struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The number of I/O operations per second (IOPS) that the volume supports.
|
|
Iops *int64 `type:"integer"`
|
|
|
|
// The volume size, in gibibytes (GiB). This can be a number from 1 - 1024.
|
|
// If the volume type is EBS-optimized, the minimum value is 10.
|
|
//
|
|
// SizeInGB is a required field
|
|
SizeInGB *int64 `type:"integer" required:"true"`
|
|
|
|
// The volume type. Volume types supported are gp2, io1, standard.
|
|
//
|
|
// VolumeType is a required field
|
|
VolumeType *string `type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s VolumeSpecification) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s VolumeSpecification) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *VolumeSpecification) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "VolumeSpecification"}
|
|
if s.SizeInGB == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SizeInGB"))
|
|
}
|
|
if s.VolumeType == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("VolumeType"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetIops sets the Iops field's value.
|
|
func (s *VolumeSpecification) SetIops(v int64) *VolumeSpecification {
|
|
s.Iops = &v
|
|
return s
|
|
}
|
|
|
|
// SetSizeInGB sets the SizeInGB field's value.
|
|
func (s *VolumeSpecification) SetSizeInGB(v int64) *VolumeSpecification {
|
|
s.SizeInGB = &v
|
|
return s
|
|
}
|
|
|
|
// SetVolumeType sets the VolumeType field's value.
|
|
func (s *VolumeSpecification) SetVolumeType(v string) *VolumeSpecification {
|
|
s.VolumeType = &v
|
|
return s
|
|
}
|
|
|
|
const (
|
|
// ActionOnFailureTerminateJobFlow is a ActionOnFailure enum value
|
|
ActionOnFailureTerminateJobFlow = "TERMINATE_JOB_FLOW"
|
|
|
|
// ActionOnFailureTerminateCluster is a ActionOnFailure enum value
|
|
ActionOnFailureTerminateCluster = "TERMINATE_CLUSTER"
|
|
|
|
// ActionOnFailureCancelAndWait is a ActionOnFailure enum value
|
|
ActionOnFailureCancelAndWait = "CANCEL_AND_WAIT"
|
|
|
|
// ActionOnFailureContinue is a ActionOnFailure enum value
|
|
ActionOnFailureContinue = "CONTINUE"
|
|
)
|
|
|
|
const (
|
|
// AdjustmentTypeChangeInCapacity is a AdjustmentType enum value
|
|
AdjustmentTypeChangeInCapacity = "CHANGE_IN_CAPACITY"
|
|
|
|
// AdjustmentTypePercentChangeInCapacity is a AdjustmentType enum value
|
|
AdjustmentTypePercentChangeInCapacity = "PERCENT_CHANGE_IN_CAPACITY"
|
|
|
|
// AdjustmentTypeExactCapacity is a AdjustmentType enum value
|
|
AdjustmentTypeExactCapacity = "EXACT_CAPACITY"
|
|
)
|
|
|
|
const (
|
|
// AutoScalingPolicyStatePending is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStatePending = "PENDING"
|
|
|
|
// AutoScalingPolicyStateAttaching is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStateAttaching = "ATTACHING"
|
|
|
|
// AutoScalingPolicyStateAttached is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStateAttached = "ATTACHED"
|
|
|
|
// AutoScalingPolicyStateDetaching is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStateDetaching = "DETACHING"
|
|
|
|
// AutoScalingPolicyStateDetached is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStateDetached = "DETACHED"
|
|
|
|
// AutoScalingPolicyStateFailed is a AutoScalingPolicyState enum value
|
|
AutoScalingPolicyStateFailed = "FAILED"
|
|
)
|
|
|
|
const (
|
|
// AutoScalingPolicyStateChangeReasonCodeUserRequest is a AutoScalingPolicyStateChangeReasonCode enum value
|
|
AutoScalingPolicyStateChangeReasonCodeUserRequest = "USER_REQUEST"
|
|
|
|
// AutoScalingPolicyStateChangeReasonCodeProvisionFailure is a AutoScalingPolicyStateChangeReasonCode enum value
|
|
AutoScalingPolicyStateChangeReasonCodeProvisionFailure = "PROVISION_FAILURE"
|
|
|
|
// AutoScalingPolicyStateChangeReasonCodeCleanupFailure is a AutoScalingPolicyStateChangeReasonCode enum value
|
|
AutoScalingPolicyStateChangeReasonCodeCleanupFailure = "CLEANUP_FAILURE"
|
|
)
|
|
|
|
const (
|
|
// CancelStepsRequestStatusSubmitted is a CancelStepsRequestStatus enum value
|
|
CancelStepsRequestStatusSubmitted = "SUBMITTED"
|
|
|
|
// CancelStepsRequestStatusFailed is a CancelStepsRequestStatus enum value
|
|
CancelStepsRequestStatusFailed = "FAILED"
|
|
)
|
|
|
|
const (
|
|
// ClusterStateStarting is a ClusterState enum value
|
|
ClusterStateStarting = "STARTING"
|
|
|
|
// ClusterStateBootstrapping is a ClusterState enum value
|
|
ClusterStateBootstrapping = "BOOTSTRAPPING"
|
|
|
|
// ClusterStateRunning is a ClusterState enum value
|
|
ClusterStateRunning = "RUNNING"
|
|
|
|
// ClusterStateWaiting is a ClusterState enum value
|
|
ClusterStateWaiting = "WAITING"
|
|
|
|
// ClusterStateTerminating is a ClusterState enum value
|
|
ClusterStateTerminating = "TERMINATING"
|
|
|
|
// ClusterStateTerminated is a ClusterState enum value
|
|
ClusterStateTerminated = "TERMINATED"
|
|
|
|
// ClusterStateTerminatedWithErrors is a ClusterState enum value
|
|
ClusterStateTerminatedWithErrors = "TERMINATED_WITH_ERRORS"
|
|
)
|
|
|
|
const (
|
|
// ClusterStateChangeReasonCodeInternalError is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
|
|
|
|
// ClusterStateChangeReasonCodeValidationError is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
|
|
|
|
// ClusterStateChangeReasonCodeInstanceFailure is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
|
|
|
|
// ClusterStateChangeReasonCodeInstanceFleetTimeout is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeInstanceFleetTimeout = "INSTANCE_FLEET_TIMEOUT"
|
|
|
|
// ClusterStateChangeReasonCodeBootstrapFailure is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE"
|
|
|
|
// ClusterStateChangeReasonCodeUserRequest is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeUserRequest = "USER_REQUEST"
|
|
|
|
// ClusterStateChangeReasonCodeStepFailure is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeStepFailure = "STEP_FAILURE"
|
|
|
|
// ClusterStateChangeReasonCodeAllStepsCompleted is a ClusterStateChangeReasonCode enum value
|
|
ClusterStateChangeReasonCodeAllStepsCompleted = "ALL_STEPS_COMPLETED"
|
|
)
|
|
|
|
const (
|
|
// ComparisonOperatorGreaterThanOrEqual is a ComparisonOperator enum value
|
|
ComparisonOperatorGreaterThanOrEqual = "GREATER_THAN_OR_EQUAL"
|
|
|
|
// ComparisonOperatorGreaterThan is a ComparisonOperator enum value
|
|
ComparisonOperatorGreaterThan = "GREATER_THAN"
|
|
|
|
// ComparisonOperatorLessThan is a ComparisonOperator enum value
|
|
ComparisonOperatorLessThan = "LESS_THAN"
|
|
|
|
// ComparisonOperatorLessThanOrEqual is a ComparisonOperator enum value
|
|
ComparisonOperatorLessThanOrEqual = "LESS_THAN_OR_EQUAL"
|
|
)
|
|
|
|
const (
|
|
// InstanceCollectionTypeInstanceFleet is a InstanceCollectionType enum value
|
|
InstanceCollectionTypeInstanceFleet = "INSTANCE_FLEET"
|
|
|
|
// InstanceCollectionTypeInstanceGroup is a InstanceCollectionType enum value
|
|
InstanceCollectionTypeInstanceGroup = "INSTANCE_GROUP"
|
|
)
|
|
|
|
const (
|
|
// InstanceFleetStateProvisioning is a InstanceFleetState enum value
|
|
InstanceFleetStateProvisioning = "PROVISIONING"
|
|
|
|
// InstanceFleetStateBootstrapping is a InstanceFleetState enum value
|
|
InstanceFleetStateBootstrapping = "BOOTSTRAPPING"
|
|
|
|
// InstanceFleetStateRunning is a InstanceFleetState enum value
|
|
InstanceFleetStateRunning = "RUNNING"
|
|
|
|
// InstanceFleetStateResizing is a InstanceFleetState enum value
|
|
InstanceFleetStateResizing = "RESIZING"
|
|
|
|
// InstanceFleetStateSuspended is a InstanceFleetState enum value
|
|
InstanceFleetStateSuspended = "SUSPENDED"
|
|
|
|
// InstanceFleetStateTerminating is a InstanceFleetState enum value
|
|
InstanceFleetStateTerminating = "TERMINATING"
|
|
|
|
// InstanceFleetStateTerminated is a InstanceFleetState enum value
|
|
InstanceFleetStateTerminated = "TERMINATED"
|
|
)
|
|
|
|
const (
|
|
// InstanceFleetStateChangeReasonCodeInternalError is a InstanceFleetStateChangeReasonCode enum value
|
|
InstanceFleetStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
|
|
|
|
// InstanceFleetStateChangeReasonCodeValidationError is a InstanceFleetStateChangeReasonCode enum value
|
|
InstanceFleetStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
|
|
|
|
// InstanceFleetStateChangeReasonCodeInstanceFailure is a InstanceFleetStateChangeReasonCode enum value
|
|
InstanceFleetStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
|
|
|
|
// InstanceFleetStateChangeReasonCodeClusterTerminated is a InstanceFleetStateChangeReasonCode enum value
|
|
InstanceFleetStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED"
|
|
)
|
|
|
|
const (
|
|
// InstanceFleetTypeMaster is a InstanceFleetType enum value
|
|
InstanceFleetTypeMaster = "MASTER"
|
|
|
|
// InstanceFleetTypeCore is a InstanceFleetType enum value
|
|
InstanceFleetTypeCore = "CORE"
|
|
|
|
// InstanceFleetTypeTask is a InstanceFleetType enum value
|
|
InstanceFleetTypeTask = "TASK"
|
|
)
|
|
|
|
const (
|
|
// InstanceGroupStateProvisioning is a InstanceGroupState enum value
|
|
InstanceGroupStateProvisioning = "PROVISIONING"
|
|
|
|
// InstanceGroupStateBootstrapping is a InstanceGroupState enum value
|
|
InstanceGroupStateBootstrapping = "BOOTSTRAPPING"
|
|
|
|
// InstanceGroupStateRunning is a InstanceGroupState enum value
|
|
InstanceGroupStateRunning = "RUNNING"
|
|
|
|
// InstanceGroupStateResizing is a InstanceGroupState enum value
|
|
InstanceGroupStateResizing = "RESIZING"
|
|
|
|
// InstanceGroupStateSuspended is a InstanceGroupState enum value
|
|
InstanceGroupStateSuspended = "SUSPENDED"
|
|
|
|
// InstanceGroupStateTerminating is a InstanceGroupState enum value
|
|
InstanceGroupStateTerminating = "TERMINATING"
|
|
|
|
// InstanceGroupStateTerminated is a InstanceGroupState enum value
|
|
InstanceGroupStateTerminated = "TERMINATED"
|
|
|
|
// InstanceGroupStateArrested is a InstanceGroupState enum value
|
|
InstanceGroupStateArrested = "ARRESTED"
|
|
|
|
// InstanceGroupStateShuttingDown is a InstanceGroupState enum value
|
|
InstanceGroupStateShuttingDown = "SHUTTING_DOWN"
|
|
|
|
// InstanceGroupStateEnded is a InstanceGroupState enum value
|
|
InstanceGroupStateEnded = "ENDED"
|
|
)
|
|
|
|
const (
|
|
// InstanceGroupStateChangeReasonCodeInternalError is a InstanceGroupStateChangeReasonCode enum value
|
|
InstanceGroupStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
|
|
|
|
// InstanceGroupStateChangeReasonCodeValidationError is a InstanceGroupStateChangeReasonCode enum value
|
|
InstanceGroupStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
|
|
|
|
// InstanceGroupStateChangeReasonCodeInstanceFailure is a InstanceGroupStateChangeReasonCode enum value
|
|
InstanceGroupStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
|
|
|
|
// InstanceGroupStateChangeReasonCodeClusterTerminated is a InstanceGroupStateChangeReasonCode enum value
|
|
InstanceGroupStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED"
|
|
)
|
|
|
|
const (
|
|
// InstanceGroupTypeMaster is a InstanceGroupType enum value
|
|
InstanceGroupTypeMaster = "MASTER"
|
|
|
|
// InstanceGroupTypeCore is a InstanceGroupType enum value
|
|
InstanceGroupTypeCore = "CORE"
|
|
|
|
// InstanceGroupTypeTask is a InstanceGroupType enum value
|
|
InstanceGroupTypeTask = "TASK"
|
|
)
|
|
|
|
const (
|
|
// InstanceRoleTypeMaster is a InstanceRoleType enum value
|
|
InstanceRoleTypeMaster = "MASTER"
|
|
|
|
// InstanceRoleTypeCore is a InstanceRoleType enum value
|
|
InstanceRoleTypeCore = "CORE"
|
|
|
|
// InstanceRoleTypeTask is a InstanceRoleType enum value
|
|
InstanceRoleTypeTask = "TASK"
|
|
)
|
|
|
|
const (
|
|
// InstanceStateAwaitingFulfillment is a InstanceState enum value
|
|
InstanceStateAwaitingFulfillment = "AWAITING_FULFILLMENT"
|
|
|
|
// InstanceStateProvisioning is a InstanceState enum value
|
|
InstanceStateProvisioning = "PROVISIONING"
|
|
|
|
// InstanceStateBootstrapping is a InstanceState enum value
|
|
InstanceStateBootstrapping = "BOOTSTRAPPING"
|
|
|
|
// InstanceStateRunning is a InstanceState enum value
|
|
InstanceStateRunning = "RUNNING"
|
|
|
|
// InstanceStateTerminated is a InstanceState enum value
|
|
InstanceStateTerminated = "TERMINATED"
|
|
)
|
|
|
|
const (
|
|
// InstanceStateChangeReasonCodeInternalError is a InstanceStateChangeReasonCode enum value
|
|
InstanceStateChangeReasonCodeInternalError = "INTERNAL_ERROR"
|
|
|
|
// InstanceStateChangeReasonCodeValidationError is a InstanceStateChangeReasonCode enum value
|
|
InstanceStateChangeReasonCodeValidationError = "VALIDATION_ERROR"
|
|
|
|
// InstanceStateChangeReasonCodeInstanceFailure is a InstanceStateChangeReasonCode enum value
|
|
InstanceStateChangeReasonCodeInstanceFailure = "INSTANCE_FAILURE"
|
|
|
|
// InstanceStateChangeReasonCodeBootstrapFailure is a InstanceStateChangeReasonCode enum value
|
|
InstanceStateChangeReasonCodeBootstrapFailure = "BOOTSTRAP_FAILURE"
|
|
|
|
// InstanceStateChangeReasonCodeClusterTerminated is a InstanceStateChangeReasonCode enum value
|
|
InstanceStateChangeReasonCodeClusterTerminated = "CLUSTER_TERMINATED"
|
|
)
|
|
|
|
// The type of instance.
|
|
const (
|
|
// JobFlowExecutionStateStarting is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateStarting = "STARTING"
|
|
|
|
// JobFlowExecutionStateBootstrapping is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateBootstrapping = "BOOTSTRAPPING"
|
|
|
|
// JobFlowExecutionStateRunning is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateRunning = "RUNNING"
|
|
|
|
// JobFlowExecutionStateWaiting is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateWaiting = "WAITING"
|
|
|
|
// JobFlowExecutionStateShuttingDown is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateShuttingDown = "SHUTTING_DOWN"
|
|
|
|
// JobFlowExecutionStateTerminated is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateTerminated = "TERMINATED"
|
|
|
|
// JobFlowExecutionStateCompleted is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateCompleted = "COMPLETED"
|
|
|
|
// JobFlowExecutionStateFailed is a JobFlowExecutionState enum value
|
|
JobFlowExecutionStateFailed = "FAILED"
|
|
)
|
|
|
|
const (
|
|
// MarketTypeOnDemand is a MarketType enum value
|
|
MarketTypeOnDemand = "ON_DEMAND"
|
|
|
|
// MarketTypeSpot is a MarketType enum value
|
|
MarketTypeSpot = "SPOT"
|
|
)
|
|
|
|
const (
|
|
// RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value
|
|
RepoUpgradeOnBootSecurity = "SECURITY"
|
|
|
|
// RepoUpgradeOnBootNone is a RepoUpgradeOnBoot enum value
|
|
RepoUpgradeOnBootNone = "NONE"
|
|
)
|
|
|
|
const (
|
|
// ScaleDownBehaviorTerminateAtInstanceHour is a ScaleDownBehavior enum value
|
|
ScaleDownBehaviorTerminateAtInstanceHour = "TERMINATE_AT_INSTANCE_HOUR"
|
|
|
|
// ScaleDownBehaviorTerminateAtTaskCompletion is a ScaleDownBehavior enum value
|
|
ScaleDownBehaviorTerminateAtTaskCompletion = "TERMINATE_AT_TASK_COMPLETION"
|
|
)
|
|
|
|
const (
|
|
// SpotProvisioningTimeoutActionSwitchToOnDemand is a SpotProvisioningTimeoutAction enum value
|
|
SpotProvisioningTimeoutActionSwitchToOnDemand = "SWITCH_TO_ON_DEMAND"
|
|
|
|
// SpotProvisioningTimeoutActionTerminateCluster is a SpotProvisioningTimeoutAction enum value
|
|
SpotProvisioningTimeoutActionTerminateCluster = "TERMINATE_CLUSTER"
|
|
)
|
|
|
|
const (
|
|
// StatisticSampleCount is a Statistic enum value
|
|
StatisticSampleCount = "SAMPLE_COUNT"
|
|
|
|
// StatisticAverage is a Statistic enum value
|
|
StatisticAverage = "AVERAGE"
|
|
|
|
// StatisticSum is a Statistic enum value
|
|
StatisticSum = "SUM"
|
|
|
|
// StatisticMinimum is a Statistic enum value
|
|
StatisticMinimum = "MINIMUM"
|
|
|
|
// StatisticMaximum is a Statistic enum value
|
|
StatisticMaximum = "MAXIMUM"
|
|
)
|
|
|
|
const (
|
|
// StepExecutionStatePending is a StepExecutionState enum value
|
|
StepExecutionStatePending = "PENDING"
|
|
|
|
// StepExecutionStateRunning is a StepExecutionState enum value
|
|
StepExecutionStateRunning = "RUNNING"
|
|
|
|
// StepExecutionStateContinue is a StepExecutionState enum value
|
|
StepExecutionStateContinue = "CONTINUE"
|
|
|
|
// StepExecutionStateCompleted is a StepExecutionState enum value
|
|
StepExecutionStateCompleted = "COMPLETED"
|
|
|
|
// StepExecutionStateCancelled is a StepExecutionState enum value
|
|
StepExecutionStateCancelled = "CANCELLED"
|
|
|
|
// StepExecutionStateFailed is a StepExecutionState enum value
|
|
StepExecutionStateFailed = "FAILED"
|
|
|
|
// StepExecutionStateInterrupted is a StepExecutionState enum value
|
|
StepExecutionStateInterrupted = "INTERRUPTED"
|
|
)
|
|
|
|
const (
|
|
// StepStatePending is a StepState enum value
|
|
StepStatePending = "PENDING"
|
|
|
|
// StepStateCancelPending is a StepState enum value
|
|
StepStateCancelPending = "CANCEL_PENDING"
|
|
|
|
// StepStateRunning is a StepState enum value
|
|
StepStateRunning = "RUNNING"
|
|
|
|
// StepStateCompleted is a StepState enum value
|
|
StepStateCompleted = "COMPLETED"
|
|
|
|
// StepStateCancelled is a StepState enum value
|
|
StepStateCancelled = "CANCELLED"
|
|
|
|
// StepStateFailed is a StepState enum value
|
|
StepStateFailed = "FAILED"
|
|
|
|
// StepStateInterrupted is a StepState enum value
|
|
StepStateInterrupted = "INTERRUPTED"
|
|
)
|
|
|
|
const (
|
|
// StepStateChangeReasonCodeNone is a StepStateChangeReasonCode enum value
|
|
StepStateChangeReasonCodeNone = "NONE"
|
|
)
|
|
|
|
const (
|
|
// UnitNone is a Unit enum value
|
|
UnitNone = "NONE"
|
|
|
|
// UnitSeconds is a Unit enum value
|
|
UnitSeconds = "SECONDS"
|
|
|
|
// UnitMicroSeconds is a Unit enum value
|
|
UnitMicroSeconds = "MICRO_SECONDS"
|
|
|
|
// UnitMilliSeconds is a Unit enum value
|
|
UnitMilliSeconds = "MILLI_SECONDS"
|
|
|
|
// UnitBytes is a Unit enum value
|
|
UnitBytes = "BYTES"
|
|
|
|
// UnitKiloBytes is a Unit enum value
|
|
UnitKiloBytes = "KILO_BYTES"
|
|
|
|
// UnitMegaBytes is a Unit enum value
|
|
UnitMegaBytes = "MEGA_BYTES"
|
|
|
|
// UnitGigaBytes is a Unit enum value
|
|
UnitGigaBytes = "GIGA_BYTES"
|
|
|
|
// UnitTeraBytes is a Unit enum value
|
|
UnitTeraBytes = "TERA_BYTES"
|
|
|
|
// UnitBits is a Unit enum value
|
|
UnitBits = "BITS"
|
|
|
|
// UnitKiloBits is a Unit enum value
|
|
UnitKiloBits = "KILO_BITS"
|
|
|
|
// UnitMegaBits is a Unit enum value
|
|
UnitMegaBits = "MEGA_BITS"
|
|
|
|
// UnitGigaBits is a Unit enum value
|
|
UnitGigaBits = "GIGA_BITS"
|
|
|
|
// UnitTeraBits is a Unit enum value
|
|
UnitTeraBits = "TERA_BITS"
|
|
|
|
// UnitPercent is a Unit enum value
|
|
UnitPercent = "PERCENT"
|
|
|
|
// UnitCount is a Unit enum value
|
|
UnitCount = "COUNT"
|
|
|
|
// UnitBytesPerSecond is a Unit enum value
|
|
UnitBytesPerSecond = "BYTES_PER_SECOND"
|
|
|
|
// UnitKiloBytesPerSecond is a Unit enum value
|
|
UnitKiloBytesPerSecond = "KILO_BYTES_PER_SECOND"
|
|
|
|
// UnitMegaBytesPerSecond is a Unit enum value
|
|
UnitMegaBytesPerSecond = "MEGA_BYTES_PER_SECOND"
|
|
|
|
// UnitGigaBytesPerSecond is a Unit enum value
|
|
UnitGigaBytesPerSecond = "GIGA_BYTES_PER_SECOND"
|
|
|
|
// UnitTeraBytesPerSecond is a Unit enum value
|
|
UnitTeraBytesPerSecond = "TERA_BYTES_PER_SECOND"
|
|
|
|
// UnitBitsPerSecond is a Unit enum value
|
|
UnitBitsPerSecond = "BITS_PER_SECOND"
|
|
|
|
// UnitKiloBitsPerSecond is a Unit enum value
|
|
UnitKiloBitsPerSecond = "KILO_BITS_PER_SECOND"
|
|
|
|
// UnitMegaBitsPerSecond is a Unit enum value
|
|
UnitMegaBitsPerSecond = "MEGA_BITS_PER_SECOND"
|
|
|
|
// UnitGigaBitsPerSecond is a Unit enum value
|
|
UnitGigaBitsPerSecond = "GIGA_BITS_PER_SECOND"
|
|
|
|
// UnitTeraBitsPerSecond is a Unit enum value
|
|
UnitTeraBitsPerSecond = "TERA_BITS_PER_SECOND"
|
|
|
|
// UnitCountPerSecond is a Unit enum value
|
|
UnitCountPerSecond = "COUNT_PER_SECOND"
|
|
)
|