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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package route53recoverycontrolconfig
     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  // WaitUntilClusterCreated uses the AWS Route53 Recovery Control Config API operation
    13  // DescribeCluster 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 *Route53RecoveryControlConfig) WaitUntilClusterCreated(input *DescribeClusterInput) error {
    17  	return c.WaitUntilClusterCreatedWithContext(aws.BackgroundContext(), input)
    18  }
    19  
    20  // WaitUntilClusterCreatedWithContext is an extended version of WaitUntilClusterCreated.
    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 *Route53RecoveryControlConfig) WaitUntilClusterCreatedWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.WaiterOption) error {
    29  	w := request.Waiter{
    30  		Name:        "WaitUntilClusterCreated",
    31  		MaxAttempts: 26,
    32  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
    33  		Acceptors: []request.WaiterAcceptor{
    34  			{
    35  				State:   request.SuccessWaiterState,
    36  				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status",
    37  				Expected: "DEPLOYED",
    38  			},
    39  			{
    40  				State:   request.RetryWaiterState,
    41  				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status",
    42  				Expected: "PENDING",
    43  			},
    44  			{
    45  				State:    request.RetryWaiterState,
    46  				Matcher:  request.StatusWaiterMatch,
    47  				Expected: 500,
    48  			},
    49  		},
    50  		Logger: c.Config.Logger,
    51  		NewRequest: func(opts []request.Option) (*request.Request, error) {
    52  			var inCpy *DescribeClusterInput
    53  			if input != nil {
    54  				tmp := *input
    55  				inCpy = &tmp
    56  			}
    57  			req, _ := c.DescribeClusterRequest(inCpy)
    58  			req.SetContext(ctx)
    59  			req.ApplyOptions(opts...)
    60  			return req, nil
    61  		},
    62  	}
    63  	w.ApplyOptions(opts...)
    64  
    65  	return w.WaitWithContext(ctx)
    66  }
    67  
    68  // WaitUntilClusterDeleted uses the AWS Route53 Recovery Control Config API operation
    69  // DescribeCluster to wait for a condition to be met before returning.
    70  // If the condition is not met within the max attempt window, an error will
    71  // be returned.
    72  func (c *Route53RecoveryControlConfig) WaitUntilClusterDeleted(input *DescribeClusterInput) error {
    73  	return c.WaitUntilClusterDeletedWithContext(aws.BackgroundContext(), input)
    74  }
    75  
    76  // WaitUntilClusterDeletedWithContext is an extended version of WaitUntilClusterDeleted.
    77  // With the support for passing in a context and options to configure the
    78  // Waiter and the underlying request options.
    79  //
    80  // The context must be non-nil and will be used for request cancellation. If
    81  // the context is nil a panic will occur. In the future the SDK may create
    82  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    83  // for more information on using Contexts.
    84  func (c *Route53RecoveryControlConfig) WaitUntilClusterDeletedWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.WaiterOption) error {
    85  	w := request.Waiter{
    86  		Name:        "WaitUntilClusterDeleted",
    87  		MaxAttempts: 26,
    88  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
    89  		Acceptors: []request.WaiterAcceptor{
    90  			{
    91  				State:    request.SuccessWaiterState,
    92  				Matcher:  request.StatusWaiterMatch,
    93  				Expected: 404,
    94  			},
    95  			{
    96  				State:   request.RetryWaiterState,
    97  				Matcher: request.PathWaiterMatch, Argument: "Cluster.Status",
    98  				Expected: "PENDING_DELETION",
    99  			},
   100  			{
   101  				State:    request.RetryWaiterState,
   102  				Matcher:  request.StatusWaiterMatch,
   103  				Expected: 500,
   104  			},
   105  		},
   106  		Logger: c.Config.Logger,
   107  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   108  			var inCpy *DescribeClusterInput
   109  			if input != nil {
   110  				tmp := *input
   111  				inCpy = &tmp
   112  			}
   113  			req, _ := c.DescribeClusterRequest(inCpy)
   114  			req.SetContext(ctx)
   115  			req.ApplyOptions(opts...)
   116  			return req, nil
   117  		},
   118  	}
   119  	w.ApplyOptions(opts...)
   120  
   121  	return w.WaitWithContext(ctx)
   122  }
   123  
   124  // WaitUntilControlPanelCreated uses the AWS Route53 Recovery Control Config API operation
   125  // DescribeControlPanel to wait for a condition to be met before returning.
   126  // If the condition is not met within the max attempt window, an error will
   127  // be returned.
   128  func (c *Route53RecoveryControlConfig) WaitUntilControlPanelCreated(input *DescribeControlPanelInput) error {
   129  	return c.WaitUntilControlPanelCreatedWithContext(aws.BackgroundContext(), input)
   130  }
   131  
   132  // WaitUntilControlPanelCreatedWithContext is an extended version of WaitUntilControlPanelCreated.
   133  // With the support for passing in a context and options to configure the
   134  // Waiter and the underlying request options.
   135  //
   136  // The context must be non-nil and will be used for request cancellation. If
   137  // the context is nil a panic will occur. In the future the SDK may create
   138  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   139  // for more information on using Contexts.
   140  func (c *Route53RecoveryControlConfig) WaitUntilControlPanelCreatedWithContext(ctx aws.Context, input *DescribeControlPanelInput, opts ...request.WaiterOption) error {
   141  	w := request.Waiter{
   142  		Name:        "WaitUntilControlPanelCreated",
   143  		MaxAttempts: 26,
   144  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
   145  		Acceptors: []request.WaiterAcceptor{
   146  			{
   147  				State:   request.SuccessWaiterState,
   148  				Matcher: request.PathWaiterMatch, Argument: "ControlPanel.Status",
   149  				Expected: "DEPLOYED",
   150  			},
   151  			{
   152  				State:   request.RetryWaiterState,
   153  				Matcher: request.PathWaiterMatch, Argument: "ControlPanel.Status",
   154  				Expected: "PENDING",
   155  			},
   156  			{
   157  				State:    request.RetryWaiterState,
   158  				Matcher:  request.StatusWaiterMatch,
   159  				Expected: 500,
   160  			},
   161  		},
   162  		Logger: c.Config.Logger,
   163  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   164  			var inCpy *DescribeControlPanelInput
   165  			if input != nil {
   166  				tmp := *input
   167  				inCpy = &tmp
   168  			}
   169  			req, _ := c.DescribeControlPanelRequest(inCpy)
   170  			req.SetContext(ctx)
   171  			req.ApplyOptions(opts...)
   172  			return req, nil
   173  		},
   174  	}
   175  	w.ApplyOptions(opts...)
   176  
   177  	return w.WaitWithContext(ctx)
   178  }
   179  
   180  // WaitUntilControlPanelDeleted uses the AWS Route53 Recovery Control Config API operation
   181  // DescribeControlPanel to wait for a condition to be met before returning.
   182  // If the condition is not met within the max attempt window, an error will
   183  // be returned.
   184  func (c *Route53RecoveryControlConfig) WaitUntilControlPanelDeleted(input *DescribeControlPanelInput) error {
   185  	return c.WaitUntilControlPanelDeletedWithContext(aws.BackgroundContext(), input)
   186  }
   187  
   188  // WaitUntilControlPanelDeletedWithContext is an extended version of WaitUntilControlPanelDeleted.
   189  // With the support for passing in a context and options to configure the
   190  // Waiter and the underlying request options.
   191  //
   192  // The context must be non-nil and will be used for request cancellation. If
   193  // the context is nil a panic will occur. In the future the SDK may create
   194  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   195  // for more information on using Contexts.
   196  func (c *Route53RecoveryControlConfig) WaitUntilControlPanelDeletedWithContext(ctx aws.Context, input *DescribeControlPanelInput, opts ...request.WaiterOption) error {
   197  	w := request.Waiter{
   198  		Name:        "WaitUntilControlPanelDeleted",
   199  		MaxAttempts: 26,
   200  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
   201  		Acceptors: []request.WaiterAcceptor{
   202  			{
   203  				State:    request.SuccessWaiterState,
   204  				Matcher:  request.StatusWaiterMatch,
   205  				Expected: 404,
   206  			},
   207  			{
   208  				State:   request.RetryWaiterState,
   209  				Matcher: request.PathWaiterMatch, Argument: "ControlPanel.Status",
   210  				Expected: "PENDING_DELETION",
   211  			},
   212  			{
   213  				State:    request.RetryWaiterState,
   214  				Matcher:  request.StatusWaiterMatch,
   215  				Expected: 500,
   216  			},
   217  		},
   218  		Logger: c.Config.Logger,
   219  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   220  			var inCpy *DescribeControlPanelInput
   221  			if input != nil {
   222  				tmp := *input
   223  				inCpy = &tmp
   224  			}
   225  			req, _ := c.DescribeControlPanelRequest(inCpy)
   226  			req.SetContext(ctx)
   227  			req.ApplyOptions(opts...)
   228  			return req, nil
   229  		},
   230  	}
   231  	w.ApplyOptions(opts...)
   232  
   233  	return w.WaitWithContext(ctx)
   234  }
   235  
   236  // WaitUntilRoutingControlCreated uses the AWS Route53 Recovery Control Config API operation
   237  // DescribeRoutingControl to wait for a condition to be met before returning.
   238  // If the condition is not met within the max attempt window, an error will
   239  // be returned.
   240  func (c *Route53RecoveryControlConfig) WaitUntilRoutingControlCreated(input *DescribeRoutingControlInput) error {
   241  	return c.WaitUntilRoutingControlCreatedWithContext(aws.BackgroundContext(), input)
   242  }
   243  
   244  // WaitUntilRoutingControlCreatedWithContext is an extended version of WaitUntilRoutingControlCreated.
   245  // With the support for passing in a context and options to configure the
   246  // Waiter and the underlying request options.
   247  //
   248  // The context must be non-nil and will be used for request cancellation. If
   249  // the context is nil a panic will occur. In the future the SDK may create
   250  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   251  // for more information on using Contexts.
   252  func (c *Route53RecoveryControlConfig) WaitUntilRoutingControlCreatedWithContext(ctx aws.Context, input *DescribeRoutingControlInput, opts ...request.WaiterOption) error {
   253  	w := request.Waiter{
   254  		Name:        "WaitUntilRoutingControlCreated",
   255  		MaxAttempts: 26,
   256  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
   257  		Acceptors: []request.WaiterAcceptor{
   258  			{
   259  				State:   request.SuccessWaiterState,
   260  				Matcher: request.PathWaiterMatch, Argument: "RoutingControl.Status",
   261  				Expected: "DEPLOYED",
   262  			},
   263  			{
   264  				State:   request.RetryWaiterState,
   265  				Matcher: request.PathWaiterMatch, Argument: "RoutingControl.Status",
   266  				Expected: "PENDING",
   267  			},
   268  			{
   269  				State:    request.RetryWaiterState,
   270  				Matcher:  request.StatusWaiterMatch,
   271  				Expected: 500,
   272  			},
   273  		},
   274  		Logger: c.Config.Logger,
   275  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   276  			var inCpy *DescribeRoutingControlInput
   277  			if input != nil {
   278  				tmp := *input
   279  				inCpy = &tmp
   280  			}
   281  			req, _ := c.DescribeRoutingControlRequest(inCpy)
   282  			req.SetContext(ctx)
   283  			req.ApplyOptions(opts...)
   284  			return req, nil
   285  		},
   286  	}
   287  	w.ApplyOptions(opts...)
   288  
   289  	return w.WaitWithContext(ctx)
   290  }
   291  
   292  // WaitUntilRoutingControlDeleted uses the AWS Route53 Recovery Control Config API operation
   293  // DescribeRoutingControl to wait for a condition to be met before returning.
   294  // If the condition is not met within the max attempt window, an error will
   295  // be returned.
   296  func (c *Route53RecoveryControlConfig) WaitUntilRoutingControlDeleted(input *DescribeRoutingControlInput) error {
   297  	return c.WaitUntilRoutingControlDeletedWithContext(aws.BackgroundContext(), input)
   298  }
   299  
   300  // WaitUntilRoutingControlDeletedWithContext is an extended version of WaitUntilRoutingControlDeleted.
   301  // With the support for passing in a context and options to configure the
   302  // Waiter and the underlying request options.
   303  //
   304  // The context must be non-nil and will be used for request cancellation. If
   305  // the context is nil a panic will occur. In the future the SDK may create
   306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   307  // for more information on using Contexts.
   308  func (c *Route53RecoveryControlConfig) WaitUntilRoutingControlDeletedWithContext(ctx aws.Context, input *DescribeRoutingControlInput, opts ...request.WaiterOption) error {
   309  	w := request.Waiter{
   310  		Name:        "WaitUntilRoutingControlDeleted",
   311  		MaxAttempts: 26,
   312  		Delay:       request.ConstantWaiterDelay(5 * time.Second),
   313  		Acceptors: []request.WaiterAcceptor{
   314  			{
   315  				State:    request.SuccessWaiterState,
   316  				Matcher:  request.StatusWaiterMatch,
   317  				Expected: 404,
   318  			},
   319  			{
   320  				State:   request.RetryWaiterState,
   321  				Matcher: request.PathWaiterMatch, Argument: "RoutingControl.Status",
   322  				Expected: "PENDING_DELETION",
   323  			},
   324  			{
   325  				State:    request.RetryWaiterState,
   326  				Matcher:  request.StatusWaiterMatch,
   327  				Expected: 500,
   328  			},
   329  		},
   330  		Logger: c.Config.Logger,
   331  		NewRequest: func(opts []request.Option) (*request.Request, error) {
   332  			var inCpy *DescribeRoutingControlInput
   333  			if input != nil {
   334  				tmp := *input
   335  				inCpy = &tmp
   336  			}
   337  			req, _ := c.DescribeRoutingControlRequest(inCpy)
   338  			req.SetContext(ctx)
   339  			req.ApplyOptions(opts...)
   340  			return req, nil
   341  		},
   342  	}
   343  	w.ApplyOptions(opts...)
   344  
   345  	return w.WaitWithContext(ctx)
   346  }