1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package sagemaker 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/sagemaker/types" 11 "github.com/aws/smithy-go/middleware" 12 smithyhttp "github.com/aws/smithy-go/transport/http" 13 "time" 14) 15 16// Lists transform jobs. 17func (c *Client) ListTransformJobs(ctx context.Context, params *ListTransformJobsInput, optFns ...func(*Options)) (*ListTransformJobsOutput, error) { 18 if params == nil { 19 params = &ListTransformJobsInput{} 20 } 21 22 result, metadata, err := c.invokeOperation(ctx, "ListTransformJobs", params, optFns, addOperationListTransformJobsMiddlewares) 23 if err != nil { 24 return nil, err 25 } 26 27 out := result.(*ListTransformJobsOutput) 28 out.ResultMetadata = metadata 29 return out, nil 30} 31 32type ListTransformJobsInput struct { 33 34 // A filter that returns only transform jobs created after the specified time. 35 CreationTimeAfter *time.Time 36 37 // A filter that returns only transform jobs created before the specified time. 38 CreationTimeBefore *time.Time 39 40 // A filter that returns only transform jobs modified after the specified time. 41 LastModifiedTimeAfter *time.Time 42 43 // A filter that returns only transform jobs modified before the specified time. 44 LastModifiedTimeBefore *time.Time 45 46 // The maximum number of transform jobs to return in the response. The default 47 // value is 10. 48 MaxResults *int32 49 50 // A string in the transform job name. This filter returns only transform jobs 51 // whose name contains the specified string. 52 NameContains *string 53 54 // If the result of the previous ListTransformJobs request was truncated, the 55 // response includes a NextToken. To retrieve the next set of transform jobs, use 56 // the token in the next request. 57 NextToken *string 58 59 // The field to sort results by. The default is CreationTime. 60 SortBy types.SortBy 61 62 // The sort order for results. The default is Descending. 63 SortOrder types.SortOrder 64 65 // A filter that retrieves only transform jobs with a specific status. 66 StatusEquals types.TransformJobStatus 67} 68 69type ListTransformJobsOutput struct { 70 71 // An array of TransformJobSummary objects. 72 // 73 // This member is required. 74 TransformJobSummaries []types.TransformJobSummary 75 76 // If the response is truncated, Amazon SageMaker returns this token. To retrieve 77 // the next set of transform jobs, use it in the next request. 78 NextToken *string 79 80 // Metadata pertaining to the operation's result. 81 ResultMetadata middleware.Metadata 82} 83 84func addOperationListTransformJobsMiddlewares(stack *middleware.Stack, options Options) (err error) { 85 err = stack.Serialize.Add(&awsAwsjson11_serializeOpListTransformJobs{}, middleware.After) 86 if err != nil { 87 return err 88 } 89 err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListTransformJobs{}, middleware.After) 90 if err != nil { 91 return err 92 } 93 if err = addSetLoggerMiddleware(stack, options); err != nil { 94 return err 95 } 96 if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { 97 return err 98 } 99 if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { 100 return err 101 } 102 if err = addResolveEndpointMiddleware(stack, options); err != nil { 103 return err 104 } 105 if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { 106 return err 107 } 108 if err = addRetryMiddlewares(stack, options); err != nil { 109 return err 110 } 111 if err = addHTTPSignerV4Middleware(stack, options); err != nil { 112 return err 113 } 114 if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { 115 return err 116 } 117 if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { 118 return err 119 } 120 if err = addClientUserAgent(stack); err != nil { 121 return err 122 } 123 if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { 124 return err 125 } 126 if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { 127 return err 128 } 129 if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListTransformJobs(options.Region), middleware.Before); err != nil { 130 return err 131 } 132 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 133 return err 134 } 135 if err = addResponseErrorMiddleware(stack); err != nil { 136 return err 137 } 138 if err = addRequestResponseLogging(stack, options); err != nil { 139 return err 140 } 141 return nil 142} 143 144// ListTransformJobsAPIClient is a client that implements the ListTransformJobs 145// operation. 146type ListTransformJobsAPIClient interface { 147 ListTransformJobs(context.Context, *ListTransformJobsInput, ...func(*Options)) (*ListTransformJobsOutput, error) 148} 149 150var _ ListTransformJobsAPIClient = (*Client)(nil) 151 152// ListTransformJobsPaginatorOptions is the paginator options for ListTransformJobs 153type ListTransformJobsPaginatorOptions struct { 154 // The maximum number of transform jobs to return in the response. The default 155 // value is 10. 156 Limit int32 157 158 // Set to true if pagination should stop if the service returns a pagination token 159 // that matches the most recent token provided to the service. 160 StopOnDuplicateToken bool 161} 162 163// ListTransformJobsPaginator is a paginator for ListTransformJobs 164type ListTransformJobsPaginator struct { 165 options ListTransformJobsPaginatorOptions 166 client ListTransformJobsAPIClient 167 params *ListTransformJobsInput 168 nextToken *string 169 firstPage bool 170} 171 172// NewListTransformJobsPaginator returns a new ListTransformJobsPaginator 173func NewListTransformJobsPaginator(client ListTransformJobsAPIClient, params *ListTransformJobsInput, optFns ...func(*ListTransformJobsPaginatorOptions)) *ListTransformJobsPaginator { 174 options := ListTransformJobsPaginatorOptions{} 175 if params.MaxResults != nil { 176 options.Limit = *params.MaxResults 177 } 178 179 for _, fn := range optFns { 180 fn(&options) 181 } 182 183 if params == nil { 184 params = &ListTransformJobsInput{} 185 } 186 187 return &ListTransformJobsPaginator{ 188 options: options, 189 client: client, 190 params: params, 191 firstPage: true, 192 } 193} 194 195// HasMorePages returns a boolean indicating whether more pages are available 196func (p *ListTransformJobsPaginator) HasMorePages() bool { 197 return p.firstPage || p.nextToken != nil 198} 199 200// NextPage retrieves the next ListTransformJobs page. 201func (p *ListTransformJobsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListTransformJobsOutput, error) { 202 if !p.HasMorePages() { 203 return nil, fmt.Errorf("no more pages available") 204 } 205 206 params := *p.params 207 params.NextToken = p.nextToken 208 209 var limit *int32 210 if p.options.Limit > 0 { 211 limit = &p.options.Limit 212 } 213 params.MaxResults = limit 214 215 result, err := p.client.ListTransformJobs(ctx, ¶ms, optFns...) 216 if err != nil { 217 return nil, err 218 } 219 p.firstPage = false 220 221 prevToken := p.nextToken 222 p.nextToken = result.NextToken 223 224 if p.options.StopOnDuplicateToken && prevToken != nil && p.nextToken != nil && *prevToken == *p.nextToken { 225 p.nextToken = nil 226 } 227 228 return result, nil 229} 230 231func newServiceMetadataMiddleware_opListTransformJobs(region string) *awsmiddleware.RegisterServiceMetadata { 232 return &awsmiddleware.RegisterServiceMetadata{ 233 Region: region, 234 ServiceID: ServiceID, 235 SigningName: "sagemaker", 236 OperationName: "ListTransformJobs", 237 } 238} 239