github.com/aavshr/aws-sdk-go@v1.41.3/service/sagemaker/waiters.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package sagemaker
     4  
     5  import (
     6  	"time"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/request"
    10  )
    11  
    12  // WaitUntilEndpointDeleted uses the SageMaker API operation
    13  // DescribeEndpoint to wait for a condition to be met before returning.
    14  // If the condition is not met within the max attempt window, an error will
    15  // be returned.
    16  func (c *SageMaker) WaitUntilEndpointDeleted(input *DescribeEndpointInput) error {
    17  	return c.WaitUntilEndpointDeletedWithContext(aws.BackgroundContext(), input)
    18  }
    19  
    20  // WaitUntilEndpointDeletedWithContext is an extended version of WaitUntilEndpointDeleted.
    21  // With the support for passing in a context and options to configure the
    22  // Waiter and the underlying request options.
    23  //
    24  // The context must be non-nil and will be used for request cancellation. If
    25  // the context is nil a panic will occur. In the future the SDK may create
    26  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    27  // for more information on using Contexts.
    28  func (c *SageMaker) WaitUntilEndpointDeletedWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.WaiterOption) error {
    29  	w := request.Waiter{
    30  		Name:        "WaitUntilEndpointDeleted",
    31  		MaxAttempts: 60,
    32  		Delay:       request.ConstantWaiterDelay(30 * time.Second),
    33  		Acceptors: []request.WaiterAcceptor{
    34  			{
    35  				State:    request.SuccessWaiterState,
    36  				Matcher:  request.ErrorWaiterMatch,
    37  				Expected: "ValidationException",
    38  			},
    39  			{
    40  				State:   request.FailureWaiterState,
    41  				Matcher: request.PathWaiterMatch, Argument: "EndpointStatus",
    42  				Expected: "Failed",
    43  			},
    44  		},
    45  		Logger: c.Config.Logger,
    46  		NewRequest: func(opts []request.Option) (*request.Request, error) {
    47  			var inCpy *DescribeEndpointInput
    48  			if input != nil {
    49  				tmp := *input
    50  				inCpy = &tmp
    51  			}
    52  			req, _ := c.DescribeEndpointRequest(inCpy)
    53  			req.SetContext(ctx)
    54  			req.ApplyOptions(opts...)
    55  			return req, nil
    56  		},
    57  	}
    58  	w.ApplyOptions(opts...)
    59  
    60  	return w.WaitWithContext(ctx)
    61  }
    62  
    63  // WaitUntilEndpointInService uses the SageMaker API operation
    64  // DescribeEndpoint to wait for a condition to be met before returning.
    65  // If the condition is not met within the max attempt window, an error will
    66  // be returned.
    67  func (c *SageMaker) WaitUntilEndpointInService(input *DescribeEndpointInput) error {
    68  	return c.WaitUntilEndpointInServiceWithContext(aws.BackgroundContext(), input)
    69  }
    70  
    71  // WaitUntilEndpointInServiceWithContext is an extended version of WaitUntilEndpointInService.
    72  // With the support for passing in a context and options to configure the
    73  // Waiter and the underlying request options.
    74  //
    75  // The context must be non-nil and will be used for request cancellation. If
    76  // the context is nil a panic will occur. In the future the SDK may create
    77  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    78  // for more information on using Contexts.
    79  func (c *SageMaker) WaitUntilEndpointInServiceWithContext(ctx aws.Context, input *DescribeEndpointInput, opts ...request.WaiterOption) error {
    80  	w := request.Waiter{
    81  		Name:        "WaitUntilEndpointInService",
    82  		MaxAttempts: 120,
    83  		Delay:       request.ConstantWaiterDelay(30 * time.Second),
    84  		Acceptors: []request.WaiterAcceptor{
    85  			{
    86  				State:   request.SuccessWaiterState,
    87  				Matcher: request.PathWaiterMatch, Argument: "EndpointStatus",
    88  				Expected: "InService",
    89  			},
    90  			{
    91  				State:   request.FailureWaiterState,
    92  				Matcher: request.PathWaiterMatch, Argument: "EndpointStatus",
    93  				Expected: "Failed",
    94  			},
    95  			{
    96  				State:    request.FailureWaiterState,
    97  				Matcher:  request.ErrorWaiterMatch,
    98  				Expected: "ValidationException",
    99  			},
   100  		},
   101  		Logger: c.Config.Logger,
   102  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   103  			var inCpy *DescribeEndpointInput
   104  			if input != nil {
   105  				tmp := *input
   106  				inCpy = &tmp
   107  			}
   108  			req, _ := c.DescribeEndpointRequest(inCpy)
   109  			req.SetContext(ctx)
   110  			req.ApplyOptions(opts...)
   111  			return req, nil
   112  		},
   113  	}
   114  	w.ApplyOptions(opts...)
   115  
   116  	return w.WaitWithContext(ctx)
   117  }
   118  
   119  // WaitUntilImageCreated uses the SageMaker API operation
   120  // DescribeImage to wait for a condition to be met before returning.
   121  // If the condition is not met within the max attempt window, an error will
   122  // be returned.
   123  func (c *SageMaker) WaitUntilImageCreated(input *DescribeImageInput) error {
   124  	return c.WaitUntilImageCreatedWithContext(aws.BackgroundContext(), input)
   125  }
   126  
   127  // WaitUntilImageCreatedWithContext is an extended version of WaitUntilImageCreated.
   128  // With the support for passing in a context and options to configure the
   129  // Waiter and the underlying request options.
   130  //
   131  // The context must be non-nil and will be used for request cancellation. If
   132  // the context is nil a panic will occur. In the future the SDK may create
   133  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   134  // for more information on using Contexts.
   135  func (c *SageMaker) WaitUntilImageCreatedWithContext(ctx aws.Context, input *DescribeImageInput, opts ...request.WaiterOption) error {
   136  	w := request.Waiter{
   137  		Name:        "WaitUntilImageCreated",
   138  		MaxAttempts: 60,
   139  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   140  		Acceptors: []request.WaiterAcceptor{
   141  			{
   142  				State:   request.SuccessWaiterState,
   143  				Matcher: request.PathWaiterMatch, Argument: "ImageStatus",
   144  				Expected: "CREATED",
   145  			},
   146  			{
   147  				State:   request.FailureWaiterState,
   148  				Matcher: request.PathWaiterMatch, Argument: "ImageStatus",
   149  				Expected: "CREATE_FAILED",
   150  			},
   151  			{
   152  				State:    request.FailureWaiterState,
   153  				Matcher:  request.ErrorWaiterMatch,
   154  				Expected: "ValidationException",
   155  			},
   156  		},
   157  		Logger: c.Config.Logger,
   158  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   159  			var inCpy *DescribeImageInput
   160  			if input != nil {
   161  				tmp := *input
   162  				inCpy = &tmp
   163  			}
   164  			req, _ := c.DescribeImageRequest(inCpy)
   165  			req.SetContext(ctx)
   166  			req.ApplyOptions(opts...)
   167  			return req, nil
   168  		},
   169  	}
   170  	w.ApplyOptions(opts...)
   171  
   172  	return w.WaitWithContext(ctx)
   173  }
   174  
   175  // WaitUntilImageDeleted uses the SageMaker API operation
   176  // DescribeImage to wait for a condition to be met before returning.
   177  // If the condition is not met within the max attempt window, an error will
   178  // be returned.
   179  func (c *SageMaker) WaitUntilImageDeleted(input *DescribeImageInput) error {
   180  	return c.WaitUntilImageDeletedWithContext(aws.BackgroundContext(), input)
   181  }
   182  
   183  // WaitUntilImageDeletedWithContext is an extended version of WaitUntilImageDeleted.
   184  // With the support for passing in a context and options to configure the
   185  // Waiter and the underlying request options.
   186  //
   187  // The context must be non-nil and will be used for request cancellation. If
   188  // the context is nil a panic will occur. In the future the SDK may create
   189  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   190  // for more information on using Contexts.
   191  func (c *SageMaker) WaitUntilImageDeletedWithContext(ctx aws.Context, input *DescribeImageInput, opts ...request.WaiterOption) error {
   192  	w := request.Waiter{
   193  		Name:        "WaitUntilImageDeleted",
   194  		MaxAttempts: 60,
   195  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   196  		Acceptors: []request.WaiterAcceptor{
   197  			{
   198  				State:    request.SuccessWaiterState,
   199  				Matcher:  request.ErrorWaiterMatch,
   200  				Expected: "ResourceNotFoundException",
   201  			},
   202  			{
   203  				State:   request.FailureWaiterState,
   204  				Matcher: request.PathWaiterMatch, Argument: "ImageStatus",
   205  				Expected: "DELETE_FAILED",
   206  			},
   207  			{
   208  				State:    request.FailureWaiterState,
   209  				Matcher:  request.ErrorWaiterMatch,
   210  				Expected: "ValidationException",
   211  			},
   212  		},
   213  		Logger: c.Config.Logger,
   214  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   215  			var inCpy *DescribeImageInput
   216  			if input != nil {
   217  				tmp := *input
   218  				inCpy = &tmp
   219  			}
   220  			req, _ := c.DescribeImageRequest(inCpy)
   221  			req.SetContext(ctx)
   222  			req.ApplyOptions(opts...)
   223  			return req, nil
   224  		},
   225  	}
   226  	w.ApplyOptions(opts...)
   227  
   228  	return w.WaitWithContext(ctx)
   229  }
   230  
   231  // WaitUntilImageUpdated uses the SageMaker API operation
   232  // DescribeImage to wait for a condition to be met before returning.
   233  // If the condition is not met within the max attempt window, an error will
   234  // be returned.
   235  func (c *SageMaker) WaitUntilImageUpdated(input *DescribeImageInput) error {
   236  	return c.WaitUntilImageUpdatedWithContext(aws.BackgroundContext(), input)
   237  }
   238  
   239  // WaitUntilImageUpdatedWithContext is an extended version of WaitUntilImageUpdated.
   240  // With the support for passing in a context and options to configure the
   241  // Waiter and the underlying request options.
   242  //
   243  // The context must be non-nil and will be used for request cancellation. If
   244  // the context is nil a panic will occur. In the future the SDK may create
   245  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   246  // for more information on using Contexts.
   247  func (c *SageMaker) WaitUntilImageUpdatedWithContext(ctx aws.Context, input *DescribeImageInput, opts ...request.WaiterOption) error {
   248  	w := request.Waiter{
   249  		Name:        "WaitUntilImageUpdated",
   250  		MaxAttempts: 60,
   251  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   252  		Acceptors: []request.WaiterAcceptor{
   253  			{
   254  				State:   request.SuccessWaiterState,
   255  				Matcher: request.PathWaiterMatch, Argument: "ImageStatus",
   256  				Expected: "CREATED",
   257  			},
   258  			{
   259  				State:   request.FailureWaiterState,
   260  				Matcher: request.PathWaiterMatch, Argument: "ImageStatus",
   261  				Expected: "UPDATE_FAILED",
   262  			},
   263  			{
   264  				State:    request.FailureWaiterState,
   265  				Matcher:  request.ErrorWaiterMatch,
   266  				Expected: "ValidationException",
   267  			},
   268  		},
   269  		Logger: c.Config.Logger,
   270  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   271  			var inCpy *DescribeImageInput
   272  			if input != nil {
   273  				tmp := *input
   274  				inCpy = &tmp
   275  			}
   276  			req, _ := c.DescribeImageRequest(inCpy)
   277  			req.SetContext(ctx)
   278  			req.ApplyOptions(opts...)
   279  			return req, nil
   280  		},
   281  	}
   282  	w.ApplyOptions(opts...)
   283  
   284  	return w.WaitWithContext(ctx)
   285  }
   286  
   287  // WaitUntilImageVersionCreated uses the SageMaker API operation
   288  // DescribeImageVersion to wait for a condition to be met before returning.
   289  // If the condition is not met within the max attempt window, an error will
   290  // be returned.
   291  func (c *SageMaker) WaitUntilImageVersionCreated(input *DescribeImageVersionInput) error {
   292  	return c.WaitUntilImageVersionCreatedWithContext(aws.BackgroundContext(), input)
   293  }
   294  
   295  // WaitUntilImageVersionCreatedWithContext is an extended version of WaitUntilImageVersionCreated.
   296  // With the support for passing in a context and options to configure the
   297  // Waiter and the underlying request options.
   298  //
   299  // The context must be non-nil and will be used for request cancellation. If
   300  // the context is nil a panic will occur. In the future the SDK may create
   301  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   302  // for more information on using Contexts.
   303  func (c *SageMaker) WaitUntilImageVersionCreatedWithContext(ctx aws.Context, input *DescribeImageVersionInput, opts ...request.WaiterOption) error {
   304  	w := request.Waiter{
   305  		Name:        "WaitUntilImageVersionCreated",
   306  		MaxAttempts: 60,
   307  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   308  		Acceptors: []request.WaiterAcceptor{
   309  			{
   310  				State:   request.SuccessWaiterState,
   311  				Matcher: request.PathWaiterMatch, Argument: "ImageVersionStatus",
   312  				Expected: "CREATED",
   313  			},
   314  			{
   315  				State:   request.FailureWaiterState,
   316  				Matcher: request.PathWaiterMatch, Argument: "ImageVersionStatus",
   317  				Expected: "CREATE_FAILED",
   318  			},
   319  			{
   320  				State:    request.FailureWaiterState,
   321  				Matcher:  request.ErrorWaiterMatch,
   322  				Expected: "ValidationException",
   323  			},
   324  		},
   325  		Logger: c.Config.Logger,
   326  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   327  			var inCpy *DescribeImageVersionInput
   328  			if input != nil {
   329  				tmp := *input
   330  				inCpy = &tmp
   331  			}
   332  			req, _ := c.DescribeImageVersionRequest(inCpy)
   333  			req.SetContext(ctx)
   334  			req.ApplyOptions(opts...)
   335  			return req, nil
   336  		},
   337  	}
   338  	w.ApplyOptions(opts...)
   339  
   340  	return w.WaitWithContext(ctx)
   341  }
   342  
   343  // WaitUntilImageVersionDeleted uses the SageMaker API operation
   344  // DescribeImageVersion to wait for a condition to be met before returning.
   345  // If the condition is not met within the max attempt window, an error will
   346  // be returned.
   347  func (c *SageMaker) WaitUntilImageVersionDeleted(input *DescribeImageVersionInput) error {
   348  	return c.WaitUntilImageVersionDeletedWithContext(aws.BackgroundContext(), input)
   349  }
   350  
   351  // WaitUntilImageVersionDeletedWithContext is an extended version of WaitUntilImageVersionDeleted.
   352  // With the support for passing in a context and options to configure the
   353  // Waiter and the underlying request options.
   354  //
   355  // The context must be non-nil and will be used for request cancellation. If
   356  // the context is nil a panic will occur. In the future the SDK may create
   357  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   358  // for more information on using Contexts.
   359  func (c *SageMaker) WaitUntilImageVersionDeletedWithContext(ctx aws.Context, input *DescribeImageVersionInput, opts ...request.WaiterOption) error {
   360  	w := request.Waiter{
   361  		Name:        "WaitUntilImageVersionDeleted",
   362  		MaxAttempts: 60,
   363  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   364  		Acceptors: []request.WaiterAcceptor{
   365  			{
   366  				State:    request.SuccessWaiterState,
   367  				Matcher:  request.ErrorWaiterMatch,
   368  				Expected: "ResourceNotFoundException",
   369  			},
   370  			{
   371  				State:   request.FailureWaiterState,
   372  				Matcher: request.PathWaiterMatch, Argument: "ImageVersionStatus",
   373  				Expected: "DELETE_FAILED",
   374  			},
   375  			{
   376  				State:    request.FailureWaiterState,
   377  				Matcher:  request.ErrorWaiterMatch,
   378  				Expected: "ValidationException",
   379  			},
   380  		},
   381  		Logger: c.Config.Logger,
   382  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   383  			var inCpy *DescribeImageVersionInput
   384  			if input != nil {
   385  				tmp := *input
   386  				inCpy = &tmp
   387  			}
   388  			req, _ := c.DescribeImageVersionRequest(inCpy)
   389  			req.SetContext(ctx)
   390  			req.ApplyOptions(opts...)
   391  			return req, nil
   392  		},
   393  	}
   394  	w.ApplyOptions(opts...)
   395  
   396  	return w.WaitWithContext(ctx)
   397  }
   398  
   399  // WaitUntilNotebookInstanceDeleted uses the SageMaker API operation
   400  // DescribeNotebookInstance to wait for a condition to be met before returning.
   401  // If the condition is not met within the max attempt window, an error will
   402  // be returned.
   403  func (c *SageMaker) WaitUntilNotebookInstanceDeleted(input *DescribeNotebookInstanceInput) error {
   404  	return c.WaitUntilNotebookInstanceDeletedWithContext(aws.BackgroundContext(), input)
   405  }
   406  
   407  // WaitUntilNotebookInstanceDeletedWithContext is an extended version of WaitUntilNotebookInstanceDeleted.
   408  // With the support for passing in a context and options to configure the
   409  // Waiter and the underlying request options.
   410  //
   411  // The context must be non-nil and will be used for request cancellation. If
   412  // the context is nil a panic will occur. In the future the SDK may create
   413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   414  // for more information on using Contexts.
   415  func (c *SageMaker) WaitUntilNotebookInstanceDeletedWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error {
   416  	w := request.Waiter{
   417  		Name:        "WaitUntilNotebookInstanceDeleted",
   418  		MaxAttempts: 60,
   419  		Delay:       request.ConstantWaiterDelay(30 * time.Second),
   420  		Acceptors: []request.WaiterAcceptor{
   421  			{
   422  				State:    request.SuccessWaiterState,
   423  				Matcher:  request.ErrorWaiterMatch,
   424  				Expected: "ValidationException",
   425  			},
   426  			{
   427  				State:   request.FailureWaiterState,
   428  				Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus",
   429  				Expected: "Failed",
   430  			},
   431  		},
   432  		Logger: c.Config.Logger,
   433  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   434  			var inCpy *DescribeNotebookInstanceInput
   435  			if input != nil {
   436  				tmp := *input
   437  				inCpy = &tmp
   438  			}
   439  			req, _ := c.DescribeNotebookInstanceRequest(inCpy)
   440  			req.SetContext(ctx)
   441  			req.ApplyOptions(opts...)
   442  			return req, nil
   443  		},
   444  	}
   445  	w.ApplyOptions(opts...)
   446  
   447  	return w.WaitWithContext(ctx)
   448  }
   449  
   450  // WaitUntilNotebookInstanceInService uses the SageMaker API operation
   451  // DescribeNotebookInstance to wait for a condition to be met before returning.
   452  // If the condition is not met within the max attempt window, an error will
   453  // be returned.
   454  func (c *SageMaker) WaitUntilNotebookInstanceInService(input *DescribeNotebookInstanceInput) error {
   455  	return c.WaitUntilNotebookInstanceInServiceWithContext(aws.BackgroundContext(), input)
   456  }
   457  
   458  // WaitUntilNotebookInstanceInServiceWithContext is an extended version of WaitUntilNotebookInstanceInService.
   459  // With the support for passing in a context and options to configure the
   460  // Waiter and the underlying request options.
   461  //
   462  // The context must be non-nil and will be used for request cancellation. If
   463  // the context is nil a panic will occur. In the future the SDK may create
   464  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   465  // for more information on using Contexts.
   466  func (c *SageMaker) WaitUntilNotebookInstanceInServiceWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error {
   467  	w := request.Waiter{
   468  		Name:        "WaitUntilNotebookInstanceInService",
   469  		MaxAttempts: 60,
   470  		Delay:       request.ConstantWaiterDelay(30 * time.Second),
   471  		Acceptors: []request.WaiterAcceptor{
   472  			{
   473  				State:   request.SuccessWaiterState,
   474  				Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus",
   475  				Expected: "InService",
   476  			},
   477  			{
   478  				State:   request.FailureWaiterState,
   479  				Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus",
   480  				Expected: "Failed",
   481  			},
   482  		},
   483  		Logger: c.Config.Logger,
   484  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   485  			var inCpy *DescribeNotebookInstanceInput
   486  			if input != nil {
   487  				tmp := *input
   488  				inCpy = &tmp
   489  			}
   490  			req, _ := c.DescribeNotebookInstanceRequest(inCpy)
   491  			req.SetContext(ctx)
   492  			req.ApplyOptions(opts...)
   493  			return req, nil
   494  		},
   495  	}
   496  	w.ApplyOptions(opts...)
   497  
   498  	return w.WaitWithContext(ctx)
   499  }
   500  
   501  // WaitUntilNotebookInstanceStopped uses the SageMaker API operation
   502  // DescribeNotebookInstance to wait for a condition to be met before returning.
   503  // If the condition is not met within the max attempt window, an error will
   504  // be returned.
   505  func (c *SageMaker) WaitUntilNotebookInstanceStopped(input *DescribeNotebookInstanceInput) error {
   506  	return c.WaitUntilNotebookInstanceStoppedWithContext(aws.BackgroundContext(), input)
   507  }
   508  
   509  // WaitUntilNotebookInstanceStoppedWithContext is an extended version of WaitUntilNotebookInstanceStopped.
   510  // With the support for passing in a context and options to configure the
   511  // Waiter and the underlying request options.
   512  //
   513  // The context must be non-nil and will be used for request cancellation. If
   514  // the context is nil a panic will occur. In the future the SDK may create
   515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   516  // for more information on using Contexts.
   517  func (c *SageMaker) WaitUntilNotebookInstanceStoppedWithContext(ctx aws.Context, input *DescribeNotebookInstanceInput, opts ...request.WaiterOption) error {
   518  	w := request.Waiter{
   519  		Name:        "WaitUntilNotebookInstanceStopped",
   520  		MaxAttempts: 60,
   521  		Delay:       request.ConstantWaiterDelay(30 * time.Second),
   522  		Acceptors: []request.WaiterAcceptor{
   523  			{
   524  				State:   request.SuccessWaiterState,
   525  				Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus",
   526  				Expected: "Stopped",
   527  			},
   528  			{
   529  				State:   request.FailureWaiterState,
   530  				Matcher: request.PathWaiterMatch, Argument: "NotebookInstanceStatus",
   531  				Expected: "Failed",
   532  			},
   533  		},
   534  		Logger: c.Config.Logger,
   535  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   536  			var inCpy *DescribeNotebookInstanceInput
   537  			if input != nil {
   538  				tmp := *input
   539  				inCpy = &tmp
   540  			}
   541  			req, _ := c.DescribeNotebookInstanceRequest(inCpy)
   542  			req.SetContext(ctx)
   543  			req.ApplyOptions(opts...)
   544  			return req, nil
   545  		},
   546  	}
   547  	w.ApplyOptions(opts...)
   548  
   549  	return w.WaitWithContext(ctx)
   550  }
   551  
   552  // WaitUntilProcessingJobCompletedOrStopped uses the SageMaker API operation
   553  // DescribeProcessingJob to wait for a condition to be met before returning.
   554  // If the condition is not met within the max attempt window, an error will
   555  // be returned.
   556  func (c *SageMaker) WaitUntilProcessingJobCompletedOrStopped(input *DescribeProcessingJobInput) error {
   557  	return c.WaitUntilProcessingJobCompletedOrStoppedWithContext(aws.BackgroundContext(), input)
   558  }
   559  
   560  // WaitUntilProcessingJobCompletedOrStoppedWithContext is an extended version of WaitUntilProcessingJobCompletedOrStopped.
   561  // With the support for passing in a context and options to configure the
   562  // Waiter and the underlying request options.
   563  //
   564  // The context must be non-nil and will be used for request cancellation. If
   565  // the context is nil a panic will occur. In the future the SDK may create
   566  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   567  // for more information on using Contexts.
   568  func (c *SageMaker) WaitUntilProcessingJobCompletedOrStoppedWithContext(ctx aws.Context, input *DescribeProcessingJobInput, opts ...request.WaiterOption) error {
   569  	w := request.Waiter{
   570  		Name:        "WaitUntilProcessingJobCompletedOrStopped",
   571  		MaxAttempts: 60,
   572  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   573  		Acceptors: []request.WaiterAcceptor{
   574  			{
   575  				State:   request.SuccessWaiterState,
   576  				Matcher: request.PathWaiterMatch, Argument: "ProcessingJobStatus",
   577  				Expected: "Completed",
   578  			},
   579  			{
   580  				State:   request.SuccessWaiterState,
   581  				Matcher: request.PathWaiterMatch, Argument: "ProcessingJobStatus",
   582  				Expected: "Stopped",
   583  			},
   584  			{
   585  				State:   request.FailureWaiterState,
   586  				Matcher: request.PathWaiterMatch, Argument: "ProcessingJobStatus",
   587  				Expected: "Failed",
   588  			},
   589  			{
   590  				State:    request.FailureWaiterState,
   591  				Matcher:  request.ErrorWaiterMatch,
   592  				Expected: "ValidationException",
   593  			},
   594  		},
   595  		Logger: c.Config.Logger,
   596  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   597  			var inCpy *DescribeProcessingJobInput
   598  			if input != nil {
   599  				tmp := *input
   600  				inCpy = &tmp
   601  			}
   602  			req, _ := c.DescribeProcessingJobRequest(inCpy)
   603  			req.SetContext(ctx)
   604  			req.ApplyOptions(opts...)
   605  			return req, nil
   606  		},
   607  	}
   608  	w.ApplyOptions(opts...)
   609  
   610  	return w.WaitWithContext(ctx)
   611  }
   612  
   613  // WaitUntilTrainingJobCompletedOrStopped uses the SageMaker API operation
   614  // DescribeTrainingJob to wait for a condition to be met before returning.
   615  // If the condition is not met within the max attempt window, an error will
   616  // be returned.
   617  func (c *SageMaker) WaitUntilTrainingJobCompletedOrStopped(input *DescribeTrainingJobInput) error {
   618  	return c.WaitUntilTrainingJobCompletedOrStoppedWithContext(aws.BackgroundContext(), input)
   619  }
   620  
   621  // WaitUntilTrainingJobCompletedOrStoppedWithContext is an extended version of WaitUntilTrainingJobCompletedOrStopped.
   622  // With the support for passing in a context and options to configure the
   623  // Waiter and the underlying request options.
   624  //
   625  // The context must be non-nil and will be used for request cancellation. If
   626  // the context is nil a panic will occur. In the future the SDK may create
   627  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   628  // for more information on using Contexts.
   629  func (c *SageMaker) WaitUntilTrainingJobCompletedOrStoppedWithContext(ctx aws.Context, input *DescribeTrainingJobInput, opts ...request.WaiterOption) error {
   630  	w := request.Waiter{
   631  		Name:        "WaitUntilTrainingJobCompletedOrStopped",
   632  		MaxAttempts: 180,
   633  		Delay:       request.ConstantWaiterDelay(120 * time.Second),
   634  		Acceptors: []request.WaiterAcceptor{
   635  			{
   636  				State:   request.SuccessWaiterState,
   637  				Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus",
   638  				Expected: "Completed",
   639  			},
   640  			{
   641  				State:   request.SuccessWaiterState,
   642  				Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus",
   643  				Expected: "Stopped",
   644  			},
   645  			{
   646  				State:   request.FailureWaiterState,
   647  				Matcher: request.PathWaiterMatch, Argument: "TrainingJobStatus",
   648  				Expected: "Failed",
   649  			},
   650  			{
   651  				State:    request.FailureWaiterState,
   652  				Matcher:  request.ErrorWaiterMatch,
   653  				Expected: "ValidationException",
   654  			},
   655  		},
   656  		Logger: c.Config.Logger,
   657  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   658  			var inCpy *DescribeTrainingJobInput
   659  			if input != nil {
   660  				tmp := *input
   661  				inCpy = &tmp
   662  			}
   663  			req, _ := c.DescribeTrainingJobRequest(inCpy)
   664  			req.SetContext(ctx)
   665  			req.ApplyOptions(opts...)
   666  			return req, nil
   667  		},
   668  	}
   669  	w.ApplyOptions(opts...)
   670  
   671  	return w.WaitWithContext(ctx)
   672  }
   673  
   674  // WaitUntilTransformJobCompletedOrStopped uses the SageMaker API operation
   675  // DescribeTransformJob to wait for a condition to be met before returning.
   676  // If the condition is not met within the max attempt window, an error will
   677  // be returned.
   678  func (c *SageMaker) WaitUntilTransformJobCompletedOrStopped(input *DescribeTransformJobInput) error {
   679  	return c.WaitUntilTransformJobCompletedOrStoppedWithContext(aws.BackgroundContext(), input)
   680  }
   681  
   682  // WaitUntilTransformJobCompletedOrStoppedWithContext is an extended version of WaitUntilTransformJobCompletedOrStopped.
   683  // With the support for passing in a context and options to configure the
   684  // Waiter and the underlying request options.
   685  //
   686  // The context must be non-nil and will be used for request cancellation. If
   687  // the context is nil a panic will occur. In the future the SDK may create
   688  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   689  // for more information on using Contexts.
   690  func (c *SageMaker) WaitUntilTransformJobCompletedOrStoppedWithContext(ctx aws.Context, input *DescribeTransformJobInput, opts ...request.WaiterOption) error {
   691  	w := request.Waiter{
   692  		Name:        "WaitUntilTransformJobCompletedOrStopped",
   693  		MaxAttempts: 60,
   694  		Delay:       request.ConstantWaiterDelay(60 * time.Second),
   695  		Acceptors: []request.WaiterAcceptor{
   696  			{
   697  				State:   request.SuccessWaiterState,
   698  				Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus",
   699  				Expected: "Completed",
   700  			},
   701  			{
   702  				State:   request.SuccessWaiterState,
   703  				Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus",
   704  				Expected: "Stopped",
   705  			},
   706  			{
   707  				State:   request.FailureWaiterState,
   708  				Matcher: request.PathWaiterMatch, Argument: "TransformJobStatus",
   709  				Expected: "Failed",
   710  			},
   711  			{
   712  				State:    request.FailureWaiterState,
   713  				Matcher:  request.ErrorWaiterMatch,
   714  				Expected: "ValidationException",
   715  			},
   716  		},
   717  		Logger: c.Config.Logger,
   718  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   719  			var inCpy *DescribeTransformJobInput
   720  			if input != nil {
   721  				tmp := *input
   722  				inCpy = &tmp
   723  			}
   724  			req, _ := c.DescribeTransformJobRequest(inCpy)
   725  			req.SetContext(ctx)
   726  			req.ApplyOptions(opts...)
   727  			return req, nil
   728  		},
   729  	}
   730  	w.ApplyOptions(opts...)
   731  
   732  	return w.WaitWithContext(ctx)
   733  }