2017-05-11 16:39:54 +02:00
// 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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceFleet
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddInstanceGroups
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps
2017-05-11 16:39:54 +02:00
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
2018-01-16 14:20:59 +01:00
// do this, see Add More than 256 Steps to a Cluster (http://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html)
2017-05-11 16:39:54 +02:00
// 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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddJobFlowSteps
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags
2017-05-11 16:39:54 +02:00
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
2018-01-16 14:20:59 +01:00
// allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
2017-05-11 16:39:54 +02:00
//
// 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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/AddTags
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CancelSteps
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/CreateSecurityConfiguration
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DeleteSecurityConfiguration
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeCluster
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeJobFlows
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeSecurityConfiguration
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/DescribeStep
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListBootstrapActions
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListClusters
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceFleets
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstanceGroups
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances
2017-05-11 16:39:54 +02:00
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.
//
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
// 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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListInstances
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSecurityConfigurations
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ListSteps
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceFleet
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/ModifyInstanceGroups
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy
2017-05-11 16:39:54 +02:00
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.
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/PutAutoScalingPolicy
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy
2017-05-11 16:39:54 +02:00
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.
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveAutoScalingPolicy
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags
2017-05-11 16:39:54 +02:00
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
2018-01-16 14:20:59 +01:00
// EMR resource allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
2017-05-11 16:39:54 +02:00
//
// 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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RemoveTags
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow
2017-05-11 16:39:54 +02:00
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
2018-01-16 14:20:59 +01:00
// on how to do this, see Add More than 256 Steps to a Cluster (http://docs.aws.amazon.com/emr/latest/ManagementGuide/AddMoreThan256Steps.html)
2017-05-11 16:39:54 +02:00
// 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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/RunJobFlow
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetTerminationProtection
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/SetVisibleToAllUsers
2017-05-11 16:39:54 +02:00
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
2018-05-02 18:09:45 +02:00
// value will be populated with the request's response once the request completes
2017-09-30 16:27:27 +02:00
// successfuly.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
2017-09-30 16:27:27 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
//
// // 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)
// }
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows
2017-05-11 16:39:54 +02:00
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.
//
2018-01-16 14:20:59 +01:00
// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticmapreduce-2009-03-31/TerminateJobFlows
2017-05-11 16:39:54 +02:00
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
2018-01-16 14:20:59 +01:00
// MapR Distribution for Hadoop (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-mapr.html).
2017-05-11 16:39:54 +02:00
// 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.
//
2017-07-23 09:51:42 +02:00
// In Amazon EMR releases 4.x and later, the only accepted parameter is the
2017-05-11 16:39:54 +02:00
// 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" `
2017-07-23 09:51:42 +02:00
// Applies only to Amazon EMR releases 4.x and later. The list of Configurations
// supplied to the EMR cluster.
2017-05-11 16:39:54 +02:00
Configurations [ ] * Configuration ` type:"list" `
2017-07-23 09:51:42 +02:00
// 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" `
2017-05-11 16:39:54 +02:00
// 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" `
2018-01-16 14:20:59 +01:00
// 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" `
2017-05-11 16:39:54 +02:00
// The path to the Amazon S3 location where logs for this cluster are stored.
LogUri * string ` type:"string" `
2018-01-16 14:20:59 +01:00
// 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.
2017-05-11 16:39:54 +02:00
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" `
2017-07-23 09:51:42 +02:00
// The release label for the Amazon EMR release.
2017-05-11 16:39:54 +02:00
ReleaseLabel * string ` type:"string" `
2017-07-23 09:51:42 +02:00
// 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" `
2017-05-11 16:39:54 +02:00
// 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
}
2017-07-23 09:51:42 +02:00
// 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
}
2017-05-11 16:39:54 +02:00
// 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
}
2018-01-16 14:20:59 +01:00
// SetKerberosAttributes sets the KerberosAttributes field's value.
func ( s * Cluster ) SetKerberosAttributes ( v * KerberosAttributes ) * Cluster {
s . KerberosAttributes = v
return s
}
2017-05-11 16:39:54 +02:00
// 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
}
2017-07-23 09:51:42 +02:00
// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value.
func ( s * Cluster ) SetRepoUpgradeOnBoot ( v string ) * Cluster {
s . RepoUpgradeOnBoot = & v
return s
}
2017-05-11 16:39:54 +02:00
// 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" `
2018-01-16 14:20:59 +01:00
// 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.
2017-05-11 16:39:54 +02:00
//
// 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" `
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
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
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
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.
2018-01-16 14:20:59 +01:00
//
// * 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.
2017-05-11 16:39:54 +02:00
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
2017-07-23 09:51:42 +02:00
// as defined by InstanceType. Expressed as a number (for example, 20 specifies
// 20%). If neither BidPrice nor BidPriceAsPercentageOfOnDemandPrice is provided,
// BidPriceAsPercentageOfOnDemandPrice defaults to 100%.
2017-05-11 16:39:54 +02:00
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
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
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" `
2017-07-23 09:51:42 +02:00
// 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
2018-01-16 14:20:59 +01:00
// 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)
2017-05-11 16:39:54 +02:00
// 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" `
2018-01-16 14:20:59 +01:00
// 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.
2017-05-11 16:39:54 +02:00
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
}
2018-01-16 14:20:59 +01:00
// 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
}
2017-05-11 16:39:54 +02:00
// 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" `
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
// The version of the Amazon Machine Image (AMI) to use when launching Amazon
2017-07-23 09:51:42 +02:00
// EC2 instances in the job flow. For details about the AMI versions currently
2018-01-16 14:20:59 +01:00
// 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)
2017-07-23 09:51:42 +02:00
// in the Amazon EMR Developer Guide.
2017-05-11 16:39:54 +02:00
//
// If the AMI supports multiple versions of Hadoop (for example, AMI 1.0 supports
2017-07-23 09:51:42 +02:00
// both Hadoop 0.18 and 0.20), you can use the JobFlowInstancesConfigHadoopVersion
2017-05-11 16:39:54 +02:00
// 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" `
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
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" `
2017-07-23 09:51:42 +02:00
// For Amazon EMR releases 4.0 and later. The list of configurations supplied
// for the EMR cluster you are creating.
2017-05-11 16:39:54 +02:00
Configurations [ ] * Configuration ` type:"list" `
2017-07-23 09:51:42 +02:00
// 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" `
2017-05-11 16:39:54 +02:00
// 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" `
2018-01-16 14:20:59 +01:00
// 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" `
2017-05-11 16:39:54 +02:00
// 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" `
2017-07-23 09:51:42 +02:00
// For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later,
2017-05-11 16:39:54 +02:00
// 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
2018-01-16 14:20:59 +01:00
// Hadoop" in the Amazon EMR Developer Guide (http://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf).
2017-05-11 16:39:54 +02:00
// 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
2017-07-23 09:51:42 +02:00
// AMIs, use AmiVersion instead.
2017-05-11 16:39:54 +02:00
ReleaseLabel * string ` type:"string" `
2017-07-23 09:51:42 +02:00
// 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" `
2017-05-11 16:39:54 +02:00
// 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" `
2017-07-23 09:51:42 +02:00
// For Amazon EMR releases 3.x and 2.x. For Amazon EMR releases 4.x and later,
2017-05-11 16:39:54 +02:00
// use Applications.
//
// A list of strings that indicates third-party software to use. For more information,
2018-01-16 14:20:59 +01:00
// see the Amazon EMR Developer Guide (http://docs.aws.amazon.com/emr/latest/DeveloperGuide/emr-dg.pdf).
2017-05-11 16:39:54 +02:00
// 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 ) )
}
}
2018-01-16 14:20:59 +01:00
if s . KerberosAttributes != nil {
if err := s . KerberosAttributes . Validate ( ) ; err != nil {
invalidParams . AddNested ( "KerberosAttributes" , err . ( request . ErrInvalidParams ) )
}
}
2017-05-11 16:39:54 +02:00
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
}
2017-07-23 09:51:42 +02:00
// 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
}
2017-05-11 16:39:54 +02:00
// 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
}
2018-01-16 14:20:59 +01:00
// SetKerberosAttributes sets the KerberosAttributes field's value.
func ( s * RunJobFlowInput ) SetKerberosAttributes ( v * KerberosAttributes ) * RunJobFlowInput {
s . KerberosAttributes = v
return s
}
2017-05-11 16:39:54 +02:00
// 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
}
2017-07-23 09:51:42 +02:00
// SetRepoUpgradeOnBoot sets the RepoUpgradeOnBoot field's value.
func ( s * RunJobFlowInput ) SetRepoUpgradeOnBoot ( v string ) * RunJobFlowInput {
s . RepoUpgradeOnBoot = & v
return s
}
2017-05-11 16:39:54 +02:00
// 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
2018-01-16 14:20:59 +01:00
// ScalingAdjustment, which should be expressed as an integer. For example,
// 20 indicates an increase in 20% increments of cluster capacity. EXACT_CAPACITY
2017-05-11 16:39:54 +02:00
// 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
2018-01-16 14:20:59 +01:00
// PERCENT_CHANGE_IN_CAPACITY, the value should express the percentage as an
// integer. For example, -20 indicates a decrease in 20% increments of cluster
2017-05-11 16:39:54 +02:00
// 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
2017-07-23 09:51:42 +02:00
// 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.
2017-05-11 16:39:54 +02:00
//
// 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
2018-01-16 14:20:59 +01:00
// allocation costs. For more information, see Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
2017-05-11 16:39:54 +02:00
type Tag struct {
_ struct { } ` type:"structure" `
// A user-defined key, which is the minimum required information for a valid
2018-01-16 14:20:59 +01:00
// tag. For more information, see Tag (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
2017-05-11 16:39:54 +02:00
Key * string ` type:"string" `
// A user-defined value, which is optional in a tag. For more information, see
2018-01-16 14:20:59 +01:00
// Tag Clusters (http://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags.html).
2017-05-11 16:39:54 +02:00
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"
2017-07-23 09:51:42 +02:00
// ClusterStateChangeReasonCodeInstanceFleetTimeout is a ClusterStateChangeReasonCode enum value
ClusterStateChangeReasonCodeInstanceFleetTimeout = "INSTANCE_FLEET_TIMEOUT"
2017-05-11 16:39:54 +02:00
// 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"
)
2017-07-23 09:51:42 +02:00
const (
// RepoUpgradeOnBootSecurity is a RepoUpgradeOnBoot enum value
RepoUpgradeOnBootSecurity = "SECURITY"
// RepoUpgradeOnBootNone is a RepoUpgradeOnBoot enum value
RepoUpgradeOnBootNone = "NONE"
)
2017-05-11 16:39:54 +02:00
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"
)