github.com/aavshr/aws-sdk-go@v1.41.3/service/cloudformation/waiters.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package cloudformation 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 // WaitUntilChangeSetCreateComplete uses the AWS CloudFormation API operation 13 // DescribeChangeSet 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 *CloudFormation) WaitUntilChangeSetCreateComplete(input *DescribeChangeSetInput) error { 17 return c.WaitUntilChangeSetCreateCompleteWithContext(aws.BackgroundContext(), input) 18 } 19 20 // WaitUntilChangeSetCreateCompleteWithContext is an extended version of WaitUntilChangeSetCreateComplete. 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 *CloudFormation) WaitUntilChangeSetCreateCompleteWithContext(ctx aws.Context, input *DescribeChangeSetInput, opts ...request.WaiterOption) error { 29 w := request.Waiter{ 30 Name: "WaitUntilChangeSetCreateComplete", 31 MaxAttempts: 120, 32 Delay: request.ConstantWaiterDelay(30 * time.Second), 33 Acceptors: []request.WaiterAcceptor{ 34 { 35 State: request.SuccessWaiterState, 36 Matcher: request.PathWaiterMatch, Argument: "Status", 37 Expected: "CREATE_COMPLETE", 38 }, 39 { 40 State: request.FailureWaiterState, 41 Matcher: request.PathWaiterMatch, Argument: "Status", 42 Expected: "FAILED", 43 }, 44 { 45 State: request.FailureWaiterState, 46 Matcher: request.ErrorWaiterMatch, 47 Expected: "ValidationError", 48 }, 49 }, 50 Logger: c.Config.Logger, 51 NewRequest: func(opts []request.Option) (*request.Request, error) { 52 var inCpy *DescribeChangeSetInput 53 if input != nil { 54 tmp := *input 55 inCpy = &tmp 56 } 57 req, _ := c.DescribeChangeSetRequest(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 // WaitUntilStackCreateComplete uses the AWS CloudFormation API operation 69 // DescribeStacks 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 *CloudFormation) WaitUntilStackCreateComplete(input *DescribeStacksInput) error { 73 return c.WaitUntilStackCreateCompleteWithContext(aws.BackgroundContext(), input) 74 } 75 76 // WaitUntilStackCreateCompleteWithContext is an extended version of WaitUntilStackCreateComplete. 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 *CloudFormation) WaitUntilStackCreateCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 85 w := request.Waiter{ 86 Name: "WaitUntilStackCreateComplete", 87 MaxAttempts: 120, 88 Delay: request.ConstantWaiterDelay(30 * time.Second), 89 Acceptors: []request.WaiterAcceptor{ 90 { 91 State: request.SuccessWaiterState, 92 Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", 93 Expected: "CREATE_COMPLETE", 94 }, 95 { 96 State: request.FailureWaiterState, 97 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 98 Expected: "CREATE_FAILED", 99 }, 100 { 101 State: request.FailureWaiterState, 102 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 103 Expected: "DELETE_COMPLETE", 104 }, 105 { 106 State: request.FailureWaiterState, 107 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 108 Expected: "DELETE_FAILED", 109 }, 110 { 111 State: request.FailureWaiterState, 112 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 113 Expected: "ROLLBACK_FAILED", 114 }, 115 { 116 State: request.FailureWaiterState, 117 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 118 Expected: "ROLLBACK_COMPLETE", 119 }, 120 { 121 State: request.FailureWaiterState, 122 Matcher: request.ErrorWaiterMatch, 123 Expected: "ValidationError", 124 }, 125 }, 126 Logger: c.Config.Logger, 127 NewRequest: func(opts []request.Option) (*request.Request, error) { 128 var inCpy *DescribeStacksInput 129 if input != nil { 130 tmp := *input 131 inCpy = &tmp 132 } 133 req, _ := c.DescribeStacksRequest(inCpy) 134 req.SetContext(ctx) 135 req.ApplyOptions(opts...) 136 return req, nil 137 }, 138 } 139 w.ApplyOptions(opts...) 140 141 return w.WaitWithContext(ctx) 142 } 143 144 // WaitUntilStackDeleteComplete uses the AWS CloudFormation API operation 145 // DescribeStacks to wait for a condition to be met before returning. 146 // If the condition is not met within the max attempt window, an error will 147 // be returned. 148 func (c *CloudFormation) WaitUntilStackDeleteComplete(input *DescribeStacksInput) error { 149 return c.WaitUntilStackDeleteCompleteWithContext(aws.BackgroundContext(), input) 150 } 151 152 // WaitUntilStackDeleteCompleteWithContext is an extended version of WaitUntilStackDeleteComplete. 153 // With the support for passing in a context and options to configure the 154 // Waiter and the underlying request options. 155 // 156 // The context must be non-nil and will be used for request cancellation. If 157 // the context is nil a panic will occur. In the future the SDK may create 158 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 159 // for more information on using Contexts. 160 func (c *CloudFormation) WaitUntilStackDeleteCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 161 w := request.Waiter{ 162 Name: "WaitUntilStackDeleteComplete", 163 MaxAttempts: 120, 164 Delay: request.ConstantWaiterDelay(30 * time.Second), 165 Acceptors: []request.WaiterAcceptor{ 166 { 167 State: request.SuccessWaiterState, 168 Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", 169 Expected: "DELETE_COMPLETE", 170 }, 171 { 172 State: request.SuccessWaiterState, 173 Matcher: request.ErrorWaiterMatch, 174 Expected: "ValidationError", 175 }, 176 { 177 State: request.FailureWaiterState, 178 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 179 Expected: "DELETE_FAILED", 180 }, 181 { 182 State: request.FailureWaiterState, 183 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 184 Expected: "CREATE_FAILED", 185 }, 186 { 187 State: request.FailureWaiterState, 188 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 189 Expected: "ROLLBACK_FAILED", 190 }, 191 { 192 State: request.FailureWaiterState, 193 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 194 Expected: "UPDATE_ROLLBACK_IN_PROGRESS", 195 }, 196 { 197 State: request.FailureWaiterState, 198 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 199 Expected: "UPDATE_ROLLBACK_FAILED", 200 }, 201 { 202 State: request.FailureWaiterState, 203 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 204 Expected: "UPDATE_ROLLBACK_COMPLETE", 205 }, 206 }, 207 Logger: c.Config.Logger, 208 NewRequest: func(opts []request.Option) (*request.Request, error) { 209 var inCpy *DescribeStacksInput 210 if input != nil { 211 tmp := *input 212 inCpy = &tmp 213 } 214 req, _ := c.DescribeStacksRequest(inCpy) 215 req.SetContext(ctx) 216 req.ApplyOptions(opts...) 217 return req, nil 218 }, 219 } 220 w.ApplyOptions(opts...) 221 222 return w.WaitWithContext(ctx) 223 } 224 225 // WaitUntilStackExists uses the AWS CloudFormation API operation 226 // DescribeStacks to wait for a condition to be met before returning. 227 // If the condition is not met within the max attempt window, an error will 228 // be returned. 229 func (c *CloudFormation) WaitUntilStackExists(input *DescribeStacksInput) error { 230 return c.WaitUntilStackExistsWithContext(aws.BackgroundContext(), input) 231 } 232 233 // WaitUntilStackExistsWithContext is an extended version of WaitUntilStackExists. 234 // With the support for passing in a context and options to configure the 235 // Waiter and the underlying request options. 236 // 237 // The context must be non-nil and will be used for request cancellation. If 238 // the context is nil a panic will occur. In the future the SDK may create 239 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 240 // for more information on using Contexts. 241 func (c *CloudFormation) WaitUntilStackExistsWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 242 w := request.Waiter{ 243 Name: "WaitUntilStackExists", 244 MaxAttempts: 20, 245 Delay: request.ConstantWaiterDelay(5 * time.Second), 246 Acceptors: []request.WaiterAcceptor{ 247 { 248 State: request.SuccessWaiterState, 249 Matcher: request.StatusWaiterMatch, 250 Expected: 200, 251 }, 252 { 253 State: request.RetryWaiterState, 254 Matcher: request.ErrorWaiterMatch, 255 Expected: "ValidationError", 256 }, 257 }, 258 Logger: c.Config.Logger, 259 NewRequest: func(opts []request.Option) (*request.Request, error) { 260 var inCpy *DescribeStacksInput 261 if input != nil { 262 tmp := *input 263 inCpy = &tmp 264 } 265 req, _ := c.DescribeStacksRequest(inCpy) 266 req.SetContext(ctx) 267 req.ApplyOptions(opts...) 268 return req, nil 269 }, 270 } 271 w.ApplyOptions(opts...) 272 273 return w.WaitWithContext(ctx) 274 } 275 276 // WaitUntilStackImportComplete uses the AWS CloudFormation API operation 277 // DescribeStacks to wait for a condition to be met before returning. 278 // If the condition is not met within the max attempt window, an error will 279 // be returned. 280 func (c *CloudFormation) WaitUntilStackImportComplete(input *DescribeStacksInput) error { 281 return c.WaitUntilStackImportCompleteWithContext(aws.BackgroundContext(), input) 282 } 283 284 // WaitUntilStackImportCompleteWithContext is an extended version of WaitUntilStackImportComplete. 285 // With the support for passing in a context and options to configure the 286 // Waiter and the underlying request options. 287 // 288 // The context must be non-nil and will be used for request cancellation. If 289 // the context is nil a panic will occur. In the future the SDK may create 290 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 291 // for more information on using Contexts. 292 func (c *CloudFormation) WaitUntilStackImportCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 293 w := request.Waiter{ 294 Name: "WaitUntilStackImportComplete", 295 MaxAttempts: 120, 296 Delay: request.ConstantWaiterDelay(30 * time.Second), 297 Acceptors: []request.WaiterAcceptor{ 298 { 299 State: request.SuccessWaiterState, 300 Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", 301 Expected: "IMPORT_COMPLETE", 302 }, 303 { 304 State: request.FailureWaiterState, 305 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 306 Expected: "ROLLBACK_COMPLETE", 307 }, 308 { 309 State: request.FailureWaiterState, 310 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 311 Expected: "ROLLBACK_FAILED", 312 }, 313 { 314 State: request.FailureWaiterState, 315 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 316 Expected: "IMPORT_ROLLBACK_IN_PROGRESS", 317 }, 318 { 319 State: request.FailureWaiterState, 320 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 321 Expected: "IMPORT_ROLLBACK_FAILED", 322 }, 323 { 324 State: request.FailureWaiterState, 325 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 326 Expected: "IMPORT_ROLLBACK_COMPLETE", 327 }, 328 { 329 State: request.FailureWaiterState, 330 Matcher: request.ErrorWaiterMatch, 331 Expected: "ValidationError", 332 }, 333 }, 334 Logger: c.Config.Logger, 335 NewRequest: func(opts []request.Option) (*request.Request, error) { 336 var inCpy *DescribeStacksInput 337 if input != nil { 338 tmp := *input 339 inCpy = &tmp 340 } 341 req, _ := c.DescribeStacksRequest(inCpy) 342 req.SetContext(ctx) 343 req.ApplyOptions(opts...) 344 return req, nil 345 }, 346 } 347 w.ApplyOptions(opts...) 348 349 return w.WaitWithContext(ctx) 350 } 351 352 // WaitUntilStackRollbackComplete uses the AWS CloudFormation API operation 353 // DescribeStacks to wait for a condition to be met before returning. 354 // If the condition is not met within the max attempt window, an error will 355 // be returned. 356 func (c *CloudFormation) WaitUntilStackRollbackComplete(input *DescribeStacksInput) error { 357 return c.WaitUntilStackRollbackCompleteWithContext(aws.BackgroundContext(), input) 358 } 359 360 // WaitUntilStackRollbackCompleteWithContext is an extended version of WaitUntilStackRollbackComplete. 361 // With the support for passing in a context and options to configure the 362 // Waiter and the underlying request options. 363 // 364 // The context must be non-nil and will be used for request cancellation. If 365 // the context is nil a panic will occur. In the future the SDK may create 366 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 367 // for more information on using Contexts. 368 func (c *CloudFormation) WaitUntilStackRollbackCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 369 w := request.Waiter{ 370 Name: "WaitUntilStackRollbackComplete", 371 MaxAttempts: 120, 372 Delay: request.ConstantWaiterDelay(30 * time.Second), 373 Acceptors: []request.WaiterAcceptor{ 374 { 375 State: request.SuccessWaiterState, 376 Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", 377 Expected: "UPDATE_ROLLBACK_COMPLETE", 378 }, 379 { 380 State: request.FailureWaiterState, 381 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 382 Expected: "UPDATE_FAILED", 383 }, 384 { 385 State: request.FailureWaiterState, 386 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 387 Expected: "UPDATE_ROLLBACK_FAILED", 388 }, 389 { 390 State: request.FailureWaiterState, 391 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 392 Expected: "DELETE_FAILED", 393 }, 394 { 395 State: request.FailureWaiterState, 396 Matcher: request.ErrorWaiterMatch, 397 Expected: "ValidationError", 398 }, 399 }, 400 Logger: c.Config.Logger, 401 NewRequest: func(opts []request.Option) (*request.Request, error) { 402 var inCpy *DescribeStacksInput 403 if input != nil { 404 tmp := *input 405 inCpy = &tmp 406 } 407 req, _ := c.DescribeStacksRequest(inCpy) 408 req.SetContext(ctx) 409 req.ApplyOptions(opts...) 410 return req, nil 411 }, 412 } 413 w.ApplyOptions(opts...) 414 415 return w.WaitWithContext(ctx) 416 } 417 418 // WaitUntilStackUpdateComplete uses the AWS CloudFormation API operation 419 // DescribeStacks to wait for a condition to be met before returning. 420 // If the condition is not met within the max attempt window, an error will 421 // be returned. 422 func (c *CloudFormation) WaitUntilStackUpdateComplete(input *DescribeStacksInput) error { 423 return c.WaitUntilStackUpdateCompleteWithContext(aws.BackgroundContext(), input) 424 } 425 426 // WaitUntilStackUpdateCompleteWithContext is an extended version of WaitUntilStackUpdateComplete. 427 // With the support for passing in a context and options to configure the 428 // Waiter and the underlying request options. 429 // 430 // The context must be non-nil and will be used for request cancellation. If 431 // the context is nil a panic will occur. In the future the SDK may create 432 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 433 // for more information on using Contexts. 434 func (c *CloudFormation) WaitUntilStackUpdateCompleteWithContext(ctx aws.Context, input *DescribeStacksInput, opts ...request.WaiterOption) error { 435 w := request.Waiter{ 436 Name: "WaitUntilStackUpdateComplete", 437 MaxAttempts: 120, 438 Delay: request.ConstantWaiterDelay(30 * time.Second), 439 Acceptors: []request.WaiterAcceptor{ 440 { 441 State: request.SuccessWaiterState, 442 Matcher: request.PathAllWaiterMatch, Argument: "Stacks[].StackStatus", 443 Expected: "UPDATE_COMPLETE", 444 }, 445 { 446 State: request.FailureWaiterState, 447 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 448 Expected: "UPDATE_FAILED", 449 }, 450 { 451 State: request.FailureWaiterState, 452 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 453 Expected: "UPDATE_ROLLBACK_FAILED", 454 }, 455 { 456 State: request.FailureWaiterState, 457 Matcher: request.PathAnyWaiterMatch, Argument: "Stacks[].StackStatus", 458 Expected: "UPDATE_ROLLBACK_COMPLETE", 459 }, 460 { 461 State: request.FailureWaiterState, 462 Matcher: request.ErrorWaiterMatch, 463 Expected: "ValidationError", 464 }, 465 }, 466 Logger: c.Config.Logger, 467 NewRequest: func(opts []request.Option) (*request.Request, error) { 468 var inCpy *DescribeStacksInput 469 if input != nil { 470 tmp := *input 471 inCpy = &tmp 472 } 473 req, _ := c.DescribeStacksRequest(inCpy) 474 req.SetContext(ctx) 475 req.ApplyOptions(opts...) 476 return req, nil 477 }, 478 } 479 w.ApplyOptions(opts...) 480 481 return w.WaitWithContext(ctx) 482 } 483 484 // WaitUntilTypeRegistrationComplete uses the AWS CloudFormation API operation 485 // DescribeTypeRegistration to wait for a condition to be met before returning. 486 // If the condition is not met within the max attempt window, an error will 487 // be returned. 488 func (c *CloudFormation) WaitUntilTypeRegistrationComplete(input *DescribeTypeRegistrationInput) error { 489 return c.WaitUntilTypeRegistrationCompleteWithContext(aws.BackgroundContext(), input) 490 } 491 492 // WaitUntilTypeRegistrationCompleteWithContext is an extended version of WaitUntilTypeRegistrationComplete. 493 // With the support for passing in a context and options to configure the 494 // Waiter and the underlying request options. 495 // 496 // The context must be non-nil and will be used for request cancellation. If 497 // the context is nil a panic will occur. In the future the SDK may create 498 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 499 // for more information on using Contexts. 500 func (c *CloudFormation) WaitUntilTypeRegistrationCompleteWithContext(ctx aws.Context, input *DescribeTypeRegistrationInput, opts ...request.WaiterOption) error { 501 w := request.Waiter{ 502 Name: "WaitUntilTypeRegistrationComplete", 503 MaxAttempts: 120, 504 Delay: request.ConstantWaiterDelay(30 * time.Second), 505 Acceptors: []request.WaiterAcceptor{ 506 { 507 State: request.SuccessWaiterState, 508 Matcher: request.PathWaiterMatch, Argument: "ProgressStatus", 509 Expected: "COMPLETE", 510 }, 511 { 512 State: request.FailureWaiterState, 513 Matcher: request.PathWaiterMatch, Argument: "ProgressStatus", 514 Expected: "FAILED", 515 }, 516 }, 517 Logger: c.Config.Logger, 518 NewRequest: func(opts []request.Option) (*request.Request, error) { 519 var inCpy *DescribeTypeRegistrationInput 520 if input != nil { 521 tmp := *input 522 inCpy = &tmp 523 } 524 req, _ := c.DescribeTypeRegistrationRequest(inCpy) 525 req.SetContext(ctx) 526 req.ApplyOptions(opts...) 527 return req, nil 528 }, 529 } 530 w.ApplyOptions(opts...) 531 532 return w.WaitWithContext(ctx) 533 }