func (c *OpsWorks) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
	w := request.Waiter{
		Name:        "WaitUntilInstanceTerminated",
		MaxAttempts: 40,
		Delay:       request.ConstantWaiterDelay(15 * time.Second),
		Acceptors: []request.WaiterAcceptor{
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
				Expected: "terminated",
			},
			{
				State:    request.SuccessWaiterState,
				Matcher:  request.ErrorWaiterMatch,
				Expected: "ResourceNotFoundException",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "booting",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "online",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "pending",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "rebooting",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "requested",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "running_setup",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "setup_failed",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "start_failed",
			},
		},
		Logger: c.Config.Logger,
		NewRequest: func(opts []request.Option) (*request.Request, error) {
			var inCpy *DescribeInstancesInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.DescribeInstancesRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}
	w.ApplyOptions(opts...)

	return w.WaitWithContext(ctx)
}
// WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
// 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.
WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
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.
// WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated . // 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 *OpsWorks) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
	w := request.Waiter{
		Name:        "WaitUntilInstanceTerminated",
		MaxAttempts: 40,
		Delay:       request.ConstantWaiterDelay(15 * time.Second),
		Acceptors: []request.WaiterAcceptor{
			{
				State:   request.SuccessWaiterState,
				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
				Expected: "terminated",
			},
			{
				State:    request.SuccessWaiterState,
				Matcher:  request.ErrorWaiterMatch,
				Expected: "ResourceNotFoundException",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "booting",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "online",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "pending",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "rebooting",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "requested",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "running_setup",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "setup_failed",
			},
			{
				State:   request.FailureWaiterState,
				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
				Expected: "start_failed",
			},
		},
		Logger: c.Config.Logger,
		NewRequest: func(opts []request.Option) (*request.Request, error) {
			var inCpy *DescribeInstancesInput
			if input != nil {
				tmp := *input
				inCpy = &tmp
			}
			req, _ := c.DescribeInstancesRequest(inCpy)
			req.SetContext(ctx)
			req.ApplyOptions(opts...)
			return req, nil
		},
	}
	w.ApplyOptions(opts...)
	return w.WaitWithContext(ctx)
}
func ( c * OpsWorks ) WaitUntilInstanceTerminatedWithContext ( ctx aws . Context , input * DescribeInstancesInput , opts ... request . WaiterOption ) error { w := request . Waiter { Name : " " , MaxAttempts : 40 , Delay : request . ConstantWaiterDelay ( 15 * time . Second ) , Acceptors : [ ] request . WaiterAcceptor { { State : request . SuccessWaiterState , Matcher : request . PathAllWaiterMatch , Argument : " " , Expected : " " , } , { State : request . SuccessWaiterState , Matcher : request . ErrorWaiterMatch , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , { State : request . FailureWaiterState , Matcher : request . PathAnyWaiterMatch , Argument : " " , Expected : " " , } , } , Logger : c . Config . Logger , NewRequest : func ( opts [ ] request . Option ) ( * request . Request , error ) { var inCpy * DescribeInstancesInput if input != nil { tmp := * input inCpy = & tmp } req , _ := c . DescribeInstancesRequest ( inCpy ) req . SetContext ( ctx ) req . ApplyOptions ( opts ... ) return req , nil } , } w . ApplyOptions ( opts ... ) return w . WaitWithContext ( ctx ) }
WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated .