func (c *EMR) WaitUntilClusterRunningWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.WaiterOption) error {
	w := request.Waiter{
		Name:        "WaitUntilClusterRunning",
		MaxAttempts: 60,
		Delay:       request.ConstantWaiterDelay(30 * time.Second),
		Acceptors: []request.WaiterAcceptor{
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "RUNNING",
			},
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "WAITING",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATING",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATED",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATED_WITH_ERRORS",
			},
		},
		Logger: c.Config.Logger,
		NewRequest: func(opts []request.Option) (*request.Request, error) {
			var inCpy *DescribeClusterInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.DescribeClusterRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}
	w.ApplyOptions(opts...)

	return w.WaitWithContext(ctx)
}
// WaitUntilClusterRunningWithContext is an extended version of WaitUntilClusterRunning.
// With the support for passing in a context and options to configure the
// Waiter and the underlying request options.
//
// 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.
WaitUntilClusterRunningWithContext is an extended version of WaitUntilClusterRunning.
With the support for passing in a context and options to configure the
Waiter and the underlying request options.

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.
// WaitUntilClusterRunningWithContext is an extended version of WaitUntilClusterRunning . // With the support for passing in a context and options to configure the // Waiter and the underlying request options . // // 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) WaitUntilClusterRunningWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.WaiterOption) error {
	w := request.Waiter{
		Name:        "WaitUntilClusterRunning",
		MaxAttempts: 60,
		Delay:       request.ConstantWaiterDelay(30 * time.Second),
		Acceptors: []request.WaiterAcceptor{
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "RUNNING",
			},
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "WAITING",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATING",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATED",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status.State",
				Expected: "TERMINATED_WITH_ERRORS",
			},
		},
		Logger: c.Config.Logger,
		NewRequest: func(opts []request.Option) (*request.Request, error) {
			var inCpy *DescribeClusterInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.DescribeClusterRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}
	w.ApplyOptions(opts...)
	return w.WaitWithContext(ctx)
}
func ( c * EMR ) WaitUntilClusterRunningWithContext ( ctx aws . Context , input * DescribeClusterInput , opts ... request . WaiterOption ) error { w := request . Waiter { Name : " " , MaxAttempts : 60 , Delay : request . ConstantWaiterDelay ( 30 * time . Second ) , Acceptors : [ ] request . WaiterAcceptor { { State : request . SuccessWaiterState , Matcher : request . PathWaiterMatch , Argument : " " , Expected : " " , } , { State : request . SuccessWaiterState , Matcher : request . PathWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathWaiterMatch , Argument : " " , Expected : " " , } , } , Logger : c . Config . Logger , NewRequest : func ( opts [ ] request . Option ) ( * request . Request , error ) { var inCpy * DescribeClusterInput if input != nil { tmp := * input inCpy = & tmp } req , _ := c . DescribeClusterRequest ( inCpy ) req . SetContext ( ctx ) req . ApplyOptions ( opts ... ) return req , nil } , } w . ApplyOptions ( opts ... ) return w . WaitWithContext ( ctx ) }
WaitUntilClusterRunningWithContext is an extended version of WaitUntilClusterRunning.
WaitUntilClusterRunningWithContext is an extended version of WaitUntilClusterRunning .