github.com/aavshr/aws-sdk-go@v1.41.3/service/docdb/waiters.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package docdb 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 // WaitUntilDBInstanceAvailable uses the Amazon DocDB API operation 13 // DescribeDBInstances 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 *DocDB) WaitUntilDBInstanceAvailable(input *DescribeDBInstancesInput) error { 17 return c.WaitUntilDBInstanceAvailableWithContext(aws.BackgroundContext(), input) 18 } 19 20 // WaitUntilDBInstanceAvailableWithContext is an extended version of WaitUntilDBInstanceAvailable. 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 *DocDB) WaitUntilDBInstanceAvailableWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.WaiterOption) error { 29 w := request.Waiter{ 30 Name: "WaitUntilDBInstanceAvailable", 31 MaxAttempts: 60, 32 Delay: request.ConstantWaiterDelay(30 * time.Second), 33 Acceptors: []request.WaiterAcceptor{ 34 { 35 State: request.SuccessWaiterState, 36 Matcher: request.PathAllWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 37 Expected: "available", 38 }, 39 { 40 State: request.FailureWaiterState, 41 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 42 Expected: "deleted", 43 }, 44 { 45 State: request.FailureWaiterState, 46 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 47 Expected: "deleting", 48 }, 49 { 50 State: request.FailureWaiterState, 51 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 52 Expected: "failed", 53 }, 54 { 55 State: request.FailureWaiterState, 56 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 57 Expected: "incompatible-restore", 58 }, 59 { 60 State: request.FailureWaiterState, 61 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 62 Expected: "incompatible-parameters", 63 }, 64 }, 65 Logger: c.Config.Logger, 66 NewRequest: func(opts []request.Option) (*request.Request, error) { 67 var inCpy *DescribeDBInstancesInput 68 if input != nil { 69 tmp := *input 70 inCpy = &tmp 71 } 72 req, _ := c.DescribeDBInstancesRequest(inCpy) 73 req.SetContext(ctx) 74 req.ApplyOptions(opts...) 75 return req, nil 76 }, 77 } 78 w.ApplyOptions(opts...) 79 80 return w.WaitWithContext(ctx) 81 } 82 83 // WaitUntilDBInstanceDeleted uses the Amazon DocDB API operation 84 // DescribeDBInstances to wait for a condition to be met before returning. 85 // If the condition is not met within the max attempt window, an error will 86 // be returned. 87 func (c *DocDB) WaitUntilDBInstanceDeleted(input *DescribeDBInstancesInput) error { 88 return c.WaitUntilDBInstanceDeletedWithContext(aws.BackgroundContext(), input) 89 } 90 91 // WaitUntilDBInstanceDeletedWithContext is an extended version of WaitUntilDBInstanceDeleted. 92 // With the support for passing in a context and options to configure the 93 // Waiter and the underlying request options. 94 // 95 // The context must be non-nil and will be used for request cancellation. If 96 // the context is nil a panic will occur. In the future the SDK may create 97 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 98 // for more information on using Contexts. 99 func (c *DocDB) WaitUntilDBInstanceDeletedWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.WaiterOption) error { 100 w := request.Waiter{ 101 Name: "WaitUntilDBInstanceDeleted", 102 MaxAttempts: 60, 103 Delay: request.ConstantWaiterDelay(30 * time.Second), 104 Acceptors: []request.WaiterAcceptor{ 105 { 106 State: request.SuccessWaiterState, 107 Matcher: request.PathAllWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 108 Expected: "deleted", 109 }, 110 { 111 State: request.SuccessWaiterState, 112 Matcher: request.ErrorWaiterMatch, 113 Expected: "DBInstanceNotFound", 114 }, 115 { 116 State: request.FailureWaiterState, 117 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 118 Expected: "creating", 119 }, 120 { 121 State: request.FailureWaiterState, 122 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 123 Expected: "modifying", 124 }, 125 { 126 State: request.FailureWaiterState, 127 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 128 Expected: "rebooting", 129 }, 130 { 131 State: request.FailureWaiterState, 132 Matcher: request.PathAnyWaiterMatch, Argument: "DBInstances[].DBInstanceStatus", 133 Expected: "resetting-master-credentials", 134 }, 135 }, 136 Logger: c.Config.Logger, 137 NewRequest: func(opts []request.Option) (*request.Request, error) { 138 var inCpy *DescribeDBInstancesInput 139 if input != nil { 140 tmp := *input 141 inCpy = &tmp 142 } 143 req, _ := c.DescribeDBInstancesRequest(inCpy) 144 req.SetContext(ctx) 145 req.ApplyOptions(opts...) 146 return req, nil 147 }, 148 } 149 w.ApplyOptions(opts...) 150 151 return w.WaitWithContext(ctx) 152 }