| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
- package elastictranscoder
- import (
- "time"
- "github.com/aws/aws-sdk-go/aws"
- "github.com/aws/aws-sdk-go/aws/request"
- )
- // WaitUntilJobComplete uses the Amazon Elastic Transcoder API operation
- // ReadJob to wait for a condition to be met before returning.
- // If the condition is not met within the max attempt window, an error will
- // be returned.
- func (c *ElasticTranscoder) WaitUntilJobComplete(input *ReadJobInput) error {
- return c.WaitUntilJobCompleteWithContext(aws.BackgroundContext(), input)
- }
- // WaitUntilJobCompleteWithContext is an extended version of WaitUntilJobComplete.
- // With the support for passing in a context and options to configure the
- // Waiter and the underlying request options.
- //
- // The context must be non-nil and will be used for request cancellation. If
- // the context is nil a panic will occur. In the future the SDK may create
- // sub-contexts for http.Requests. See https://golang.org/pkg/context/
- // for more information on using Contexts.
- func (c *ElasticTranscoder) WaitUntilJobCompleteWithContext(ctx aws.Context, input *ReadJobInput, opts ...request.WaiterOption) error {
- w := request.Waiter{
- Name: "WaitUntilJobComplete",
- MaxAttempts: 120,
- Delay: request.ConstantWaiterDelay(30 * time.Second),
- Acceptors: []request.WaiterAcceptor{
- {
- State: request.SuccessWaiterState,
- Matcher: request.PathWaiterMatch, Argument: "Job.Status",
- Expected: "Complete",
- },
- {
- State: request.FailureWaiterState,
- Matcher: request.PathWaiterMatch, Argument: "Job.Status",
- Expected: "Canceled",
- },
- {
- State: request.FailureWaiterState,
- Matcher: request.PathWaiterMatch, Argument: "Job.Status",
- Expected: "Error",
- },
- },
- Logger: c.Config.Logger,
- NewRequest: func(opts []request.Option) (*request.Request, error) {
- var inCpy *ReadJobInput
- if input != nil {
- tmp := *input
- inCpy = &tmp
- }
- req, _ := c.ReadJobRequest(inCpy)
- req.SetContext(ctx)
- req.ApplyOptions(opts...)
- return req, nil
- },
- }
- w.ApplyOptions(opts...)
- return w.WaitWithContext(ctx)
- }
|