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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package opsworks
     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  // WaitUntilAppExists uses the AWS OpsWorks API operation
    13  // DescribeApps 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 *OpsWorks) WaitUntilAppExists(input *DescribeAppsInput) error {
    17  	return c.WaitUntilAppExistsWithContext(aws.BackgroundContext(), input)
    18  }
    19  
    20  // WaitUntilAppExistsWithContext is an extended version of WaitUntilAppExists.
    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 *OpsWorks) WaitUntilAppExistsWithContext(ctx aws.Context, input *DescribeAppsInput, opts ...request.WaiterOption) error {
    29  	w := request.Waiter{
    30  		Name:        "WaitUntilAppExists",
    31  		MaxAttempts: 40,
    32  		Delay:       request.ConstantWaiterDelay(1 * time.Second),
    33  		Acceptors: []request.WaiterAcceptor{
    34  			{
    35  				State:    request.SuccessWaiterState,
    36  				Matcher:  request.StatusWaiterMatch,
    37  				Expected: 200,
    38  			},
    39  			{
    40  				State:    request.FailureWaiterState,
    41  				Matcher:  request.StatusWaiterMatch,
    42  				Expected: 400,
    43  			},
    44  		},
    45  		Logger: c.Config.Logger,
    46  		NewRequest: func(opts []request.Option) (*request.Request, error) {
    47  			var inCpy *DescribeAppsInput
    48  			if input != nil {
    49  				tmp := *input
    50  				inCpy = &tmp
    51  			}
    52  			req, _ := c.DescribeAppsRequest(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  // WaitUntilDeploymentSuccessful uses the AWS OpsWorks API operation
    64  // DescribeDeployments 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 *OpsWorks) WaitUntilDeploymentSuccessful(input *DescribeDeploymentsInput) error {
    68  	return c.WaitUntilDeploymentSuccessfulWithContext(aws.BackgroundContext(), input)
    69  }
    70  
    71  // WaitUntilDeploymentSuccessfulWithContext is an extended version of WaitUntilDeploymentSuccessful.
    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 *OpsWorks) WaitUntilDeploymentSuccessfulWithContext(ctx aws.Context, input *DescribeDeploymentsInput, opts ...request.WaiterOption) error {
    80  	w := request.Waiter{
    81  		Name:        "WaitUntilDeploymentSuccessful",
    82  		MaxAttempts: 40,
    83  		Delay:       request.ConstantWaiterDelay(15 * time.Second),
    84  		Acceptors: []request.WaiterAcceptor{
    85  			{
    86  				State:   request.SuccessWaiterState,
    87  				Matcher: request.PathAllWaiterMatch, Argument: "Deployments[].Status",
    88  				Expected: "successful",
    89  			},
    90  			{
    91  				State:   request.FailureWaiterState,
    92  				Matcher: request.PathAnyWaiterMatch, Argument: "Deployments[].Status",
    93  				Expected: "failed",
    94  			},
    95  		},
    96  		Logger: c.Config.Logger,
    97  		NewRequest: func(opts []request.Option) (*request.Request, error) {
    98  			var inCpy *DescribeDeploymentsInput
    99  			if input != nil {
   100  				tmp := *input
   101  				inCpy = &tmp
   102  			}
   103  			req, _ := c.DescribeDeploymentsRequest(inCpy)
   104  			req.SetContext(ctx)
   105  			req.ApplyOptions(opts...)
   106  			return req, nil
   107  		},
   108  	}
   109  	w.ApplyOptions(opts...)
   110  
   111  	return w.WaitWithContext(ctx)
   112  }
   113  
   114  // WaitUntilInstanceOnline uses the AWS OpsWorks API operation
   115  // DescribeInstances to wait for a condition to be met before returning.
   116  // If the condition is not met within the max attempt window, an error will
   117  // be returned.
   118  func (c *OpsWorks) WaitUntilInstanceOnline(input *DescribeInstancesInput) error {
   119  	return c.WaitUntilInstanceOnlineWithContext(aws.BackgroundContext(), input)
   120  }
   121  
   122  // WaitUntilInstanceOnlineWithContext is an extended version of WaitUntilInstanceOnline.
   123  // With the support for passing in a context and options to configure the
   124  // Waiter and the underlying request options.
   125  //
   126  // The context must be non-nil and will be used for request cancellation. If
   127  // the context is nil a panic will occur. In the future the SDK may create
   128  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   129  // for more information on using Contexts.
   130  func (c *OpsWorks) WaitUntilInstanceOnlineWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
   131  	w := request.Waiter{
   132  		Name:        "WaitUntilInstanceOnline",
   133  		MaxAttempts: 40,
   134  		Delay:       request.ConstantWaiterDelay(15 * time.Second),
   135  		Acceptors: []request.WaiterAcceptor{
   136  			{
   137  				State:   request.SuccessWaiterState,
   138  				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
   139  				Expected: "online",
   140  			},
   141  			{
   142  				State:   request.FailureWaiterState,
   143  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   144  				Expected: "setup_failed",
   145  			},
   146  			{
   147  				State:   request.FailureWaiterState,
   148  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   149  				Expected: "shutting_down",
   150  			},
   151  			{
   152  				State:   request.FailureWaiterState,
   153  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   154  				Expected: "start_failed",
   155  			},
   156  			{
   157  				State:   request.FailureWaiterState,
   158  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   159  				Expected: "stopped",
   160  			},
   161  			{
   162  				State:   request.FailureWaiterState,
   163  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   164  				Expected: "stopping",
   165  			},
   166  			{
   167  				State:   request.FailureWaiterState,
   168  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   169  				Expected: "terminating",
   170  			},
   171  			{
   172  				State:   request.FailureWaiterState,
   173  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   174  				Expected: "terminated",
   175  			},
   176  			{
   177  				State:   request.FailureWaiterState,
   178  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   179  				Expected: "stop_failed",
   180  			},
   181  		},
   182  		Logger: c.Config.Logger,
   183  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   184  			var inCpy *DescribeInstancesInput
   185  			if input != nil {
   186  				tmp := *input
   187  				inCpy = &tmp
   188  			}
   189  			req, _ := c.DescribeInstancesRequest(inCpy)
   190  			req.SetContext(ctx)
   191  			req.ApplyOptions(opts...)
   192  			return req, nil
   193  		},
   194  	}
   195  	w.ApplyOptions(opts...)
   196  
   197  	return w.WaitWithContext(ctx)
   198  }
   199  
   200  // WaitUntilInstanceRegistered uses the AWS OpsWorks API operation
   201  // DescribeInstances to wait for a condition to be met before returning.
   202  // If the condition is not met within the max attempt window, an error will
   203  // be returned.
   204  func (c *OpsWorks) WaitUntilInstanceRegistered(input *DescribeInstancesInput) error {
   205  	return c.WaitUntilInstanceRegisteredWithContext(aws.BackgroundContext(), input)
   206  }
   207  
   208  // WaitUntilInstanceRegisteredWithContext is an extended version of WaitUntilInstanceRegistered.
   209  // With the support for passing in a context and options to configure the
   210  // Waiter and the underlying request options.
   211  //
   212  // The context must be non-nil and will be used for request cancellation. If
   213  // the context is nil a panic will occur. In the future the SDK may create
   214  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   215  // for more information on using Contexts.
   216  func (c *OpsWorks) WaitUntilInstanceRegisteredWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
   217  	w := request.Waiter{
   218  		Name:        "WaitUntilInstanceRegistered",
   219  		MaxAttempts: 40,
   220  		Delay:       request.ConstantWaiterDelay(15 * time.Second),
   221  		Acceptors: []request.WaiterAcceptor{
   222  			{
   223  				State:   request.SuccessWaiterState,
   224  				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
   225  				Expected: "registered",
   226  			},
   227  			{
   228  				State:   request.FailureWaiterState,
   229  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   230  				Expected: "setup_failed",
   231  			},
   232  			{
   233  				State:   request.FailureWaiterState,
   234  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   235  				Expected: "shutting_down",
   236  			},
   237  			{
   238  				State:   request.FailureWaiterState,
   239  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   240  				Expected: "stopped",
   241  			},
   242  			{
   243  				State:   request.FailureWaiterState,
   244  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   245  				Expected: "stopping",
   246  			},
   247  			{
   248  				State:   request.FailureWaiterState,
   249  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   250  				Expected: "terminating",
   251  			},
   252  			{
   253  				State:   request.FailureWaiterState,
   254  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   255  				Expected: "terminated",
   256  			},
   257  			{
   258  				State:   request.FailureWaiterState,
   259  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   260  				Expected: "stop_failed",
   261  			},
   262  		},
   263  		Logger: c.Config.Logger,
   264  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   265  			var inCpy *DescribeInstancesInput
   266  			if input != nil {
   267  				tmp := *input
   268  				inCpy = &tmp
   269  			}
   270  			req, _ := c.DescribeInstancesRequest(inCpy)
   271  			req.SetContext(ctx)
   272  			req.ApplyOptions(opts...)
   273  			return req, nil
   274  		},
   275  	}
   276  	w.ApplyOptions(opts...)
   277  
   278  	return w.WaitWithContext(ctx)
   279  }
   280  
   281  // WaitUntilInstanceStopped uses the AWS OpsWorks API operation
   282  // DescribeInstances to wait for a condition to be met before returning.
   283  // If the condition is not met within the max attempt window, an error will
   284  // be returned.
   285  func (c *OpsWorks) WaitUntilInstanceStopped(input *DescribeInstancesInput) error {
   286  	return c.WaitUntilInstanceStoppedWithContext(aws.BackgroundContext(), input)
   287  }
   288  
   289  // WaitUntilInstanceStoppedWithContext is an extended version of WaitUntilInstanceStopped.
   290  // With the support for passing in a context and options to configure the
   291  // Waiter and the underlying request options.
   292  //
   293  // The context must be non-nil and will be used for request cancellation. If
   294  // the context is nil a panic will occur. In the future the SDK may create
   295  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   296  // for more information on using Contexts.
   297  func (c *OpsWorks) WaitUntilInstanceStoppedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
   298  	w := request.Waiter{
   299  		Name:        "WaitUntilInstanceStopped",
   300  		MaxAttempts: 40,
   301  		Delay:       request.ConstantWaiterDelay(15 * time.Second),
   302  		Acceptors: []request.WaiterAcceptor{
   303  			{
   304  				State:   request.SuccessWaiterState,
   305  				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
   306  				Expected: "stopped",
   307  			},
   308  			{
   309  				State:   request.FailureWaiterState,
   310  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   311  				Expected: "booting",
   312  			},
   313  			{
   314  				State:   request.FailureWaiterState,
   315  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   316  				Expected: "pending",
   317  			},
   318  			{
   319  				State:   request.FailureWaiterState,
   320  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   321  				Expected: "rebooting",
   322  			},
   323  			{
   324  				State:   request.FailureWaiterState,
   325  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   326  				Expected: "requested",
   327  			},
   328  			{
   329  				State:   request.FailureWaiterState,
   330  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   331  				Expected: "running_setup",
   332  			},
   333  			{
   334  				State:   request.FailureWaiterState,
   335  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   336  				Expected: "setup_failed",
   337  			},
   338  			{
   339  				State:   request.FailureWaiterState,
   340  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   341  				Expected: "start_failed",
   342  			},
   343  			{
   344  				State:   request.FailureWaiterState,
   345  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   346  				Expected: "stop_failed",
   347  			},
   348  		},
   349  		Logger: c.Config.Logger,
   350  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   351  			var inCpy *DescribeInstancesInput
   352  			if input != nil {
   353  				tmp := *input
   354  				inCpy = &tmp
   355  			}
   356  			req, _ := c.DescribeInstancesRequest(inCpy)
   357  			req.SetContext(ctx)
   358  			req.ApplyOptions(opts...)
   359  			return req, nil
   360  		},
   361  	}
   362  	w.ApplyOptions(opts...)
   363  
   364  	return w.WaitWithContext(ctx)
   365  }
   366  
   367  // WaitUntilInstanceTerminated uses the AWS OpsWorks API operation
   368  // DescribeInstances to wait for a condition to be met before returning.
   369  // If the condition is not met within the max attempt window, an error will
   370  // be returned.
   371  func (c *OpsWorks) WaitUntilInstanceTerminated(input *DescribeInstancesInput) error {
   372  	return c.WaitUntilInstanceTerminatedWithContext(aws.BackgroundContext(), input)
   373  }
   374  
   375  // WaitUntilInstanceTerminatedWithContext is an extended version of WaitUntilInstanceTerminated.
   376  // With the support for passing in a context and options to configure the
   377  // Waiter and the underlying request options.
   378  //
   379  // The context must be non-nil and will be used for request cancellation. If
   380  // the context is nil a panic will occur. In the future the SDK may create
   381  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   382  // for more information on using Contexts.
   383  func (c *OpsWorks) WaitUntilInstanceTerminatedWithContext(ctx aws.Context, input *DescribeInstancesInput, opts ...request.WaiterOption) error {
   384  	w := request.Waiter{
   385  		Name:        "WaitUntilInstanceTerminated",
   386  		MaxAttempts: 40,
   387  		Delay:       request.ConstantWaiterDelay(15 * time.Second),
   388  		Acceptors: []request.WaiterAcceptor{
   389  			{
   390  				State:   request.SuccessWaiterState,
   391  				Matcher: request.PathAllWaiterMatch, Argument: "Instances[].Status",
   392  				Expected: "terminated",
   393  			},
   394  			{
   395  				State:    request.SuccessWaiterState,
   396  				Matcher:  request.ErrorWaiterMatch,
   397  				Expected: "ResourceNotFoundException",
   398  			},
   399  			{
   400  				State:   request.FailureWaiterState,
   401  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   402  				Expected: "booting",
   403  			},
   404  			{
   405  				State:   request.FailureWaiterState,
   406  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   407  				Expected: "online",
   408  			},
   409  			{
   410  				State:   request.FailureWaiterState,
   411  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   412  				Expected: "pending",
   413  			},
   414  			{
   415  				State:   request.FailureWaiterState,
   416  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   417  				Expected: "rebooting",
   418  			},
   419  			{
   420  				State:   request.FailureWaiterState,
   421  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   422  				Expected: "requested",
   423  			},
   424  			{
   425  				State:   request.FailureWaiterState,
   426  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   427  				Expected: "running_setup",
   428  			},
   429  			{
   430  				State:   request.FailureWaiterState,
   431  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   432  				Expected: "setup_failed",
   433  			},
   434  			{
   435  				State:   request.FailureWaiterState,
   436  				Matcher: request.PathAnyWaiterMatch, Argument: "Instances[].Status",
   437  				Expected: "start_failed",
   438  			},
   439  		},
   440  		Logger: c.Config.Logger,
   441  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   442  			var inCpy *DescribeInstancesInput
   443  			if input != nil {
   444  				tmp := *input
   445  				inCpy = &tmp
   446  			}
   447  			req, _ := c.DescribeInstancesRequest(inCpy)
   448  			req.SetContext(ctx)
   449  			req.ApplyOptions(opts...)
   450  			return req, nil
   451  		},
   452  	}
   453  	w.ApplyOptions(opts...)
   454  
   455  	return w.WaitWithContext(ctx)
   456  }