1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package transcribe 4 5import ( 6 "context" 7 "fmt" 8 awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" 9 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" 10 "github.com/aws/aws-sdk-go-v2/service/transcribe/types" 11 "github.com/aws/smithy-go/middleware" 12 smithyhttp "github.com/aws/smithy-go/transport/http" 13) 14 15// List call analytics jobs with a specified status or substring that matches their 16// names. 17func (c *Client) ListCallAnalyticsJobs(ctx context.Context, params *ListCallAnalyticsJobsInput, optFns ...func(*Options)) (*ListCallAnalyticsJobsOutput, error) { 18 if params == nil { 19 params = &ListCallAnalyticsJobsInput{} 20 } 21 22 result, metadata, err := c.invokeOperation(ctx, "ListCallAnalyticsJobs", params, optFns, c.addOperationListCallAnalyticsJobsMiddlewares) 23 if err != nil { 24 return nil, err 25 } 26 27 out := result.(*ListCallAnalyticsJobsOutput) 28 out.ResultMetadata = metadata 29 return out, nil 30} 31 32type ListCallAnalyticsJobsInput struct { 33 34 // When specified, the jobs returned in the list are limited to jobs whose name 35 // contains the specified string. 36 JobNameContains *string 37 38 // The maximum number of call analytics jobs to return in each page of results. If 39 // there are fewer results than the value you specify, only the actual results are 40 // returned. If you do not specify a value, the default of 5 is used. 41 MaxResults *int32 42 43 // If you receive a truncated result in the previous request of , include NextToken 44 // to fetch the next set of jobs. 45 NextToken *string 46 47 // When specified, returns only call analytics jobs with the specified status. Jobs 48 // are ordered by creation date, with the most recent jobs returned first. If you 49 // don't specify a status, Amazon Transcribe returns all analytics jobs ordered by 50 // creation date. 51 Status types.CallAnalyticsJobStatus 52 53 noSmithyDocumentSerde 54} 55 56type ListCallAnalyticsJobsOutput struct { 57 58 // A list of objects containing summary information for a transcription job. 59 CallAnalyticsJobSummaries []types.CallAnalyticsJobSummary 60 61 // The operation returns a page of jobs at a time. The maximum size of the page is 62 // set by the MaxResults parameter. If there are more jobs in the list than the 63 // page size, Amazon Transcribe returns the NextPage token. Include the token in 64 // your next request to the operation to return next page of jobs. 65 NextToken *string 66 67 // When specified, returns only call analytics jobs with that status. Jobs are 68 // ordered by creation date, with the most recent jobs returned first. If you don't 69 // specify a status, Amazon Transcribe returns all transcription jobs ordered by 70 // creation date. 71 Status types.CallAnalyticsJobStatus 72 73 // Metadata pertaining to the operation's result. 74 ResultMetadata middleware.Metadata 75 76 noSmithyDocumentSerde 77} 78 79func (c *Client) addOperationListCallAnalyticsJobsMiddlewares(stack *middleware.Stack, options Options) (err error) { 80 err = stack.Serialize.Add(&awsAwsjson11_serializeOpListCallAnalyticsJobs{}, middleware.After) 81 if err != nil { 82 return err 83 } 84 err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListCallAnalyticsJobs{}, middleware.After) 85 if err != nil { 86 return err 87 } 88 if err = addSetLoggerMiddleware(stack, options); err != nil { 89 return err 90 } 91 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 92 return err 93 } 94 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 95 return err 96 } 97 if err = addResolveEndpointMiddleware(stack, options); err != nil { 98 return err 99 } 100 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 101 return err 102 } 103 if err = addRetryMiddlewares(stack, options); err != nil { 104 return err 105 } 106 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 107 return err 108 } 109 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 110 return err 111 } 112 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 113 return err 114 } 115 if err = addClientUserAgent(stack); err != nil { 116 return err 117 } 118 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 119 return err 120 } 121 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 122 return err 123 } 124 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListCallAnalyticsJobs(options.Region), middleware.Before); err != nil { 125 return err 126 } 127 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 128 return err 129 } 130 if err = addResponseErrorMiddleware(stack); err != nil { 131 return err 132 } 133 if err = addRequestResponseLogging(stack, options); err != nil { 134 return err 135 } 136 return nil 137} 138 139// ListCallAnalyticsJobsAPIClient is a client that implements the 140// ListCallAnalyticsJobs operation. 141type ListCallAnalyticsJobsAPIClient interface { 142 ListCallAnalyticsJobs(context.Context, *ListCallAnalyticsJobsInput, ...func(*Options)) (*ListCallAnalyticsJobsOutput, error) 143} 144 145var _ ListCallAnalyticsJobsAPIClient = (*Client)(nil) 146 147// ListCallAnalyticsJobsPaginatorOptions is the paginator options for 148// ListCallAnalyticsJobs 149type ListCallAnalyticsJobsPaginatorOptions struct { 150 // The maximum number of call analytics jobs to return in each page of results. If 151 // there are fewer results than the value you specify, only the actual results are 152 // returned. If you do not specify a value, the default of 5 is used. 153 Limit int32 154 155 // Set to true if pagination should stop if the service returns a pagination token 156 // that matches the most recent token provided to the service. 157 StopOnDuplicateToken bool 158} 159 160// ListCallAnalyticsJobsPaginator is a paginator for ListCallAnalyticsJobs 161type ListCallAnalyticsJobsPaginator struct { 162 options ListCallAnalyticsJobsPaginatorOptions 163 client ListCallAnalyticsJobsAPIClient 164 params *ListCallAnalyticsJobsInput 165 nextToken *string 166 firstPage bool 167} 168 169// NewListCallAnalyticsJobsPaginator returns a new ListCallAnalyticsJobsPaginator 170func NewListCallAnalyticsJobsPaginator(client ListCallAnalyticsJobsAPIClient, params *ListCallAnalyticsJobsInput, optFns ...func(*ListCallAnalyticsJobsPaginatorOptions)) *ListCallAnalyticsJobsPaginator { 171 if params == nil { 172 params = &ListCallAnalyticsJobsInput{} 173 } 174 175 options := ListCallAnalyticsJobsPaginatorOptions{} 176 if params.MaxResults != nil { 177 options.Limit = *params.MaxResults 178 } 179 180 for _, fn := range optFns { 181 fn(&options) 182 } 183 184 return &ListCallAnalyticsJobsPaginator{ 185 options: options, 186 client: client, 187 params: params, 188 firstPage: true, 189 } 190} 191 192// HasMorePages returns a boolean indicating whether more pages are available 193func (p *ListCallAnalyticsJobsPaginator) HasMorePages() bool { 194 return p.firstPage || p.nextToken != nil 195} 196 197// NextPage retrieves the next ListCallAnalyticsJobs page. 198func (p *ListCallAnalyticsJobsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListCallAnalyticsJobsOutput, error) { 199 if !p.HasMorePages() { 200 return nil, fmt.Errorf("no more pages available") 201 } 202 203 params := *p.params 204 params.NextToken = p.nextToken 205 206 var limit *int32 207 if p.options.Limit > 0 { 208 limit = &p.options.Limit 209 } 210 params.MaxResults = limit 211 212 result, err := p.client.ListCallAnalyticsJobs(ctx, ¶ms, optFns...) 213 if err != nil { 214 return nil, err 215 } 216 p.firstPage = false 217 218 prevToken := p.nextToken 219 p.nextToken = result.NextToken 220 221 if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { 222 p.nextToken = nil 223 } 224 225 return result, nil 226} 227 228func newServiceMetadataMiddleware_opListCallAnalyticsJobs(region string) *awsmiddleware.RegisterServiceMetadata { 229 return &awsmiddleware.RegisterServiceMetadata{ 230 Region: region, 231 ServiceID: ServiceID, 232 SigningName: "transcribe", 233 OperationName: "ListCallAnalyticsJobs", 234 } 235} 236