1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package frauddetector
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
13)
14
15const opBatchCreateVariable = "BatchCreateVariable"
16
17// BatchCreateVariableRequest generates a "aws/request.Request" representing the
18// client's request for the BatchCreateVariable operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See BatchCreateVariable for more information on using the BatchCreateVariable
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the BatchCreateVariableRequest method.
33//    req, resp := client.BatchCreateVariableRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable
41func (c *FraudDetector) BatchCreateVariableRequest(input *BatchCreateVariableInput) (req *request.Request, output *BatchCreateVariableOutput) {
42	op := &request.Operation{
43		Name:       opBatchCreateVariable,
44		HTTPMethod: "POST",
45		HTTPPath:   "/",
46	}
47
48	if input == nil {
49		input = &BatchCreateVariableInput{}
50	}
51
52	output = &BatchCreateVariableOutput{}
53	req = c.newRequest(op, input, output)
54	return
55}
56
57// BatchCreateVariable API operation for Amazon Fraud Detector.
58//
59// Creates a batch of variables.
60//
61// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
62// with awserr.Error's Code and Message methods to get detailed information about
63// the error.
64//
65// See the AWS API reference guide for Amazon Fraud Detector's
66// API operation BatchCreateVariable for usage and error information.
67//
68// Returned Error Codes:
69//   * ErrCodeValidationException "ValidationException"
70//   An exception indicating a specified value is not allowed.
71//
72//   * ErrCodeInternalServerException "InternalServerException"
73//   An exception indicating an internal server error.
74//
75//   * ErrCodeThrottlingException "ThrottlingException"
76//   An exception indicating a throttling error.
77//
78// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchCreateVariable
79func (c *FraudDetector) BatchCreateVariable(input *BatchCreateVariableInput) (*BatchCreateVariableOutput, error) {
80	req, out := c.BatchCreateVariableRequest(input)
81	return out, req.Send()
82}
83
84// BatchCreateVariableWithContext is the same as BatchCreateVariable with the addition of
85// the ability to pass a context and additional request options.
86//
87// See BatchCreateVariable for details on how to use this API operation.
88//
89// The context must be non-nil and will be used for request cancellation. If
90// the context is nil a panic will occur. In the future the SDK may create
91// sub-contexts for http.Requests. See https://golang.org/pkg/context/
92// for more information on using Contexts.
93func (c *FraudDetector) BatchCreateVariableWithContext(ctx aws.Context, input *BatchCreateVariableInput, opts ...request.Option) (*BatchCreateVariableOutput, error) {
94	req, out := c.BatchCreateVariableRequest(input)
95	req.SetContext(ctx)
96	req.ApplyOptions(opts...)
97	return out, req.Send()
98}
99
100const opBatchGetVariable = "BatchGetVariable"
101
102// BatchGetVariableRequest generates a "aws/request.Request" representing the
103// client's request for the BatchGetVariable operation. The "output" return
104// value will be populated with the request's response once the request completes
105// successfully.
106//
107// Use "Send" method on the returned Request to send the API call to the service.
108// the "output" return value is not valid until after Send returns without error.
109//
110// See BatchGetVariable for more information on using the BatchGetVariable
111// API call, and error handling.
112//
113// This method is useful when you want to inject custom logic or configuration
114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
115//
116//
117//    // Example sending a request using the BatchGetVariableRequest method.
118//    req, resp := client.BatchGetVariableRequest(params)
119//
120//    err := req.Send()
121//    if err == nil { // resp is now filled
122//        fmt.Println(resp)
123//    }
124//
125// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable
126func (c *FraudDetector) BatchGetVariableRequest(input *BatchGetVariableInput) (req *request.Request, output *BatchGetVariableOutput) {
127	op := &request.Operation{
128		Name:       opBatchGetVariable,
129		HTTPMethod: "POST",
130		HTTPPath:   "/",
131	}
132
133	if input == nil {
134		input = &BatchGetVariableInput{}
135	}
136
137	output = &BatchGetVariableOutput{}
138	req = c.newRequest(op, input, output)
139	return
140}
141
142// BatchGetVariable API operation for Amazon Fraud Detector.
143//
144// Gets a batch of variables.
145//
146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
147// with awserr.Error's Code and Message methods to get detailed information about
148// the error.
149//
150// See the AWS API reference guide for Amazon Fraud Detector's
151// API operation BatchGetVariable for usage and error information.
152//
153// Returned Error Codes:
154//   * ErrCodeValidationException "ValidationException"
155//   An exception indicating a specified value is not allowed.
156//
157//   * ErrCodeInternalServerException "InternalServerException"
158//   An exception indicating an internal server error.
159//
160//   * ErrCodeThrottlingException "ThrottlingException"
161//   An exception indicating a throttling error.
162//
163// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/BatchGetVariable
164func (c *FraudDetector) BatchGetVariable(input *BatchGetVariableInput) (*BatchGetVariableOutput, error) {
165	req, out := c.BatchGetVariableRequest(input)
166	return out, req.Send()
167}
168
169// BatchGetVariableWithContext is the same as BatchGetVariable with the addition of
170// the ability to pass a context and additional request options.
171//
172// See BatchGetVariable for details on how to use this API operation.
173//
174// The context must be non-nil and will be used for request cancellation. If
175// the context is nil a panic will occur. In the future the SDK may create
176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
177// for more information on using Contexts.
178func (c *FraudDetector) BatchGetVariableWithContext(ctx aws.Context, input *BatchGetVariableInput, opts ...request.Option) (*BatchGetVariableOutput, error) {
179	req, out := c.BatchGetVariableRequest(input)
180	req.SetContext(ctx)
181	req.ApplyOptions(opts...)
182	return out, req.Send()
183}
184
185const opCreateDetectorVersion = "CreateDetectorVersion"
186
187// CreateDetectorVersionRequest generates a "aws/request.Request" representing the
188// client's request for the CreateDetectorVersion operation. The "output" return
189// value will be populated with the request's response once the request completes
190// successfully.
191//
192// Use "Send" method on the returned Request to send the API call to the service.
193// the "output" return value is not valid until after Send returns without error.
194//
195// See CreateDetectorVersion for more information on using the CreateDetectorVersion
196// API call, and error handling.
197//
198// This method is useful when you want to inject custom logic or configuration
199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
200//
201//
202//    // Example sending a request using the CreateDetectorVersionRequest method.
203//    req, resp := client.CreateDetectorVersionRequest(params)
204//
205//    err := req.Send()
206//    if err == nil { // resp is now filled
207//        fmt.Println(resp)
208//    }
209//
210// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion
211func (c *FraudDetector) CreateDetectorVersionRequest(input *CreateDetectorVersionInput) (req *request.Request, output *CreateDetectorVersionOutput) {
212	op := &request.Operation{
213		Name:       opCreateDetectorVersion,
214		HTTPMethod: "POST",
215		HTTPPath:   "/",
216	}
217
218	if input == nil {
219		input = &CreateDetectorVersionInput{}
220	}
221
222	output = &CreateDetectorVersionOutput{}
223	req = c.newRequest(op, input, output)
224	return
225}
226
227// CreateDetectorVersion API operation for Amazon Fraud Detector.
228//
229// Creates a detector version. The detector version starts in a DRAFT status.
230//
231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
232// with awserr.Error's Code and Message methods to get detailed information about
233// the error.
234//
235// See the AWS API reference guide for Amazon Fraud Detector's
236// API operation CreateDetectorVersion for usage and error information.
237//
238// Returned Error Codes:
239//   * ErrCodeValidationException "ValidationException"
240//   An exception indicating a specified value is not allowed.
241//
242//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
243//   An exception indicating the specified resource was not found.
244//
245//   * ErrCodeInternalServerException "InternalServerException"
246//   An exception indicating an internal server error.
247//
248//   * ErrCodeThrottlingException "ThrottlingException"
249//   An exception indicating a throttling error.
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateDetectorVersion
252func (c *FraudDetector) CreateDetectorVersion(input *CreateDetectorVersionInput) (*CreateDetectorVersionOutput, error) {
253	req, out := c.CreateDetectorVersionRequest(input)
254	return out, req.Send()
255}
256
257// CreateDetectorVersionWithContext is the same as CreateDetectorVersion with the addition of
258// the ability to pass a context and additional request options.
259//
260// See CreateDetectorVersion for details on how to use this API operation.
261//
262// The context must be non-nil and will be used for request cancellation. If
263// the context is nil a panic will occur. In the future the SDK may create
264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
265// for more information on using Contexts.
266func (c *FraudDetector) CreateDetectorVersionWithContext(ctx aws.Context, input *CreateDetectorVersionInput, opts ...request.Option) (*CreateDetectorVersionOutput, error) {
267	req, out := c.CreateDetectorVersionRequest(input)
268	req.SetContext(ctx)
269	req.ApplyOptions(opts...)
270	return out, req.Send()
271}
272
273const opCreateModelVersion = "CreateModelVersion"
274
275// CreateModelVersionRequest generates a "aws/request.Request" representing the
276// client's request for the CreateModelVersion operation. The "output" return
277// value will be populated with the request's response once the request completes
278// successfully.
279//
280// Use "Send" method on the returned Request to send the API call to the service.
281// the "output" return value is not valid until after Send returns without error.
282//
283// See CreateModelVersion for more information on using the CreateModelVersion
284// API call, and error handling.
285//
286// This method is useful when you want to inject custom logic or configuration
287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
288//
289//
290//    // Example sending a request using the CreateModelVersionRequest method.
291//    req, resp := client.CreateModelVersionRequest(params)
292//
293//    err := req.Send()
294//    if err == nil { // resp is now filled
295//        fmt.Println(resp)
296//    }
297//
298// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion
299func (c *FraudDetector) CreateModelVersionRequest(input *CreateModelVersionInput) (req *request.Request, output *CreateModelVersionOutput) {
300	op := &request.Operation{
301		Name:       opCreateModelVersion,
302		HTTPMethod: "POST",
303		HTTPPath:   "/",
304	}
305
306	if input == nil {
307		input = &CreateModelVersionInput{}
308	}
309
310	output = &CreateModelVersionOutput{}
311	req = c.newRequest(op, input, output)
312	return
313}
314
315// CreateModelVersion API operation for Amazon Fraud Detector.
316//
317// Creates a version of the model using the specified model type.
318//
319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
320// with awserr.Error's Code and Message methods to get detailed information about
321// the error.
322//
323// See the AWS API reference guide for Amazon Fraud Detector's
324// API operation CreateModelVersion for usage and error information.
325//
326// Returned Error Codes:
327//   * ErrCodeValidationException "ValidationException"
328//   An exception indicating a specified value is not allowed.
329//
330//   * ErrCodeInternalServerException "InternalServerException"
331//   An exception indicating an internal server error.
332//
333//   * ErrCodeThrottlingException "ThrottlingException"
334//   An exception indicating a throttling error.
335//
336// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateModelVersion
337func (c *FraudDetector) CreateModelVersion(input *CreateModelVersionInput) (*CreateModelVersionOutput, error) {
338	req, out := c.CreateModelVersionRequest(input)
339	return out, req.Send()
340}
341
342// CreateModelVersionWithContext is the same as CreateModelVersion with the addition of
343// the ability to pass a context and additional request options.
344//
345// See CreateModelVersion for details on how to use this API operation.
346//
347// The context must be non-nil and will be used for request cancellation. If
348// the context is nil a panic will occur. In the future the SDK may create
349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
350// for more information on using Contexts.
351func (c *FraudDetector) CreateModelVersionWithContext(ctx aws.Context, input *CreateModelVersionInput, opts ...request.Option) (*CreateModelVersionOutput, error) {
352	req, out := c.CreateModelVersionRequest(input)
353	req.SetContext(ctx)
354	req.ApplyOptions(opts...)
355	return out, req.Send()
356}
357
358const opCreateRule = "CreateRule"
359
360// CreateRuleRequest generates a "aws/request.Request" representing the
361// client's request for the CreateRule operation. The "output" return
362// value will be populated with the request's response once the request completes
363// successfully.
364//
365// Use "Send" method on the returned Request to send the API call to the service.
366// the "output" return value is not valid until after Send returns without error.
367//
368// See CreateRule for more information on using the CreateRule
369// API call, and error handling.
370//
371// This method is useful when you want to inject custom logic or configuration
372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
373//
374//
375//    // Example sending a request using the CreateRuleRequest method.
376//    req, resp := client.CreateRuleRequest(params)
377//
378//    err := req.Send()
379//    if err == nil { // resp is now filled
380//        fmt.Println(resp)
381//    }
382//
383// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule
384func (c *FraudDetector) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, output *CreateRuleOutput) {
385	op := &request.Operation{
386		Name:       opCreateRule,
387		HTTPMethod: "POST",
388		HTTPPath:   "/",
389	}
390
391	if input == nil {
392		input = &CreateRuleInput{}
393	}
394
395	output = &CreateRuleOutput{}
396	req = c.newRequest(op, input, output)
397	return
398}
399
400// CreateRule API operation for Amazon Fraud Detector.
401//
402// Creates a rule for use with the specified detector.
403//
404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
405// with awserr.Error's Code and Message methods to get detailed information about
406// the error.
407//
408// See the AWS API reference guide for Amazon Fraud Detector's
409// API operation CreateRule for usage and error information.
410//
411// Returned Error Codes:
412//   * ErrCodeValidationException "ValidationException"
413//   An exception indicating a specified value is not allowed.
414//
415//   * ErrCodeInternalServerException "InternalServerException"
416//   An exception indicating an internal server error.
417//
418//   * ErrCodeThrottlingException "ThrottlingException"
419//   An exception indicating a throttling error.
420//
421// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateRule
422func (c *FraudDetector) CreateRule(input *CreateRuleInput) (*CreateRuleOutput, error) {
423	req, out := c.CreateRuleRequest(input)
424	return out, req.Send()
425}
426
427// CreateRuleWithContext is the same as CreateRule with the addition of
428// the ability to pass a context and additional request options.
429//
430// See CreateRule for details on how to use this API operation.
431//
432// The context must be non-nil and will be used for request cancellation. If
433// the context is nil a panic will occur. In the future the SDK may create
434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
435// for more information on using Contexts.
436func (c *FraudDetector) CreateRuleWithContext(ctx aws.Context, input *CreateRuleInput, opts ...request.Option) (*CreateRuleOutput, error) {
437	req, out := c.CreateRuleRequest(input)
438	req.SetContext(ctx)
439	req.ApplyOptions(opts...)
440	return out, req.Send()
441}
442
443const opCreateVariable = "CreateVariable"
444
445// CreateVariableRequest generates a "aws/request.Request" representing the
446// client's request for the CreateVariable operation. The "output" return
447// value will be populated with the request's response once the request completes
448// successfully.
449//
450// Use "Send" method on the returned Request to send the API call to the service.
451// the "output" return value is not valid until after Send returns without error.
452//
453// See CreateVariable for more information on using the CreateVariable
454// API call, and error handling.
455//
456// This method is useful when you want to inject custom logic or configuration
457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
458//
459//
460//    // Example sending a request using the CreateVariableRequest method.
461//    req, resp := client.CreateVariableRequest(params)
462//
463//    err := req.Send()
464//    if err == nil { // resp is now filled
465//        fmt.Println(resp)
466//    }
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable
469func (c *FraudDetector) CreateVariableRequest(input *CreateVariableInput) (req *request.Request, output *CreateVariableOutput) {
470	op := &request.Operation{
471		Name:       opCreateVariable,
472		HTTPMethod: "POST",
473		HTTPPath:   "/",
474	}
475
476	if input == nil {
477		input = &CreateVariableInput{}
478	}
479
480	output = &CreateVariableOutput{}
481	req = c.newRequest(op, input, output)
482	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
483	return
484}
485
486// CreateVariable API operation for Amazon Fraud Detector.
487//
488// Creates a variable.
489//
490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
491// with awserr.Error's Code and Message methods to get detailed information about
492// the error.
493//
494// See the AWS API reference guide for Amazon Fraud Detector's
495// API operation CreateVariable for usage and error information.
496//
497// Returned Error Codes:
498//   * ErrCodeValidationException "ValidationException"
499//   An exception indicating a specified value is not allowed.
500//
501//   * ErrCodeInternalServerException "InternalServerException"
502//   An exception indicating an internal server error.
503//
504//   * ErrCodeThrottlingException "ThrottlingException"
505//   An exception indicating a throttling error.
506//
507// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/CreateVariable
508func (c *FraudDetector) CreateVariable(input *CreateVariableInput) (*CreateVariableOutput, error) {
509	req, out := c.CreateVariableRequest(input)
510	return out, req.Send()
511}
512
513// CreateVariableWithContext is the same as CreateVariable with the addition of
514// the ability to pass a context and additional request options.
515//
516// See CreateVariable for details on how to use this API operation.
517//
518// The context must be non-nil and will be used for request cancellation. If
519// the context is nil a panic will occur. In the future the SDK may create
520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
521// for more information on using Contexts.
522func (c *FraudDetector) CreateVariableWithContext(ctx aws.Context, input *CreateVariableInput, opts ...request.Option) (*CreateVariableOutput, error) {
523	req, out := c.CreateVariableRequest(input)
524	req.SetContext(ctx)
525	req.ApplyOptions(opts...)
526	return out, req.Send()
527}
528
529const opDeleteDetectorVersion = "DeleteDetectorVersion"
530
531// DeleteDetectorVersionRequest generates a "aws/request.Request" representing the
532// client's request for the DeleteDetectorVersion operation. The "output" return
533// value will be populated with the request's response once the request completes
534// successfully.
535//
536// Use "Send" method on the returned Request to send the API call to the service.
537// the "output" return value is not valid until after Send returns without error.
538//
539// See DeleteDetectorVersion for more information on using the DeleteDetectorVersion
540// API call, and error handling.
541//
542// This method is useful when you want to inject custom logic or configuration
543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
544//
545//
546//    // Example sending a request using the DeleteDetectorVersionRequest method.
547//    req, resp := client.DeleteDetectorVersionRequest(params)
548//
549//    err := req.Send()
550//    if err == nil { // resp is now filled
551//        fmt.Println(resp)
552//    }
553//
554// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion
555func (c *FraudDetector) DeleteDetectorVersionRequest(input *DeleteDetectorVersionInput) (req *request.Request, output *DeleteDetectorVersionOutput) {
556	op := &request.Operation{
557		Name:       opDeleteDetectorVersion,
558		HTTPMethod: "POST",
559		HTTPPath:   "/",
560	}
561
562	if input == nil {
563		input = &DeleteDetectorVersionInput{}
564	}
565
566	output = &DeleteDetectorVersionOutput{}
567	req = c.newRequest(op, input, output)
568	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
569	return
570}
571
572// DeleteDetectorVersion API operation for Amazon Fraud Detector.
573//
574// Deletes the detector version.
575//
576// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
577// with awserr.Error's Code and Message methods to get detailed information about
578// the error.
579//
580// See the AWS API reference guide for Amazon Fraud Detector's
581// API operation DeleteDetectorVersion for usage and error information.
582//
583// Returned Error Codes:
584//   * ErrCodeValidationException "ValidationException"
585//   An exception indicating a specified value is not allowed.
586//
587//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
588//   An exception indicating the specified resource was not found.
589//
590//   * ErrCodeInternalServerException "InternalServerException"
591//   An exception indicating an internal server error.
592//
593//   * ErrCodeThrottlingException "ThrottlingException"
594//   An exception indicating a throttling error.
595//
596// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteDetectorVersion
597func (c *FraudDetector) DeleteDetectorVersion(input *DeleteDetectorVersionInput) (*DeleteDetectorVersionOutput, error) {
598	req, out := c.DeleteDetectorVersionRequest(input)
599	return out, req.Send()
600}
601
602// DeleteDetectorVersionWithContext is the same as DeleteDetectorVersion with the addition of
603// the ability to pass a context and additional request options.
604//
605// See DeleteDetectorVersion for details on how to use this API operation.
606//
607// The context must be non-nil and will be used for request cancellation. If
608// the context is nil a panic will occur. In the future the SDK may create
609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
610// for more information on using Contexts.
611func (c *FraudDetector) DeleteDetectorVersionWithContext(ctx aws.Context, input *DeleteDetectorVersionInput, opts ...request.Option) (*DeleteDetectorVersionOutput, error) {
612	req, out := c.DeleteDetectorVersionRequest(input)
613	req.SetContext(ctx)
614	req.ApplyOptions(opts...)
615	return out, req.Send()
616}
617
618const opDeleteEvent = "DeleteEvent"
619
620// DeleteEventRequest generates a "aws/request.Request" representing the
621// client's request for the DeleteEvent operation. The "output" return
622// value will be populated with the request's response once the request completes
623// successfully.
624//
625// Use "Send" method on the returned Request to send the API call to the service.
626// the "output" return value is not valid until after Send returns without error.
627//
628// See DeleteEvent for more information on using the DeleteEvent
629// API call, and error handling.
630//
631// This method is useful when you want to inject custom logic or configuration
632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
633//
634//
635//    // Example sending a request using the DeleteEventRequest method.
636//    req, resp := client.DeleteEventRequest(params)
637//
638//    err := req.Send()
639//    if err == nil { // resp is now filled
640//        fmt.Println(resp)
641//    }
642//
643// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent
644func (c *FraudDetector) DeleteEventRequest(input *DeleteEventInput) (req *request.Request, output *DeleteEventOutput) {
645	op := &request.Operation{
646		Name:       opDeleteEvent,
647		HTTPMethod: "POST",
648		HTTPPath:   "/",
649	}
650
651	if input == nil {
652		input = &DeleteEventInput{}
653	}
654
655	output = &DeleteEventOutput{}
656	req = c.newRequest(op, input, output)
657	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
658	return
659}
660
661// DeleteEvent API operation for Amazon Fraud Detector.
662//
663// Deletes the specified event.
664//
665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
666// with awserr.Error's Code and Message methods to get detailed information about
667// the error.
668//
669// See the AWS API reference guide for Amazon Fraud Detector's
670// API operation DeleteEvent for usage and error information.
671//
672// Returned Error Codes:
673//   * ErrCodeInternalServerException "InternalServerException"
674//   An exception indicating an internal server error.
675//
676//   * ErrCodeThrottlingException "ThrottlingException"
677//   An exception indicating a throttling error.
678//
679// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DeleteEvent
680func (c *FraudDetector) DeleteEvent(input *DeleteEventInput) (*DeleteEventOutput, error) {
681	req, out := c.DeleteEventRequest(input)
682	return out, req.Send()
683}
684
685// DeleteEventWithContext is the same as DeleteEvent with the addition of
686// the ability to pass a context and additional request options.
687//
688// See DeleteEvent for details on how to use this API operation.
689//
690// The context must be non-nil and will be used for request cancellation. If
691// the context is nil a panic will occur. In the future the SDK may create
692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
693// for more information on using Contexts.
694func (c *FraudDetector) DeleteEventWithContext(ctx aws.Context, input *DeleteEventInput, opts ...request.Option) (*DeleteEventOutput, error) {
695	req, out := c.DeleteEventRequest(input)
696	req.SetContext(ctx)
697	req.ApplyOptions(opts...)
698	return out, req.Send()
699}
700
701const opDescribeDetector = "DescribeDetector"
702
703// DescribeDetectorRequest generates a "aws/request.Request" representing the
704// client's request for the DescribeDetector operation. The "output" return
705// value will be populated with the request's response once the request completes
706// successfully.
707//
708// Use "Send" method on the returned Request to send the API call to the service.
709// the "output" return value is not valid until after Send returns without error.
710//
711// See DescribeDetector for more information on using the DescribeDetector
712// API call, and error handling.
713//
714// This method is useful when you want to inject custom logic or configuration
715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
716//
717//
718//    // Example sending a request using the DescribeDetectorRequest method.
719//    req, resp := client.DescribeDetectorRequest(params)
720//
721//    err := req.Send()
722//    if err == nil { // resp is now filled
723//        fmt.Println(resp)
724//    }
725//
726// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector
727func (c *FraudDetector) DescribeDetectorRequest(input *DescribeDetectorInput) (req *request.Request, output *DescribeDetectorOutput) {
728	op := &request.Operation{
729		Name:       opDescribeDetector,
730		HTTPMethod: "POST",
731		HTTPPath:   "/",
732	}
733
734	if input == nil {
735		input = &DescribeDetectorInput{}
736	}
737
738	output = &DescribeDetectorOutput{}
739	req = c.newRequest(op, input, output)
740	return
741}
742
743// DescribeDetector API operation for Amazon Fraud Detector.
744//
745// Gets all versions for a specified detector.
746//
747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
748// with awserr.Error's Code and Message methods to get detailed information about
749// the error.
750//
751// See the AWS API reference guide for Amazon Fraud Detector's
752// API operation DescribeDetector for usage and error information.
753//
754// Returned Error Codes:
755//   * ErrCodeValidationException "ValidationException"
756//   An exception indicating a specified value is not allowed.
757//
758//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
759//   An exception indicating the specified resource was not found.
760//
761//   * ErrCodeInternalServerException "InternalServerException"
762//   An exception indicating an internal server error.
763//
764//   * ErrCodeThrottlingException "ThrottlingException"
765//   An exception indicating a throttling error.
766//
767// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeDetector
768func (c *FraudDetector) DescribeDetector(input *DescribeDetectorInput) (*DescribeDetectorOutput, error) {
769	req, out := c.DescribeDetectorRequest(input)
770	return out, req.Send()
771}
772
773// DescribeDetectorWithContext is the same as DescribeDetector with the addition of
774// the ability to pass a context and additional request options.
775//
776// See DescribeDetector for details on how to use this API operation.
777//
778// The context must be non-nil and will be used for request cancellation. If
779// the context is nil a panic will occur. In the future the SDK may create
780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
781// for more information on using Contexts.
782func (c *FraudDetector) DescribeDetectorWithContext(ctx aws.Context, input *DescribeDetectorInput, opts ...request.Option) (*DescribeDetectorOutput, error) {
783	req, out := c.DescribeDetectorRequest(input)
784	req.SetContext(ctx)
785	req.ApplyOptions(opts...)
786	return out, req.Send()
787}
788
789const opDescribeModelVersions = "DescribeModelVersions"
790
791// DescribeModelVersionsRequest generates a "aws/request.Request" representing the
792// client's request for the DescribeModelVersions operation. The "output" return
793// value will be populated with the request's response once the request completes
794// successfully.
795//
796// Use "Send" method on the returned Request to send the API call to the service.
797// the "output" return value is not valid until after Send returns without error.
798//
799// See DescribeModelVersions for more information on using the DescribeModelVersions
800// API call, and error handling.
801//
802// This method is useful when you want to inject custom logic or configuration
803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
804//
805//
806//    // Example sending a request using the DescribeModelVersionsRequest method.
807//    req, resp := client.DescribeModelVersionsRequest(params)
808//
809//    err := req.Send()
810//    if err == nil { // resp is now filled
811//        fmt.Println(resp)
812//    }
813//
814// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions
815func (c *FraudDetector) DescribeModelVersionsRequest(input *DescribeModelVersionsInput) (req *request.Request, output *DescribeModelVersionsOutput) {
816	op := &request.Operation{
817		Name:       opDescribeModelVersions,
818		HTTPMethod: "POST",
819		HTTPPath:   "/",
820		Paginator: &request.Paginator{
821			InputTokens:     []string{"nextToken"},
822			OutputTokens:    []string{"nextToken"},
823			LimitToken:      "maxResults",
824			TruncationToken: "",
825		},
826	}
827
828	if input == nil {
829		input = &DescribeModelVersionsInput{}
830	}
831
832	output = &DescribeModelVersionsOutput{}
833	req = c.newRequest(op, input, output)
834	return
835}
836
837// DescribeModelVersions API operation for Amazon Fraud Detector.
838//
839// Gets all of the model versions for the specified model type or for the specified
840// model type and model ID. You can also get details for a single, specified
841// model version.
842//
843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
844// with awserr.Error's Code and Message methods to get detailed information about
845// the error.
846//
847// See the AWS API reference guide for Amazon Fraud Detector's
848// API operation DescribeModelVersions for usage and error information.
849//
850// Returned Error Codes:
851//   * ErrCodeValidationException "ValidationException"
852//   An exception indicating a specified value is not allowed.
853//
854//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
855//   An exception indicating the specified resource was not found.
856//
857//   * ErrCodeInternalServerException "InternalServerException"
858//   An exception indicating an internal server error.
859//
860//   * ErrCodeThrottlingException "ThrottlingException"
861//   An exception indicating a throttling error.
862//
863// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/DescribeModelVersions
864func (c *FraudDetector) DescribeModelVersions(input *DescribeModelVersionsInput) (*DescribeModelVersionsOutput, error) {
865	req, out := c.DescribeModelVersionsRequest(input)
866	return out, req.Send()
867}
868
869// DescribeModelVersionsWithContext is the same as DescribeModelVersions with the addition of
870// the ability to pass a context and additional request options.
871//
872// See DescribeModelVersions for details on how to use this API operation.
873//
874// The context must be non-nil and will be used for request cancellation. If
875// the context is nil a panic will occur. In the future the SDK may create
876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
877// for more information on using Contexts.
878func (c *FraudDetector) DescribeModelVersionsWithContext(ctx aws.Context, input *DescribeModelVersionsInput, opts ...request.Option) (*DescribeModelVersionsOutput, error) {
879	req, out := c.DescribeModelVersionsRequest(input)
880	req.SetContext(ctx)
881	req.ApplyOptions(opts...)
882	return out, req.Send()
883}
884
885// DescribeModelVersionsPages iterates over the pages of a DescribeModelVersions operation,
886// calling the "fn" function with the response data for each page. To stop
887// iterating, return false from the fn function.
888//
889// See DescribeModelVersions method for more information on how to use this operation.
890//
891// Note: This operation can generate multiple requests to a service.
892//
893//    // Example iterating over at most 3 pages of a DescribeModelVersions operation.
894//    pageNum := 0
895//    err := client.DescribeModelVersionsPages(params,
896//        func(page *frauddetector.DescribeModelVersionsOutput, lastPage bool) bool {
897//            pageNum++
898//            fmt.Println(page)
899//            return pageNum <= 3
900//        })
901//
902func (c *FraudDetector) DescribeModelVersionsPages(input *DescribeModelVersionsInput, fn func(*DescribeModelVersionsOutput, bool) bool) error {
903	return c.DescribeModelVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
904}
905
906// DescribeModelVersionsPagesWithContext same as DescribeModelVersionsPages except
907// it takes a Context and allows setting request options on the pages.
908//
909// The context must be non-nil and will be used for request cancellation. If
910// the context is nil a panic will occur. In the future the SDK may create
911// sub-contexts for http.Requests. See https://golang.org/pkg/context/
912// for more information on using Contexts.
913func (c *FraudDetector) DescribeModelVersionsPagesWithContext(ctx aws.Context, input *DescribeModelVersionsInput, fn func(*DescribeModelVersionsOutput, bool) bool, opts ...request.Option) error {
914	p := request.Pagination{
915		NewRequest: func() (*request.Request, error) {
916			var inCpy *DescribeModelVersionsInput
917			if input != nil {
918				tmp := *input
919				inCpy = &tmp
920			}
921			req, _ := c.DescribeModelVersionsRequest(inCpy)
922			req.SetContext(ctx)
923			req.ApplyOptions(opts...)
924			return req, nil
925		},
926	}
927
928	for p.Next() {
929		if !fn(p.Page().(*DescribeModelVersionsOutput), !p.HasNextPage()) {
930			break
931		}
932	}
933
934	return p.Err()
935}
936
937const opGetDetectorVersion = "GetDetectorVersion"
938
939// GetDetectorVersionRequest generates a "aws/request.Request" representing the
940// client's request for the GetDetectorVersion operation. The "output" return
941// value will be populated with the request's response once the request completes
942// successfully.
943//
944// Use "Send" method on the returned Request to send the API call to the service.
945// the "output" return value is not valid until after Send returns without error.
946//
947// See GetDetectorVersion for more information on using the GetDetectorVersion
948// API call, and error handling.
949//
950// This method is useful when you want to inject custom logic or configuration
951// into the SDK's request lifecycle. Such as custom headers, or retry logic.
952//
953//
954//    // Example sending a request using the GetDetectorVersionRequest method.
955//    req, resp := client.GetDetectorVersionRequest(params)
956//
957//    err := req.Send()
958//    if err == nil { // resp is now filled
959//        fmt.Println(resp)
960//    }
961//
962// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion
963func (c *FraudDetector) GetDetectorVersionRequest(input *GetDetectorVersionInput) (req *request.Request, output *GetDetectorVersionOutput) {
964	op := &request.Operation{
965		Name:       opGetDetectorVersion,
966		HTTPMethod: "POST",
967		HTTPPath:   "/",
968	}
969
970	if input == nil {
971		input = &GetDetectorVersionInput{}
972	}
973
974	output = &GetDetectorVersionOutput{}
975	req = c.newRequest(op, input, output)
976	return
977}
978
979// GetDetectorVersion API operation for Amazon Fraud Detector.
980//
981// Gets a particular detector version.
982//
983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
984// with awserr.Error's Code and Message methods to get detailed information about
985// the error.
986//
987// See the AWS API reference guide for Amazon Fraud Detector's
988// API operation GetDetectorVersion for usage and error information.
989//
990// Returned Error Codes:
991//   * ErrCodeValidationException "ValidationException"
992//   An exception indicating a specified value is not allowed.
993//
994//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
995//   An exception indicating the specified resource was not found.
996//
997//   * ErrCodeInternalServerException "InternalServerException"
998//   An exception indicating an internal server error.
999//
1000//   * ErrCodeThrottlingException "ThrottlingException"
1001//   An exception indicating a throttling error.
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectorVersion
1004func (c *FraudDetector) GetDetectorVersion(input *GetDetectorVersionInput) (*GetDetectorVersionOutput, error) {
1005	req, out := c.GetDetectorVersionRequest(input)
1006	return out, req.Send()
1007}
1008
1009// GetDetectorVersionWithContext is the same as GetDetectorVersion with the addition of
1010// the ability to pass a context and additional request options.
1011//
1012// See GetDetectorVersion for details on how to use this API operation.
1013//
1014// The context must be non-nil and will be used for request cancellation. If
1015// the context is nil a panic will occur. In the future the SDK may create
1016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1017// for more information on using Contexts.
1018func (c *FraudDetector) GetDetectorVersionWithContext(ctx aws.Context, input *GetDetectorVersionInput, opts ...request.Option) (*GetDetectorVersionOutput, error) {
1019	req, out := c.GetDetectorVersionRequest(input)
1020	req.SetContext(ctx)
1021	req.ApplyOptions(opts...)
1022	return out, req.Send()
1023}
1024
1025const opGetDetectors = "GetDetectors"
1026
1027// GetDetectorsRequest generates a "aws/request.Request" representing the
1028// client's request for the GetDetectors operation. The "output" return
1029// value will be populated with the request's response once the request completes
1030// successfully.
1031//
1032// Use "Send" method on the returned Request to send the API call to the service.
1033// the "output" return value is not valid until after Send returns without error.
1034//
1035// See GetDetectors for more information on using the GetDetectors
1036// API call, and error handling.
1037//
1038// This method is useful when you want to inject custom logic or configuration
1039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1040//
1041//
1042//    // Example sending a request using the GetDetectorsRequest method.
1043//    req, resp := client.GetDetectorsRequest(params)
1044//
1045//    err := req.Send()
1046//    if err == nil { // resp is now filled
1047//        fmt.Println(resp)
1048//    }
1049//
1050// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors
1051func (c *FraudDetector) GetDetectorsRequest(input *GetDetectorsInput) (req *request.Request, output *GetDetectorsOutput) {
1052	op := &request.Operation{
1053		Name:       opGetDetectors,
1054		HTTPMethod: "POST",
1055		HTTPPath:   "/",
1056		Paginator: &request.Paginator{
1057			InputTokens:     []string{"nextToken"},
1058			OutputTokens:    []string{"nextToken"},
1059			LimitToken:      "maxResults",
1060			TruncationToken: "",
1061		},
1062	}
1063
1064	if input == nil {
1065		input = &GetDetectorsInput{}
1066	}
1067
1068	output = &GetDetectorsOutput{}
1069	req = c.newRequest(op, input, output)
1070	return
1071}
1072
1073// GetDetectors API operation for Amazon Fraud Detector.
1074//
1075// Gets all of detectors. This is a paginated API. If you provide a null maxSizePerPage,
1076// this actions retrieves a maximum of 10 records per page. If you provide a
1077// maxSizePerPage, the value must be between 5 and 10. To get the next page
1078// results, provide the pagination token from the GetEventTypesResponse as part
1079// of your request. A null pagination token fetches the records from the beginning.
1080//
1081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1082// with awserr.Error's Code and Message methods to get detailed information about
1083// the error.
1084//
1085// See the AWS API reference guide for Amazon Fraud Detector's
1086// API operation GetDetectors for usage and error information.
1087//
1088// Returned Error Codes:
1089//   * ErrCodeValidationException "ValidationException"
1090//   An exception indicating a specified value is not allowed.
1091//
1092//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1093//   An exception indicating the specified resource was not found.
1094//
1095//   * ErrCodeInternalServerException "InternalServerException"
1096//   An exception indicating an internal server error.
1097//
1098//   * ErrCodeThrottlingException "ThrottlingException"
1099//   An exception indicating a throttling error.
1100//
1101// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetDetectors
1102func (c *FraudDetector) GetDetectors(input *GetDetectorsInput) (*GetDetectorsOutput, error) {
1103	req, out := c.GetDetectorsRequest(input)
1104	return out, req.Send()
1105}
1106
1107// GetDetectorsWithContext is the same as GetDetectors with the addition of
1108// the ability to pass a context and additional request options.
1109//
1110// See GetDetectors for details on how to use this API operation.
1111//
1112// The context must be non-nil and will be used for request cancellation. If
1113// the context is nil a panic will occur. In the future the SDK may create
1114// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1115// for more information on using Contexts.
1116func (c *FraudDetector) GetDetectorsWithContext(ctx aws.Context, input *GetDetectorsInput, opts ...request.Option) (*GetDetectorsOutput, error) {
1117	req, out := c.GetDetectorsRequest(input)
1118	req.SetContext(ctx)
1119	req.ApplyOptions(opts...)
1120	return out, req.Send()
1121}
1122
1123// GetDetectorsPages iterates over the pages of a GetDetectors operation,
1124// calling the "fn" function with the response data for each page. To stop
1125// iterating, return false from the fn function.
1126//
1127// See GetDetectors method for more information on how to use this operation.
1128//
1129// Note: This operation can generate multiple requests to a service.
1130//
1131//    // Example iterating over at most 3 pages of a GetDetectors operation.
1132//    pageNum := 0
1133//    err := client.GetDetectorsPages(params,
1134//        func(page *frauddetector.GetDetectorsOutput, lastPage bool) bool {
1135//            pageNum++
1136//            fmt.Println(page)
1137//            return pageNum <= 3
1138//        })
1139//
1140func (c *FraudDetector) GetDetectorsPages(input *GetDetectorsInput, fn func(*GetDetectorsOutput, bool) bool) error {
1141	return c.GetDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
1142}
1143
1144// GetDetectorsPagesWithContext same as GetDetectorsPages except
1145// it takes a Context and allows setting request options on the pages.
1146//
1147// The context must be non-nil and will be used for request cancellation. If
1148// the context is nil a panic will occur. In the future the SDK may create
1149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1150// for more information on using Contexts.
1151func (c *FraudDetector) GetDetectorsPagesWithContext(ctx aws.Context, input *GetDetectorsInput, fn func(*GetDetectorsOutput, bool) bool, opts ...request.Option) error {
1152	p := request.Pagination{
1153		NewRequest: func() (*request.Request, error) {
1154			var inCpy *GetDetectorsInput
1155			if input != nil {
1156				tmp := *input
1157				inCpy = &tmp
1158			}
1159			req, _ := c.GetDetectorsRequest(inCpy)
1160			req.SetContext(ctx)
1161			req.ApplyOptions(opts...)
1162			return req, nil
1163		},
1164	}
1165
1166	for p.Next() {
1167		if !fn(p.Page().(*GetDetectorsOutput), !p.HasNextPage()) {
1168			break
1169		}
1170	}
1171
1172	return p.Err()
1173}
1174
1175const opGetExternalModels = "GetExternalModels"
1176
1177// GetExternalModelsRequest generates a "aws/request.Request" representing the
1178// client's request for the GetExternalModels operation. The "output" return
1179// value will be populated with the request's response once the request completes
1180// successfully.
1181//
1182// Use "Send" method on the returned Request to send the API call to the service.
1183// the "output" return value is not valid until after Send returns without error.
1184//
1185// See GetExternalModels for more information on using the GetExternalModels
1186// API call, and error handling.
1187//
1188// This method is useful when you want to inject custom logic or configuration
1189// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1190//
1191//
1192//    // Example sending a request using the GetExternalModelsRequest method.
1193//    req, resp := client.GetExternalModelsRequest(params)
1194//
1195//    err := req.Send()
1196//    if err == nil { // resp is now filled
1197//        fmt.Println(resp)
1198//    }
1199//
1200// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels
1201func (c *FraudDetector) GetExternalModelsRequest(input *GetExternalModelsInput) (req *request.Request, output *GetExternalModelsOutput) {
1202	op := &request.Operation{
1203		Name:       opGetExternalModels,
1204		HTTPMethod: "POST",
1205		HTTPPath:   "/",
1206		Paginator: &request.Paginator{
1207			InputTokens:     []string{"nextToken"},
1208			OutputTokens:    []string{"nextToken"},
1209			LimitToken:      "maxResults",
1210			TruncationToken: "",
1211		},
1212	}
1213
1214	if input == nil {
1215		input = &GetExternalModelsInput{}
1216	}
1217
1218	output = &GetExternalModelsOutput{}
1219	req = c.newRequest(op, input, output)
1220	return
1221}
1222
1223// GetExternalModels API operation for Amazon Fraud Detector.
1224//
1225// Gets the details for one or more Amazon SageMaker models that have been imported
1226// into the service. This is a paginated API. If you provide a null maxSizePerPage,
1227// this actions retrieves a maximum of 10 records per page. If you provide a
1228// maxSizePerPage, the value must be between 5 and 10. To get the next page
1229// results, provide the pagination token from the GetExternalModelsResult as
1230// part of your request. A null pagination token fetches the records from the
1231// beginning.
1232//
1233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1234// with awserr.Error's Code and Message methods to get detailed information about
1235// the error.
1236//
1237// See the AWS API reference guide for Amazon Fraud Detector's
1238// API operation GetExternalModels for usage and error information.
1239//
1240// Returned Error Codes:
1241//   * ErrCodeValidationException "ValidationException"
1242//   An exception indicating a specified value is not allowed.
1243//
1244//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1245//   An exception indicating the specified resource was not found.
1246//
1247//   * ErrCodeInternalServerException "InternalServerException"
1248//   An exception indicating an internal server error.
1249//
1250//   * ErrCodeThrottlingException "ThrottlingException"
1251//   An exception indicating a throttling error.
1252//
1253// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetExternalModels
1254func (c *FraudDetector) GetExternalModels(input *GetExternalModelsInput) (*GetExternalModelsOutput, error) {
1255	req, out := c.GetExternalModelsRequest(input)
1256	return out, req.Send()
1257}
1258
1259// GetExternalModelsWithContext is the same as GetExternalModels with the addition of
1260// the ability to pass a context and additional request options.
1261//
1262// See GetExternalModels for details on how to use this API operation.
1263//
1264// The context must be non-nil and will be used for request cancellation. If
1265// the context is nil a panic will occur. In the future the SDK may create
1266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1267// for more information on using Contexts.
1268func (c *FraudDetector) GetExternalModelsWithContext(ctx aws.Context, input *GetExternalModelsInput, opts ...request.Option) (*GetExternalModelsOutput, error) {
1269	req, out := c.GetExternalModelsRequest(input)
1270	req.SetContext(ctx)
1271	req.ApplyOptions(opts...)
1272	return out, req.Send()
1273}
1274
1275// GetExternalModelsPages iterates over the pages of a GetExternalModels operation,
1276// calling the "fn" function with the response data for each page. To stop
1277// iterating, return false from the fn function.
1278//
1279// See GetExternalModels method for more information on how to use this operation.
1280//
1281// Note: This operation can generate multiple requests to a service.
1282//
1283//    // Example iterating over at most 3 pages of a GetExternalModels operation.
1284//    pageNum := 0
1285//    err := client.GetExternalModelsPages(params,
1286//        func(page *frauddetector.GetExternalModelsOutput, lastPage bool) bool {
1287//            pageNum++
1288//            fmt.Println(page)
1289//            return pageNum <= 3
1290//        })
1291//
1292func (c *FraudDetector) GetExternalModelsPages(input *GetExternalModelsInput, fn func(*GetExternalModelsOutput, bool) bool) error {
1293	return c.GetExternalModelsPagesWithContext(aws.BackgroundContext(), input, fn)
1294}
1295
1296// GetExternalModelsPagesWithContext same as GetExternalModelsPages except
1297// it takes a Context and allows setting request options on the pages.
1298//
1299// The context must be non-nil and will be used for request cancellation. If
1300// the context is nil a panic will occur. In the future the SDK may create
1301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1302// for more information on using Contexts.
1303func (c *FraudDetector) GetExternalModelsPagesWithContext(ctx aws.Context, input *GetExternalModelsInput, fn func(*GetExternalModelsOutput, bool) bool, opts ...request.Option) error {
1304	p := request.Pagination{
1305		NewRequest: func() (*request.Request, error) {
1306			var inCpy *GetExternalModelsInput
1307			if input != nil {
1308				tmp := *input
1309				inCpy = &tmp
1310			}
1311			req, _ := c.GetExternalModelsRequest(inCpy)
1312			req.SetContext(ctx)
1313			req.ApplyOptions(opts...)
1314			return req, nil
1315		},
1316	}
1317
1318	for p.Next() {
1319		if !fn(p.Page().(*GetExternalModelsOutput), !p.HasNextPage()) {
1320			break
1321		}
1322	}
1323
1324	return p.Err()
1325}
1326
1327const opGetModelVersion = "GetModelVersion"
1328
1329// GetModelVersionRequest generates a "aws/request.Request" representing the
1330// client's request for the GetModelVersion operation. The "output" return
1331// value will be populated with the request's response once the request completes
1332// successfully.
1333//
1334// Use "Send" method on the returned Request to send the API call to the service.
1335// the "output" return value is not valid until after Send returns without error.
1336//
1337// See GetModelVersion for more information on using the GetModelVersion
1338// API call, and error handling.
1339//
1340// This method is useful when you want to inject custom logic or configuration
1341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1342//
1343//
1344//    // Example sending a request using the GetModelVersionRequest method.
1345//    req, resp := client.GetModelVersionRequest(params)
1346//
1347//    err := req.Send()
1348//    if err == nil { // resp is now filled
1349//        fmt.Println(resp)
1350//    }
1351//
1352// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion
1353func (c *FraudDetector) GetModelVersionRequest(input *GetModelVersionInput) (req *request.Request, output *GetModelVersionOutput) {
1354	op := &request.Operation{
1355		Name:       opGetModelVersion,
1356		HTTPMethod: "POST",
1357		HTTPPath:   "/",
1358	}
1359
1360	if input == nil {
1361		input = &GetModelVersionInput{}
1362	}
1363
1364	output = &GetModelVersionOutput{}
1365	req = c.newRequest(op, input, output)
1366	return
1367}
1368
1369// GetModelVersion API operation for Amazon Fraud Detector.
1370//
1371// Gets a model version.
1372//
1373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1374// with awserr.Error's Code and Message methods to get detailed information about
1375// the error.
1376//
1377// See the AWS API reference guide for Amazon Fraud Detector's
1378// API operation GetModelVersion for usage and error information.
1379//
1380// Returned Error Codes:
1381//   * ErrCodeValidationException "ValidationException"
1382//   An exception indicating a specified value is not allowed.
1383//
1384//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1385//   An exception indicating the specified resource was not found.
1386//
1387//   * ErrCodeInternalServerException "InternalServerException"
1388//   An exception indicating an internal server error.
1389//
1390//   * ErrCodeThrottlingException "ThrottlingException"
1391//   An exception indicating a throttling error.
1392//
1393// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModelVersion
1394func (c *FraudDetector) GetModelVersion(input *GetModelVersionInput) (*GetModelVersionOutput, error) {
1395	req, out := c.GetModelVersionRequest(input)
1396	return out, req.Send()
1397}
1398
1399// GetModelVersionWithContext is the same as GetModelVersion with the addition of
1400// the ability to pass a context and additional request options.
1401//
1402// See GetModelVersion for details on how to use this API operation.
1403//
1404// The context must be non-nil and will be used for request cancellation. If
1405// the context is nil a panic will occur. In the future the SDK may create
1406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1407// for more information on using Contexts.
1408func (c *FraudDetector) GetModelVersionWithContext(ctx aws.Context, input *GetModelVersionInput, opts ...request.Option) (*GetModelVersionOutput, error) {
1409	req, out := c.GetModelVersionRequest(input)
1410	req.SetContext(ctx)
1411	req.ApplyOptions(opts...)
1412	return out, req.Send()
1413}
1414
1415const opGetModels = "GetModels"
1416
1417// GetModelsRequest generates a "aws/request.Request" representing the
1418// client's request for the GetModels operation. The "output" return
1419// value will be populated with the request's response once the request completes
1420// successfully.
1421//
1422// Use "Send" method on the returned Request to send the API call to the service.
1423// the "output" return value is not valid until after Send returns without error.
1424//
1425// See GetModels for more information on using the GetModels
1426// API call, and error handling.
1427//
1428// This method is useful when you want to inject custom logic or configuration
1429// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1430//
1431//
1432//    // Example sending a request using the GetModelsRequest method.
1433//    req, resp := client.GetModelsRequest(params)
1434//
1435//    err := req.Send()
1436//    if err == nil { // resp is now filled
1437//        fmt.Println(resp)
1438//    }
1439//
1440// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels
1441func (c *FraudDetector) GetModelsRequest(input *GetModelsInput) (req *request.Request, output *GetModelsOutput) {
1442	op := &request.Operation{
1443		Name:       opGetModels,
1444		HTTPMethod: "POST",
1445		HTTPPath:   "/",
1446		Paginator: &request.Paginator{
1447			InputTokens:     []string{"nextToken"},
1448			OutputTokens:    []string{"nextToken"},
1449			LimitToken:      "maxResults",
1450			TruncationToken: "",
1451		},
1452	}
1453
1454	if input == nil {
1455		input = &GetModelsInput{}
1456	}
1457
1458	output = &GetModelsOutput{}
1459	req = c.newRequest(op, input, output)
1460	return
1461}
1462
1463// GetModels API operation for Amazon Fraud Detector.
1464//
1465// Gets all of the models for the AWS account, or the specified model type,
1466// or gets a single model for the specified model type, model ID combination.
1467//
1468// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1469// with awserr.Error's Code and Message methods to get detailed information about
1470// the error.
1471//
1472// See the AWS API reference guide for Amazon Fraud Detector's
1473// API operation GetModels for usage and error information.
1474//
1475// Returned Error Codes:
1476//   * ErrCodeValidationException "ValidationException"
1477//   An exception indicating a specified value is not allowed.
1478//
1479//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1480//   An exception indicating the specified resource was not found.
1481//
1482//   * ErrCodeInternalServerException "InternalServerException"
1483//   An exception indicating an internal server error.
1484//
1485//   * ErrCodeThrottlingException "ThrottlingException"
1486//   An exception indicating a throttling error.
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetModels
1489func (c *FraudDetector) GetModels(input *GetModelsInput) (*GetModelsOutput, error) {
1490	req, out := c.GetModelsRequest(input)
1491	return out, req.Send()
1492}
1493
1494// GetModelsWithContext is the same as GetModels with the addition of
1495// the ability to pass a context and additional request options.
1496//
1497// See GetModels for details on how to use this API operation.
1498//
1499// The context must be non-nil and will be used for request cancellation. If
1500// the context is nil a panic will occur. In the future the SDK may create
1501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1502// for more information on using Contexts.
1503func (c *FraudDetector) GetModelsWithContext(ctx aws.Context, input *GetModelsInput, opts ...request.Option) (*GetModelsOutput, error) {
1504	req, out := c.GetModelsRequest(input)
1505	req.SetContext(ctx)
1506	req.ApplyOptions(opts...)
1507	return out, req.Send()
1508}
1509
1510// GetModelsPages iterates over the pages of a GetModels operation,
1511// calling the "fn" function with the response data for each page. To stop
1512// iterating, return false from the fn function.
1513//
1514// See GetModels method for more information on how to use this operation.
1515//
1516// Note: This operation can generate multiple requests to a service.
1517//
1518//    // Example iterating over at most 3 pages of a GetModels operation.
1519//    pageNum := 0
1520//    err := client.GetModelsPages(params,
1521//        func(page *frauddetector.GetModelsOutput, lastPage bool) bool {
1522//            pageNum++
1523//            fmt.Println(page)
1524//            return pageNum <= 3
1525//        })
1526//
1527func (c *FraudDetector) GetModelsPages(input *GetModelsInput, fn func(*GetModelsOutput, bool) bool) error {
1528	return c.GetModelsPagesWithContext(aws.BackgroundContext(), input, fn)
1529}
1530
1531// GetModelsPagesWithContext same as GetModelsPages except
1532// it takes a Context and allows setting request options on the pages.
1533//
1534// The context must be non-nil and will be used for request cancellation. If
1535// the context is nil a panic will occur. In the future the SDK may create
1536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1537// for more information on using Contexts.
1538func (c *FraudDetector) GetModelsPagesWithContext(ctx aws.Context, input *GetModelsInput, fn func(*GetModelsOutput, bool) bool, opts ...request.Option) error {
1539	p := request.Pagination{
1540		NewRequest: func() (*request.Request, error) {
1541			var inCpy *GetModelsInput
1542			if input != nil {
1543				tmp := *input
1544				inCpy = &tmp
1545			}
1546			req, _ := c.GetModelsRequest(inCpy)
1547			req.SetContext(ctx)
1548			req.ApplyOptions(opts...)
1549			return req, nil
1550		},
1551	}
1552
1553	for p.Next() {
1554		if !fn(p.Page().(*GetModelsOutput), !p.HasNextPage()) {
1555			break
1556		}
1557	}
1558
1559	return p.Err()
1560}
1561
1562const opGetOutcomes = "GetOutcomes"
1563
1564// GetOutcomesRequest generates a "aws/request.Request" representing the
1565// client's request for the GetOutcomes operation. The "output" return
1566// value will be populated with the request's response once the request completes
1567// successfully.
1568//
1569// Use "Send" method on the returned Request to send the API call to the service.
1570// the "output" return value is not valid until after Send returns without error.
1571//
1572// See GetOutcomes for more information on using the GetOutcomes
1573// API call, and error handling.
1574//
1575// This method is useful when you want to inject custom logic or configuration
1576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1577//
1578//
1579//    // Example sending a request using the GetOutcomesRequest method.
1580//    req, resp := client.GetOutcomesRequest(params)
1581//
1582//    err := req.Send()
1583//    if err == nil { // resp is now filled
1584//        fmt.Println(resp)
1585//    }
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes
1588func (c *FraudDetector) GetOutcomesRequest(input *GetOutcomesInput) (req *request.Request, output *GetOutcomesOutput) {
1589	op := &request.Operation{
1590		Name:       opGetOutcomes,
1591		HTTPMethod: "POST",
1592		HTTPPath:   "/",
1593		Paginator: &request.Paginator{
1594			InputTokens:     []string{"nextToken"},
1595			OutputTokens:    []string{"nextToken"},
1596			LimitToken:      "maxResults",
1597			TruncationToken: "",
1598		},
1599	}
1600
1601	if input == nil {
1602		input = &GetOutcomesInput{}
1603	}
1604
1605	output = &GetOutcomesOutput{}
1606	req = c.newRequest(op, input, output)
1607	return
1608}
1609
1610// GetOutcomes API operation for Amazon Fraud Detector.
1611//
1612// Gets one or more outcomes. This is a paginated API. If you provide a null
1613// maxSizePerPage, this actions retrieves a maximum of 10 records per page.
1614// If you provide a maxSizePerPage, the value must be between 50 and 100. To
1615// get the next page results, provide the pagination token from the GetOutcomesResult
1616// as part of your request. A null pagination token fetches the records from
1617// the beginning.
1618//
1619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1620// with awserr.Error's Code and Message methods to get detailed information about
1621// the error.
1622//
1623// See the AWS API reference guide for Amazon Fraud Detector's
1624// API operation GetOutcomes for usage and error information.
1625//
1626// Returned Error Codes:
1627//   * ErrCodeValidationException "ValidationException"
1628//   An exception indicating a specified value is not allowed.
1629//
1630//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1631//   An exception indicating the specified resource was not found.
1632//
1633//   * ErrCodeInternalServerException "InternalServerException"
1634//   An exception indicating an internal server error.
1635//
1636//   * ErrCodeThrottlingException "ThrottlingException"
1637//   An exception indicating a throttling error.
1638//
1639// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetOutcomes
1640func (c *FraudDetector) GetOutcomes(input *GetOutcomesInput) (*GetOutcomesOutput, error) {
1641	req, out := c.GetOutcomesRequest(input)
1642	return out, req.Send()
1643}
1644
1645// GetOutcomesWithContext is the same as GetOutcomes with the addition of
1646// the ability to pass a context and additional request options.
1647//
1648// See GetOutcomes for details on how to use this API operation.
1649//
1650// The context must be non-nil and will be used for request cancellation. If
1651// the context is nil a panic will occur. In the future the SDK may create
1652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1653// for more information on using Contexts.
1654func (c *FraudDetector) GetOutcomesWithContext(ctx aws.Context, input *GetOutcomesInput, opts ...request.Option) (*GetOutcomesOutput, error) {
1655	req, out := c.GetOutcomesRequest(input)
1656	req.SetContext(ctx)
1657	req.ApplyOptions(opts...)
1658	return out, req.Send()
1659}
1660
1661// GetOutcomesPages iterates over the pages of a GetOutcomes operation,
1662// calling the "fn" function with the response data for each page. To stop
1663// iterating, return false from the fn function.
1664//
1665// See GetOutcomes method for more information on how to use this operation.
1666//
1667// Note: This operation can generate multiple requests to a service.
1668//
1669//    // Example iterating over at most 3 pages of a GetOutcomes operation.
1670//    pageNum := 0
1671//    err := client.GetOutcomesPages(params,
1672//        func(page *frauddetector.GetOutcomesOutput, lastPage bool) bool {
1673//            pageNum++
1674//            fmt.Println(page)
1675//            return pageNum <= 3
1676//        })
1677//
1678func (c *FraudDetector) GetOutcomesPages(input *GetOutcomesInput, fn func(*GetOutcomesOutput, bool) bool) error {
1679	return c.GetOutcomesPagesWithContext(aws.BackgroundContext(), input, fn)
1680}
1681
1682// GetOutcomesPagesWithContext same as GetOutcomesPages except
1683// it takes a Context and allows setting request options on the pages.
1684//
1685// The context must be non-nil and will be used for request cancellation. If
1686// the context is nil a panic will occur. In the future the SDK may create
1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1688// for more information on using Contexts.
1689func (c *FraudDetector) GetOutcomesPagesWithContext(ctx aws.Context, input *GetOutcomesInput, fn func(*GetOutcomesOutput, bool) bool, opts ...request.Option) error {
1690	p := request.Pagination{
1691		NewRequest: func() (*request.Request, error) {
1692			var inCpy *GetOutcomesInput
1693			if input != nil {
1694				tmp := *input
1695				inCpy = &tmp
1696			}
1697			req, _ := c.GetOutcomesRequest(inCpy)
1698			req.SetContext(ctx)
1699			req.ApplyOptions(opts...)
1700			return req, nil
1701		},
1702	}
1703
1704	for p.Next() {
1705		if !fn(p.Page().(*GetOutcomesOutput), !p.HasNextPage()) {
1706			break
1707		}
1708	}
1709
1710	return p.Err()
1711}
1712
1713const opGetPrediction = "GetPrediction"
1714
1715// GetPredictionRequest generates a "aws/request.Request" representing the
1716// client's request for the GetPrediction operation. The "output" return
1717// value will be populated with the request's response once the request completes
1718// successfully.
1719//
1720// Use "Send" method on the returned Request to send the API call to the service.
1721// the "output" return value is not valid until after Send returns without error.
1722//
1723// See GetPrediction for more information on using the GetPrediction
1724// API call, and error handling.
1725//
1726// This method is useful when you want to inject custom logic or configuration
1727// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1728//
1729//
1730//    // Example sending a request using the GetPredictionRequest method.
1731//    req, resp := client.GetPredictionRequest(params)
1732//
1733//    err := req.Send()
1734//    if err == nil { // resp is now filled
1735//        fmt.Println(resp)
1736//    }
1737//
1738// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetPrediction
1739func (c *FraudDetector) GetPredictionRequest(input *GetPredictionInput) (req *request.Request, output *GetPredictionOutput) {
1740	op := &request.Operation{
1741		Name:       opGetPrediction,
1742		HTTPMethod: "POST",
1743		HTTPPath:   "/",
1744	}
1745
1746	if input == nil {
1747		input = &GetPredictionInput{}
1748	}
1749
1750	output = &GetPredictionOutput{}
1751	req = c.newRequest(op, input, output)
1752	return
1753}
1754
1755// GetPrediction API operation for Amazon Fraud Detector.
1756//
1757// Evaluates an event against a detector version. If a version ID is not provided,
1758// the detector’s (ACTIVE) version is used.
1759//
1760// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1761// with awserr.Error's Code and Message methods to get detailed information about
1762// the error.
1763//
1764// See the AWS API reference guide for Amazon Fraud Detector's
1765// API operation GetPrediction for usage and error information.
1766//
1767// Returned Error Codes:
1768//   * ErrCodeValidationException "ValidationException"
1769//   An exception indicating a specified value is not allowed.
1770//
1771//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1772//   An exception indicating the specified resource was not found.
1773//
1774//   * ErrCodeInternalServerException "InternalServerException"
1775//   An exception indicating an internal server error.
1776//
1777//   * ErrCodeThrottlingException "ThrottlingException"
1778//   An exception indicating a throttling error.
1779//
1780// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetPrediction
1781func (c *FraudDetector) GetPrediction(input *GetPredictionInput) (*GetPredictionOutput, error) {
1782	req, out := c.GetPredictionRequest(input)
1783	return out, req.Send()
1784}
1785
1786// GetPredictionWithContext is the same as GetPrediction with the addition of
1787// the ability to pass a context and additional request options.
1788//
1789// See GetPrediction for details on how to use this API operation.
1790//
1791// The context must be non-nil and will be used for request cancellation. If
1792// the context is nil a panic will occur. In the future the SDK may create
1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1794// for more information on using Contexts.
1795func (c *FraudDetector) GetPredictionWithContext(ctx aws.Context, input *GetPredictionInput, opts ...request.Option) (*GetPredictionOutput, error) {
1796	req, out := c.GetPredictionRequest(input)
1797	req.SetContext(ctx)
1798	req.ApplyOptions(opts...)
1799	return out, req.Send()
1800}
1801
1802const opGetRules = "GetRules"
1803
1804// GetRulesRequest generates a "aws/request.Request" representing the
1805// client's request for the GetRules operation. The "output" return
1806// value will be populated with the request's response once the request completes
1807// successfully.
1808//
1809// Use "Send" method on the returned Request to send the API call to the service.
1810// the "output" return value is not valid until after Send returns without error.
1811//
1812// See GetRules for more information on using the GetRules
1813// API call, and error handling.
1814//
1815// This method is useful when you want to inject custom logic or configuration
1816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1817//
1818//
1819//    // Example sending a request using the GetRulesRequest method.
1820//    req, resp := client.GetRulesRequest(params)
1821//
1822//    err := req.Send()
1823//    if err == nil { // resp is now filled
1824//        fmt.Println(resp)
1825//    }
1826//
1827// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules
1828func (c *FraudDetector) GetRulesRequest(input *GetRulesInput) (req *request.Request, output *GetRulesOutput) {
1829	op := &request.Operation{
1830		Name:       opGetRules,
1831		HTTPMethod: "POST",
1832		HTTPPath:   "/",
1833		Paginator: &request.Paginator{
1834			InputTokens:     []string{"nextToken"},
1835			OutputTokens:    []string{"nextToken"},
1836			LimitToken:      "maxResults",
1837			TruncationToken: "",
1838		},
1839	}
1840
1841	if input == nil {
1842		input = &GetRulesInput{}
1843	}
1844
1845	output = &GetRulesOutput{}
1846	req = c.newRequest(op, input, output)
1847	return
1848}
1849
1850// GetRules API operation for Amazon Fraud Detector.
1851//
1852// Gets all rules available for the specified detector.
1853//
1854// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1855// with awserr.Error's Code and Message methods to get detailed information about
1856// the error.
1857//
1858// See the AWS API reference guide for Amazon Fraud Detector's
1859// API operation GetRules for usage and error information.
1860//
1861// Returned Error Codes:
1862//   * ErrCodeValidationException "ValidationException"
1863//   An exception indicating a specified value is not allowed.
1864//
1865//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1866//   An exception indicating the specified resource was not found.
1867//
1868//   * ErrCodeInternalServerException "InternalServerException"
1869//   An exception indicating an internal server error.
1870//
1871//   * ErrCodeThrottlingException "ThrottlingException"
1872//   An exception indicating a throttling error.
1873//
1874// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetRules
1875func (c *FraudDetector) GetRules(input *GetRulesInput) (*GetRulesOutput, error) {
1876	req, out := c.GetRulesRequest(input)
1877	return out, req.Send()
1878}
1879
1880// GetRulesWithContext is the same as GetRules with the addition of
1881// the ability to pass a context and additional request options.
1882//
1883// See GetRules for details on how to use this API operation.
1884//
1885// The context must be non-nil and will be used for request cancellation. If
1886// the context is nil a panic will occur. In the future the SDK may create
1887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1888// for more information on using Contexts.
1889func (c *FraudDetector) GetRulesWithContext(ctx aws.Context, input *GetRulesInput, opts ...request.Option) (*GetRulesOutput, error) {
1890	req, out := c.GetRulesRequest(input)
1891	req.SetContext(ctx)
1892	req.ApplyOptions(opts...)
1893	return out, req.Send()
1894}
1895
1896// GetRulesPages iterates over the pages of a GetRules operation,
1897// calling the "fn" function with the response data for each page. To stop
1898// iterating, return false from the fn function.
1899//
1900// See GetRules method for more information on how to use this operation.
1901//
1902// Note: This operation can generate multiple requests to a service.
1903//
1904//    // Example iterating over at most 3 pages of a GetRules operation.
1905//    pageNum := 0
1906//    err := client.GetRulesPages(params,
1907//        func(page *frauddetector.GetRulesOutput, lastPage bool) bool {
1908//            pageNum++
1909//            fmt.Println(page)
1910//            return pageNum <= 3
1911//        })
1912//
1913func (c *FraudDetector) GetRulesPages(input *GetRulesInput, fn func(*GetRulesOutput, bool) bool) error {
1914	return c.GetRulesPagesWithContext(aws.BackgroundContext(), input, fn)
1915}
1916
1917// GetRulesPagesWithContext same as GetRulesPages except
1918// it takes a Context and allows setting request options on the pages.
1919//
1920// The context must be non-nil and will be used for request cancellation. If
1921// the context is nil a panic will occur. In the future the SDK may create
1922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1923// for more information on using Contexts.
1924func (c *FraudDetector) GetRulesPagesWithContext(ctx aws.Context, input *GetRulesInput, fn func(*GetRulesOutput, bool) bool, opts ...request.Option) error {
1925	p := request.Pagination{
1926		NewRequest: func() (*request.Request, error) {
1927			var inCpy *GetRulesInput
1928			if input != nil {
1929				tmp := *input
1930				inCpy = &tmp
1931			}
1932			req, _ := c.GetRulesRequest(inCpy)
1933			req.SetContext(ctx)
1934			req.ApplyOptions(opts...)
1935			return req, nil
1936		},
1937	}
1938
1939	for p.Next() {
1940		if !fn(p.Page().(*GetRulesOutput), !p.HasNextPage()) {
1941			break
1942		}
1943	}
1944
1945	return p.Err()
1946}
1947
1948const opGetVariables = "GetVariables"
1949
1950// GetVariablesRequest generates a "aws/request.Request" representing the
1951// client's request for the GetVariables operation. The "output" return
1952// value will be populated with the request's response once the request completes
1953// successfully.
1954//
1955// Use "Send" method on the returned Request to send the API call to the service.
1956// the "output" return value is not valid until after Send returns without error.
1957//
1958// See GetVariables for more information on using the GetVariables
1959// API call, and error handling.
1960//
1961// This method is useful when you want to inject custom logic or configuration
1962// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1963//
1964//
1965//    // Example sending a request using the GetVariablesRequest method.
1966//    req, resp := client.GetVariablesRequest(params)
1967//
1968//    err := req.Send()
1969//    if err == nil { // resp is now filled
1970//        fmt.Println(resp)
1971//    }
1972//
1973// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables
1974func (c *FraudDetector) GetVariablesRequest(input *GetVariablesInput) (req *request.Request, output *GetVariablesOutput) {
1975	op := &request.Operation{
1976		Name:       opGetVariables,
1977		HTTPMethod: "POST",
1978		HTTPPath:   "/",
1979		Paginator: &request.Paginator{
1980			InputTokens:     []string{"nextToken"},
1981			OutputTokens:    []string{"nextToken"},
1982			LimitToken:      "maxResults",
1983			TruncationToken: "",
1984		},
1985	}
1986
1987	if input == nil {
1988		input = &GetVariablesInput{}
1989	}
1990
1991	output = &GetVariablesOutput{}
1992	req = c.newRequest(op, input, output)
1993	return
1994}
1995
1996// GetVariables API operation for Amazon Fraud Detector.
1997//
1998// Gets all of the variables or the specific variable. This is a paginated API.
1999// Providing null maxSizePerPage results in retrieving maximum of 100 records
2000// per page. If you provide maxSizePerPage the value must be between 50 and
2001// 100. To get the next page result, a provide a pagination token from GetVariablesResult
2002// as part of your request. Null pagination token fetches the records from the
2003// beginning.
2004//
2005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2006// with awserr.Error's Code and Message methods to get detailed information about
2007// the error.
2008//
2009// See the AWS API reference guide for Amazon Fraud Detector's
2010// API operation GetVariables for usage and error information.
2011//
2012// Returned Error Codes:
2013//   * ErrCodeValidationException "ValidationException"
2014//   An exception indicating a specified value is not allowed.
2015//
2016//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2017//   An exception indicating the specified resource was not found.
2018//
2019//   * ErrCodeInternalServerException "InternalServerException"
2020//   An exception indicating an internal server error.
2021//
2022//   * ErrCodeThrottlingException "ThrottlingException"
2023//   An exception indicating a throttling error.
2024//
2025// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/GetVariables
2026func (c *FraudDetector) GetVariables(input *GetVariablesInput) (*GetVariablesOutput, error) {
2027	req, out := c.GetVariablesRequest(input)
2028	return out, req.Send()
2029}
2030
2031// GetVariablesWithContext is the same as GetVariables with the addition of
2032// the ability to pass a context and additional request options.
2033//
2034// See GetVariables for details on how to use this API operation.
2035//
2036// The context must be non-nil and will be used for request cancellation. If
2037// the context is nil a panic will occur. In the future the SDK may create
2038// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2039// for more information on using Contexts.
2040func (c *FraudDetector) GetVariablesWithContext(ctx aws.Context, input *GetVariablesInput, opts ...request.Option) (*GetVariablesOutput, error) {
2041	req, out := c.GetVariablesRequest(input)
2042	req.SetContext(ctx)
2043	req.ApplyOptions(opts...)
2044	return out, req.Send()
2045}
2046
2047// GetVariablesPages iterates over the pages of a GetVariables operation,
2048// calling the "fn" function with the response data for each page. To stop
2049// iterating, return false from the fn function.
2050//
2051// See GetVariables method for more information on how to use this operation.
2052//
2053// Note: This operation can generate multiple requests to a service.
2054//
2055//    // Example iterating over at most 3 pages of a GetVariables operation.
2056//    pageNum := 0
2057//    err := client.GetVariablesPages(params,
2058//        func(page *frauddetector.GetVariablesOutput, lastPage bool) bool {
2059//            pageNum++
2060//            fmt.Println(page)
2061//            return pageNum <= 3
2062//        })
2063//
2064func (c *FraudDetector) GetVariablesPages(input *GetVariablesInput, fn func(*GetVariablesOutput, bool) bool) error {
2065	return c.GetVariablesPagesWithContext(aws.BackgroundContext(), input, fn)
2066}
2067
2068// GetVariablesPagesWithContext same as GetVariablesPages except
2069// it takes a Context and allows setting request options on the pages.
2070//
2071// The context must be non-nil and will be used for request cancellation. If
2072// the context is nil a panic will occur. In the future the SDK may create
2073// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2074// for more information on using Contexts.
2075func (c *FraudDetector) GetVariablesPagesWithContext(ctx aws.Context, input *GetVariablesInput, fn func(*GetVariablesOutput, bool) bool, opts ...request.Option) error {
2076	p := request.Pagination{
2077		NewRequest: func() (*request.Request, error) {
2078			var inCpy *GetVariablesInput
2079			if input != nil {
2080				tmp := *input
2081				inCpy = &tmp
2082			}
2083			req, _ := c.GetVariablesRequest(inCpy)
2084			req.SetContext(ctx)
2085			req.ApplyOptions(opts...)
2086			return req, nil
2087		},
2088	}
2089
2090	for p.Next() {
2091		if !fn(p.Page().(*GetVariablesOutput), !p.HasNextPage()) {
2092			break
2093		}
2094	}
2095
2096	return p.Err()
2097}
2098
2099const opPutDetector = "PutDetector"
2100
2101// PutDetectorRequest generates a "aws/request.Request" representing the
2102// client's request for the PutDetector operation. The "output" return
2103// value will be populated with the request's response once the request completes
2104// successfully.
2105//
2106// Use "Send" method on the returned Request to send the API call to the service.
2107// the "output" return value is not valid until after Send returns without error.
2108//
2109// See PutDetector for more information on using the PutDetector
2110// API call, and error handling.
2111//
2112// This method is useful when you want to inject custom logic or configuration
2113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2114//
2115//
2116//    // Example sending a request using the PutDetectorRequest method.
2117//    req, resp := client.PutDetectorRequest(params)
2118//
2119//    err := req.Send()
2120//    if err == nil { // resp is now filled
2121//        fmt.Println(resp)
2122//    }
2123//
2124// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector
2125func (c *FraudDetector) PutDetectorRequest(input *PutDetectorInput) (req *request.Request, output *PutDetectorOutput) {
2126	op := &request.Operation{
2127		Name:       opPutDetector,
2128		HTTPMethod: "POST",
2129		HTTPPath:   "/",
2130	}
2131
2132	if input == nil {
2133		input = &PutDetectorInput{}
2134	}
2135
2136	output = &PutDetectorOutput{}
2137	req = c.newRequest(op, input, output)
2138	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2139	return
2140}
2141
2142// PutDetector API operation for Amazon Fraud Detector.
2143//
2144// Creates or updates a detector.
2145//
2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2147// with awserr.Error's Code and Message methods to get detailed information about
2148// the error.
2149//
2150// See the AWS API reference guide for Amazon Fraud Detector's
2151// API operation PutDetector for usage and error information.
2152//
2153// Returned Error Codes:
2154//   * ErrCodeValidationException "ValidationException"
2155//   An exception indicating a specified value is not allowed.
2156//
2157//   * ErrCodeInternalServerException "InternalServerException"
2158//   An exception indicating an internal server error.
2159//
2160//   * ErrCodeThrottlingException "ThrottlingException"
2161//   An exception indicating a throttling error.
2162//
2163// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutDetector
2164func (c *FraudDetector) PutDetector(input *PutDetectorInput) (*PutDetectorOutput, error) {
2165	req, out := c.PutDetectorRequest(input)
2166	return out, req.Send()
2167}
2168
2169// PutDetectorWithContext is the same as PutDetector with the addition of
2170// the ability to pass a context and additional request options.
2171//
2172// See PutDetector for details on how to use this API operation.
2173//
2174// The context must be non-nil and will be used for request cancellation. If
2175// the context is nil a panic will occur. In the future the SDK may create
2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2177// for more information on using Contexts.
2178func (c *FraudDetector) PutDetectorWithContext(ctx aws.Context, input *PutDetectorInput, opts ...request.Option) (*PutDetectorOutput, error) {
2179	req, out := c.PutDetectorRequest(input)
2180	req.SetContext(ctx)
2181	req.ApplyOptions(opts...)
2182	return out, req.Send()
2183}
2184
2185const opPutExternalModel = "PutExternalModel"
2186
2187// PutExternalModelRequest generates a "aws/request.Request" representing the
2188// client's request for the PutExternalModel operation. The "output" return
2189// value will be populated with the request's response once the request completes
2190// successfully.
2191//
2192// Use "Send" method on the returned Request to send the API call to the service.
2193// the "output" return value is not valid until after Send returns without error.
2194//
2195// See PutExternalModel for more information on using the PutExternalModel
2196// API call, and error handling.
2197//
2198// This method is useful when you want to inject custom logic or configuration
2199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2200//
2201//
2202//    // Example sending a request using the PutExternalModelRequest method.
2203//    req, resp := client.PutExternalModelRequest(params)
2204//
2205//    err := req.Send()
2206//    if err == nil { // resp is now filled
2207//        fmt.Println(resp)
2208//    }
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel
2211func (c *FraudDetector) PutExternalModelRequest(input *PutExternalModelInput) (req *request.Request, output *PutExternalModelOutput) {
2212	op := &request.Operation{
2213		Name:       opPutExternalModel,
2214		HTTPMethod: "POST",
2215		HTTPPath:   "/",
2216	}
2217
2218	if input == nil {
2219		input = &PutExternalModelInput{}
2220	}
2221
2222	output = &PutExternalModelOutput{}
2223	req = c.newRequest(op, input, output)
2224	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2225	return
2226}
2227
2228// PutExternalModel API operation for Amazon Fraud Detector.
2229//
2230// Creates or updates an Amazon SageMaker model endpoint. You can also use this
2231// action to update the configuration of the model endpoint, including the IAM
2232// role and/or the mapped variables.
2233//
2234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2235// with awserr.Error's Code and Message methods to get detailed information about
2236// the error.
2237//
2238// See the AWS API reference guide for Amazon Fraud Detector's
2239// API operation PutExternalModel for usage and error information.
2240//
2241// Returned Error Codes:
2242//   * ErrCodeValidationException "ValidationException"
2243//   An exception indicating a specified value is not allowed.
2244//
2245//   * ErrCodeInternalServerException "InternalServerException"
2246//   An exception indicating an internal server error.
2247//
2248//   * ErrCodeThrottlingException "ThrottlingException"
2249//   An exception indicating a throttling error.
2250//
2251// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutExternalModel
2252func (c *FraudDetector) PutExternalModel(input *PutExternalModelInput) (*PutExternalModelOutput, error) {
2253	req, out := c.PutExternalModelRequest(input)
2254	return out, req.Send()
2255}
2256
2257// PutExternalModelWithContext is the same as PutExternalModel with the addition of
2258// the ability to pass a context and additional request options.
2259//
2260// See PutExternalModel for details on how to use this API operation.
2261//
2262// The context must be non-nil and will be used for request cancellation. If
2263// the context is nil a panic will occur. In the future the SDK may create
2264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2265// for more information on using Contexts.
2266func (c *FraudDetector) PutExternalModelWithContext(ctx aws.Context, input *PutExternalModelInput, opts ...request.Option) (*PutExternalModelOutput, error) {
2267	req, out := c.PutExternalModelRequest(input)
2268	req.SetContext(ctx)
2269	req.ApplyOptions(opts...)
2270	return out, req.Send()
2271}
2272
2273const opPutModel = "PutModel"
2274
2275// PutModelRequest generates a "aws/request.Request" representing the
2276// client's request for the PutModel operation. The "output" return
2277// value will be populated with the request's response once the request completes
2278// successfully.
2279//
2280// Use "Send" method on the returned Request to send the API call to the service.
2281// the "output" return value is not valid until after Send returns without error.
2282//
2283// See PutModel for more information on using the PutModel
2284// API call, and error handling.
2285//
2286// This method is useful when you want to inject custom logic or configuration
2287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2288//
2289//
2290//    // Example sending a request using the PutModelRequest method.
2291//    req, resp := client.PutModelRequest(params)
2292//
2293//    err := req.Send()
2294//    if err == nil { // resp is now filled
2295//        fmt.Println(resp)
2296//    }
2297//
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutModel
2299func (c *FraudDetector) PutModelRequest(input *PutModelInput) (req *request.Request, output *PutModelOutput) {
2300	op := &request.Operation{
2301		Name:       opPutModel,
2302		HTTPMethod: "POST",
2303		HTTPPath:   "/",
2304	}
2305
2306	if input == nil {
2307		input = &PutModelInput{}
2308	}
2309
2310	output = &PutModelOutput{}
2311	req = c.newRequest(op, input, output)
2312	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2313	return
2314}
2315
2316// PutModel API operation for Amazon Fraud Detector.
2317//
2318// Creates or updates a model.
2319//
2320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2321// with awserr.Error's Code and Message methods to get detailed information about
2322// the error.
2323//
2324// See the AWS API reference guide for Amazon Fraud Detector's
2325// API operation PutModel for usage and error information.
2326//
2327// Returned Error Codes:
2328//   * ErrCodeValidationException "ValidationException"
2329//   An exception indicating a specified value is not allowed.
2330//
2331//   * ErrCodeInternalServerException "InternalServerException"
2332//   An exception indicating an internal server error.
2333//
2334//   * ErrCodeThrottlingException "ThrottlingException"
2335//   An exception indicating a throttling error.
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutModel
2338func (c *FraudDetector) PutModel(input *PutModelInput) (*PutModelOutput, error) {
2339	req, out := c.PutModelRequest(input)
2340	return out, req.Send()
2341}
2342
2343// PutModelWithContext is the same as PutModel with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See PutModel for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *FraudDetector) PutModelWithContext(ctx aws.Context, input *PutModelInput, opts ...request.Option) (*PutModelOutput, error) {
2353	req, out := c.PutModelRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359const opPutOutcome = "PutOutcome"
2360
2361// PutOutcomeRequest generates a "aws/request.Request" representing the
2362// client's request for the PutOutcome operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See PutOutcome for more information on using the PutOutcome
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the PutOutcomeRequest method.
2377//    req, resp := client.PutOutcomeRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383//
2384// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome
2385func (c *FraudDetector) PutOutcomeRequest(input *PutOutcomeInput) (req *request.Request, output *PutOutcomeOutput) {
2386	op := &request.Operation{
2387		Name:       opPutOutcome,
2388		HTTPMethod: "POST",
2389		HTTPPath:   "/",
2390	}
2391
2392	if input == nil {
2393		input = &PutOutcomeInput{}
2394	}
2395
2396	output = &PutOutcomeOutput{}
2397	req = c.newRequest(op, input, output)
2398	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2399	return
2400}
2401
2402// PutOutcome API operation for Amazon Fraud Detector.
2403//
2404// Creates or updates an outcome.
2405//
2406// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2407// with awserr.Error's Code and Message methods to get detailed information about
2408// the error.
2409//
2410// See the AWS API reference guide for Amazon Fraud Detector's
2411// API operation PutOutcome for usage and error information.
2412//
2413// Returned Error Codes:
2414//   * ErrCodeValidationException "ValidationException"
2415//   An exception indicating a specified value is not allowed.
2416//
2417//   * ErrCodeInternalServerException "InternalServerException"
2418//   An exception indicating an internal server error.
2419//
2420//   * ErrCodeThrottlingException "ThrottlingException"
2421//   An exception indicating a throttling error.
2422//
2423// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/PutOutcome
2424func (c *FraudDetector) PutOutcome(input *PutOutcomeInput) (*PutOutcomeOutput, error) {
2425	req, out := c.PutOutcomeRequest(input)
2426	return out, req.Send()
2427}
2428
2429// PutOutcomeWithContext is the same as PutOutcome with the addition of
2430// the ability to pass a context and additional request options.
2431//
2432// See PutOutcome for details on how to use this API operation.
2433//
2434// The context must be non-nil and will be used for request cancellation. If
2435// the context is nil a panic will occur. In the future the SDK may create
2436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2437// for more information on using Contexts.
2438func (c *FraudDetector) PutOutcomeWithContext(ctx aws.Context, input *PutOutcomeInput, opts ...request.Option) (*PutOutcomeOutput, error) {
2439	req, out := c.PutOutcomeRequest(input)
2440	req.SetContext(ctx)
2441	req.ApplyOptions(opts...)
2442	return out, req.Send()
2443}
2444
2445const opUpdateDetectorVersion = "UpdateDetectorVersion"
2446
2447// UpdateDetectorVersionRequest generates a "aws/request.Request" representing the
2448// client's request for the UpdateDetectorVersion operation. The "output" return
2449// value will be populated with the request's response once the request completes
2450// successfully.
2451//
2452// Use "Send" method on the returned Request to send the API call to the service.
2453// the "output" return value is not valid until after Send returns without error.
2454//
2455// See UpdateDetectorVersion for more information on using the UpdateDetectorVersion
2456// API call, and error handling.
2457//
2458// This method is useful when you want to inject custom logic or configuration
2459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2460//
2461//
2462//    // Example sending a request using the UpdateDetectorVersionRequest method.
2463//    req, resp := client.UpdateDetectorVersionRequest(params)
2464//
2465//    err := req.Send()
2466//    if err == nil { // resp is now filled
2467//        fmt.Println(resp)
2468//    }
2469//
2470// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion
2471func (c *FraudDetector) UpdateDetectorVersionRequest(input *UpdateDetectorVersionInput) (req *request.Request, output *UpdateDetectorVersionOutput) {
2472	op := &request.Operation{
2473		Name:       opUpdateDetectorVersion,
2474		HTTPMethod: "POST",
2475		HTTPPath:   "/",
2476	}
2477
2478	if input == nil {
2479		input = &UpdateDetectorVersionInput{}
2480	}
2481
2482	output = &UpdateDetectorVersionOutput{}
2483	req = c.newRequest(op, input, output)
2484	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2485	return
2486}
2487
2488// UpdateDetectorVersion API operation for Amazon Fraud Detector.
2489//
2490// Updates a detector version. The detector version attributes that you can
2491// update include models, external model endpoints, rules, and description.
2492// You can only update a DRAFT detector version.
2493//
2494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2495// with awserr.Error's Code and Message methods to get detailed information about
2496// the error.
2497//
2498// See the AWS API reference guide for Amazon Fraud Detector's
2499// API operation UpdateDetectorVersion for usage and error information.
2500//
2501// Returned Error Codes:
2502//   * ErrCodeValidationException "ValidationException"
2503//   An exception indicating a specified value is not allowed.
2504//
2505//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2506//   An exception indicating the specified resource was not found.
2507//
2508//   * ErrCodeInternalServerException "InternalServerException"
2509//   An exception indicating an internal server error.
2510//
2511//   * ErrCodeThrottlingException "ThrottlingException"
2512//   An exception indicating a throttling error.
2513//
2514// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersion
2515func (c *FraudDetector) UpdateDetectorVersion(input *UpdateDetectorVersionInput) (*UpdateDetectorVersionOutput, error) {
2516	req, out := c.UpdateDetectorVersionRequest(input)
2517	return out, req.Send()
2518}
2519
2520// UpdateDetectorVersionWithContext is the same as UpdateDetectorVersion with the addition of
2521// the ability to pass a context and additional request options.
2522//
2523// See UpdateDetectorVersion for details on how to use this API operation.
2524//
2525// The context must be non-nil and will be used for request cancellation. If
2526// the context is nil a panic will occur. In the future the SDK may create
2527// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2528// for more information on using Contexts.
2529func (c *FraudDetector) UpdateDetectorVersionWithContext(ctx aws.Context, input *UpdateDetectorVersionInput, opts ...request.Option) (*UpdateDetectorVersionOutput, error) {
2530	req, out := c.UpdateDetectorVersionRequest(input)
2531	req.SetContext(ctx)
2532	req.ApplyOptions(opts...)
2533	return out, req.Send()
2534}
2535
2536const opUpdateDetectorVersionMetadata = "UpdateDetectorVersionMetadata"
2537
2538// UpdateDetectorVersionMetadataRequest generates a "aws/request.Request" representing the
2539// client's request for the UpdateDetectorVersionMetadata operation. The "output" return
2540// value will be populated with the request's response once the request completes
2541// successfully.
2542//
2543// Use "Send" method on the returned Request to send the API call to the service.
2544// the "output" return value is not valid until after Send returns without error.
2545//
2546// See UpdateDetectorVersionMetadata for more information on using the UpdateDetectorVersionMetadata
2547// API call, and error handling.
2548//
2549// This method is useful when you want to inject custom logic or configuration
2550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2551//
2552//
2553//    // Example sending a request using the UpdateDetectorVersionMetadataRequest method.
2554//    req, resp := client.UpdateDetectorVersionMetadataRequest(params)
2555//
2556//    err := req.Send()
2557//    if err == nil { // resp is now filled
2558//        fmt.Println(resp)
2559//    }
2560//
2561// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata
2562func (c *FraudDetector) UpdateDetectorVersionMetadataRequest(input *UpdateDetectorVersionMetadataInput) (req *request.Request, output *UpdateDetectorVersionMetadataOutput) {
2563	op := &request.Operation{
2564		Name:       opUpdateDetectorVersionMetadata,
2565		HTTPMethod: "POST",
2566		HTTPPath:   "/",
2567	}
2568
2569	if input == nil {
2570		input = &UpdateDetectorVersionMetadataInput{}
2571	}
2572
2573	output = &UpdateDetectorVersionMetadataOutput{}
2574	req = c.newRequest(op, input, output)
2575	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2576	return
2577}
2578
2579// UpdateDetectorVersionMetadata API operation for Amazon Fraud Detector.
2580//
2581// Updates the detector version's description. You can update the metadata for
2582// any detector version (DRAFT, ACTIVE, or INACTIVE).
2583//
2584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2585// with awserr.Error's Code and Message methods to get detailed information about
2586// the error.
2587//
2588// See the AWS API reference guide for Amazon Fraud Detector's
2589// API operation UpdateDetectorVersionMetadata for usage and error information.
2590//
2591// Returned Error Codes:
2592//   * ErrCodeValidationException "ValidationException"
2593//   An exception indicating a specified value is not allowed.
2594//
2595//   * ErrCodeInternalServerException "InternalServerException"
2596//   An exception indicating an internal server error.
2597//
2598//   * ErrCodeThrottlingException "ThrottlingException"
2599//   An exception indicating a throttling error.
2600//
2601// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionMetadata
2602func (c *FraudDetector) UpdateDetectorVersionMetadata(input *UpdateDetectorVersionMetadataInput) (*UpdateDetectorVersionMetadataOutput, error) {
2603	req, out := c.UpdateDetectorVersionMetadataRequest(input)
2604	return out, req.Send()
2605}
2606
2607// UpdateDetectorVersionMetadataWithContext is the same as UpdateDetectorVersionMetadata with the addition of
2608// the ability to pass a context and additional request options.
2609//
2610// See UpdateDetectorVersionMetadata for details on how to use this API operation.
2611//
2612// The context must be non-nil and will be used for request cancellation. If
2613// the context is nil a panic will occur. In the future the SDK may create
2614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2615// for more information on using Contexts.
2616func (c *FraudDetector) UpdateDetectorVersionMetadataWithContext(ctx aws.Context, input *UpdateDetectorVersionMetadataInput, opts ...request.Option) (*UpdateDetectorVersionMetadataOutput, error) {
2617	req, out := c.UpdateDetectorVersionMetadataRequest(input)
2618	req.SetContext(ctx)
2619	req.ApplyOptions(opts...)
2620	return out, req.Send()
2621}
2622
2623const opUpdateDetectorVersionStatus = "UpdateDetectorVersionStatus"
2624
2625// UpdateDetectorVersionStatusRequest generates a "aws/request.Request" representing the
2626// client's request for the UpdateDetectorVersionStatus operation. The "output" return
2627// value will be populated with the request's response once the request completes
2628// successfully.
2629//
2630// Use "Send" method on the returned Request to send the API call to the service.
2631// the "output" return value is not valid until after Send returns without error.
2632//
2633// See UpdateDetectorVersionStatus for more information on using the UpdateDetectorVersionStatus
2634// API call, and error handling.
2635//
2636// This method is useful when you want to inject custom logic or configuration
2637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2638//
2639//
2640//    // Example sending a request using the UpdateDetectorVersionStatusRequest method.
2641//    req, resp := client.UpdateDetectorVersionStatusRequest(params)
2642//
2643//    err := req.Send()
2644//    if err == nil { // resp is now filled
2645//        fmt.Println(resp)
2646//    }
2647//
2648// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus
2649func (c *FraudDetector) UpdateDetectorVersionStatusRequest(input *UpdateDetectorVersionStatusInput) (req *request.Request, output *UpdateDetectorVersionStatusOutput) {
2650	op := &request.Operation{
2651		Name:       opUpdateDetectorVersionStatus,
2652		HTTPMethod: "POST",
2653		HTTPPath:   "/",
2654	}
2655
2656	if input == nil {
2657		input = &UpdateDetectorVersionStatusInput{}
2658	}
2659
2660	output = &UpdateDetectorVersionStatusOutput{}
2661	req = c.newRequest(op, input, output)
2662	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2663	return
2664}
2665
2666// UpdateDetectorVersionStatus API operation for Amazon Fraud Detector.
2667//
2668// Updates the detector version’s status. You can perform the following promotions
2669// or demotions using UpdateDetectorVersionStatus: DRAFT to ACTIVE, ACTIVE to
2670// INACTIVE, and INACTIVE to ACTIVE.
2671//
2672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2673// with awserr.Error's Code and Message methods to get detailed information about
2674// the error.
2675//
2676// See the AWS API reference guide for Amazon Fraud Detector's
2677// API operation UpdateDetectorVersionStatus for usage and error information.
2678//
2679// Returned Error Codes:
2680//   * ErrCodeValidationException "ValidationException"
2681//   An exception indicating a specified value is not allowed.
2682//
2683//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2684//   An exception indicating the specified resource was not found.
2685//
2686//   * ErrCodeInternalServerException "InternalServerException"
2687//   An exception indicating an internal server error.
2688//
2689//   * ErrCodeThrottlingException "ThrottlingException"
2690//   An exception indicating a throttling error.
2691//
2692// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateDetectorVersionStatus
2693func (c *FraudDetector) UpdateDetectorVersionStatus(input *UpdateDetectorVersionStatusInput) (*UpdateDetectorVersionStatusOutput, error) {
2694	req, out := c.UpdateDetectorVersionStatusRequest(input)
2695	return out, req.Send()
2696}
2697
2698// UpdateDetectorVersionStatusWithContext is the same as UpdateDetectorVersionStatus with the addition of
2699// the ability to pass a context and additional request options.
2700//
2701// See UpdateDetectorVersionStatus for details on how to use this API operation.
2702//
2703// The context must be non-nil and will be used for request cancellation. If
2704// the context is nil a panic will occur. In the future the SDK may create
2705// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2706// for more information on using Contexts.
2707func (c *FraudDetector) UpdateDetectorVersionStatusWithContext(ctx aws.Context, input *UpdateDetectorVersionStatusInput, opts ...request.Option) (*UpdateDetectorVersionStatusOutput, error) {
2708	req, out := c.UpdateDetectorVersionStatusRequest(input)
2709	req.SetContext(ctx)
2710	req.ApplyOptions(opts...)
2711	return out, req.Send()
2712}
2713
2714const opUpdateModelVersion = "UpdateModelVersion"
2715
2716// UpdateModelVersionRequest generates a "aws/request.Request" representing the
2717// client's request for the UpdateModelVersion operation. The "output" return
2718// value will be populated with the request's response once the request completes
2719// successfully.
2720//
2721// Use "Send" method on the returned Request to send the API call to the service.
2722// the "output" return value is not valid until after Send returns without error.
2723//
2724// See UpdateModelVersion for more information on using the UpdateModelVersion
2725// API call, and error handling.
2726//
2727// This method is useful when you want to inject custom logic or configuration
2728// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2729//
2730//
2731//    // Example sending a request using the UpdateModelVersionRequest method.
2732//    req, resp := client.UpdateModelVersionRequest(params)
2733//
2734//    err := req.Send()
2735//    if err == nil { // resp is now filled
2736//        fmt.Println(resp)
2737//    }
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion
2740func (c *FraudDetector) UpdateModelVersionRequest(input *UpdateModelVersionInput) (req *request.Request, output *UpdateModelVersionOutput) {
2741	op := &request.Operation{
2742		Name:       opUpdateModelVersion,
2743		HTTPMethod: "POST",
2744		HTTPPath:   "/",
2745	}
2746
2747	if input == nil {
2748		input = &UpdateModelVersionInput{}
2749	}
2750
2751	output = &UpdateModelVersionOutput{}
2752	req = c.newRequest(op, input, output)
2753	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2754	return
2755}
2756
2757// UpdateModelVersion API operation for Amazon Fraud Detector.
2758//
2759// Updates a model version. You can update the description and status attributes
2760// using this action. You can perform the following status updates:
2761//
2762// Change the TRAINING_COMPLETE status to ACTIVE
2763//
2764// Change ACTIVE back to TRAINING_COMPLETE
2765//
2766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2767// with awserr.Error's Code and Message methods to get detailed information about
2768// the error.
2769//
2770// See the AWS API reference guide for Amazon Fraud Detector's
2771// API operation UpdateModelVersion for usage and error information.
2772//
2773// Returned Error Codes:
2774//   * ErrCodeValidationException "ValidationException"
2775//   An exception indicating a specified value is not allowed.
2776//
2777//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2778//   An exception indicating the specified resource was not found.
2779//
2780//   * ErrCodeInternalServerException "InternalServerException"
2781//   An exception indicating an internal server error.
2782//
2783//   * ErrCodeThrottlingException "ThrottlingException"
2784//   An exception indicating a throttling error.
2785//
2786// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateModelVersion
2787func (c *FraudDetector) UpdateModelVersion(input *UpdateModelVersionInput) (*UpdateModelVersionOutput, error) {
2788	req, out := c.UpdateModelVersionRequest(input)
2789	return out, req.Send()
2790}
2791
2792// UpdateModelVersionWithContext is the same as UpdateModelVersion with the addition of
2793// the ability to pass a context and additional request options.
2794//
2795// See UpdateModelVersion for details on how to use this API operation.
2796//
2797// The context must be non-nil and will be used for request cancellation. If
2798// the context is nil a panic will occur. In the future the SDK may create
2799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2800// for more information on using Contexts.
2801func (c *FraudDetector) UpdateModelVersionWithContext(ctx aws.Context, input *UpdateModelVersionInput, opts ...request.Option) (*UpdateModelVersionOutput, error) {
2802	req, out := c.UpdateModelVersionRequest(input)
2803	req.SetContext(ctx)
2804	req.ApplyOptions(opts...)
2805	return out, req.Send()
2806}
2807
2808const opUpdateRuleMetadata = "UpdateRuleMetadata"
2809
2810// UpdateRuleMetadataRequest generates a "aws/request.Request" representing the
2811// client's request for the UpdateRuleMetadata operation. The "output" return
2812// value will be populated with the request's response once the request completes
2813// successfully.
2814//
2815// Use "Send" method on the returned Request to send the API call to the service.
2816// the "output" return value is not valid until after Send returns without error.
2817//
2818// See UpdateRuleMetadata for more information on using the UpdateRuleMetadata
2819// API call, and error handling.
2820//
2821// This method is useful when you want to inject custom logic or configuration
2822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2823//
2824//
2825//    // Example sending a request using the UpdateRuleMetadataRequest method.
2826//    req, resp := client.UpdateRuleMetadataRequest(params)
2827//
2828//    err := req.Send()
2829//    if err == nil { // resp is now filled
2830//        fmt.Println(resp)
2831//    }
2832//
2833// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata
2834func (c *FraudDetector) UpdateRuleMetadataRequest(input *UpdateRuleMetadataInput) (req *request.Request, output *UpdateRuleMetadataOutput) {
2835	op := &request.Operation{
2836		Name:       opUpdateRuleMetadata,
2837		HTTPMethod: "POST",
2838		HTTPPath:   "/",
2839	}
2840
2841	if input == nil {
2842		input = &UpdateRuleMetadataInput{}
2843	}
2844
2845	output = &UpdateRuleMetadataOutput{}
2846	req = c.newRequest(op, input, output)
2847	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2848	return
2849}
2850
2851// UpdateRuleMetadata API operation for Amazon Fraud Detector.
2852//
2853// Updates a rule's metadata.
2854//
2855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2856// with awserr.Error's Code and Message methods to get detailed information about
2857// the error.
2858//
2859// See the AWS API reference guide for Amazon Fraud Detector's
2860// API operation UpdateRuleMetadata for usage and error information.
2861//
2862// Returned Error Codes:
2863//   * ErrCodeValidationException "ValidationException"
2864//   An exception indicating a specified value is not allowed.
2865//
2866//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2867//   An exception indicating the specified resource was not found.
2868//
2869//   * ErrCodeInternalServerException "InternalServerException"
2870//   An exception indicating an internal server error.
2871//
2872//   * ErrCodeThrottlingException "ThrottlingException"
2873//   An exception indicating a throttling error.
2874//
2875// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleMetadata
2876func (c *FraudDetector) UpdateRuleMetadata(input *UpdateRuleMetadataInput) (*UpdateRuleMetadataOutput, error) {
2877	req, out := c.UpdateRuleMetadataRequest(input)
2878	return out, req.Send()
2879}
2880
2881// UpdateRuleMetadataWithContext is the same as UpdateRuleMetadata with the addition of
2882// the ability to pass a context and additional request options.
2883//
2884// See UpdateRuleMetadata for details on how to use this API operation.
2885//
2886// The context must be non-nil and will be used for request cancellation. If
2887// the context is nil a panic will occur. In the future the SDK may create
2888// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2889// for more information on using Contexts.
2890func (c *FraudDetector) UpdateRuleMetadataWithContext(ctx aws.Context, input *UpdateRuleMetadataInput, opts ...request.Option) (*UpdateRuleMetadataOutput, error) {
2891	req, out := c.UpdateRuleMetadataRequest(input)
2892	req.SetContext(ctx)
2893	req.ApplyOptions(opts...)
2894	return out, req.Send()
2895}
2896
2897const opUpdateRuleVersion = "UpdateRuleVersion"
2898
2899// UpdateRuleVersionRequest generates a "aws/request.Request" representing the
2900// client's request for the UpdateRuleVersion operation. The "output" return
2901// value will be populated with the request's response once the request completes
2902// successfully.
2903//
2904// Use "Send" method on the returned Request to send the API call to the service.
2905// the "output" return value is not valid until after Send returns without error.
2906//
2907// See UpdateRuleVersion for more information on using the UpdateRuleVersion
2908// API call, and error handling.
2909//
2910// This method is useful when you want to inject custom logic or configuration
2911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2912//
2913//
2914//    // Example sending a request using the UpdateRuleVersionRequest method.
2915//    req, resp := client.UpdateRuleVersionRequest(params)
2916//
2917//    err := req.Send()
2918//    if err == nil { // resp is now filled
2919//        fmt.Println(resp)
2920//    }
2921//
2922// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion
2923func (c *FraudDetector) UpdateRuleVersionRequest(input *UpdateRuleVersionInput) (req *request.Request, output *UpdateRuleVersionOutput) {
2924	op := &request.Operation{
2925		Name:       opUpdateRuleVersion,
2926		HTTPMethod: "POST",
2927		HTTPPath:   "/",
2928	}
2929
2930	if input == nil {
2931		input = &UpdateRuleVersionInput{}
2932	}
2933
2934	output = &UpdateRuleVersionOutput{}
2935	req = c.newRequest(op, input, output)
2936	return
2937}
2938
2939// UpdateRuleVersion API operation for Amazon Fraud Detector.
2940//
2941// Updates a rule version resulting in a new rule version.
2942//
2943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2944// with awserr.Error's Code and Message methods to get detailed information about
2945// the error.
2946//
2947// See the AWS API reference guide for Amazon Fraud Detector's
2948// API operation UpdateRuleVersion for usage and error information.
2949//
2950// Returned Error Codes:
2951//   * ErrCodeValidationException "ValidationException"
2952//   An exception indicating a specified value is not allowed.
2953//
2954//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2955//   An exception indicating the specified resource was not found.
2956//
2957//   * ErrCodeInternalServerException "InternalServerException"
2958//   An exception indicating an internal server error.
2959//
2960//   * ErrCodeThrottlingException "ThrottlingException"
2961//   An exception indicating a throttling error.
2962//
2963// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateRuleVersion
2964func (c *FraudDetector) UpdateRuleVersion(input *UpdateRuleVersionInput) (*UpdateRuleVersionOutput, error) {
2965	req, out := c.UpdateRuleVersionRequest(input)
2966	return out, req.Send()
2967}
2968
2969// UpdateRuleVersionWithContext is the same as UpdateRuleVersion with the addition of
2970// the ability to pass a context and additional request options.
2971//
2972// See UpdateRuleVersion for details on how to use this API operation.
2973//
2974// The context must be non-nil and will be used for request cancellation. If
2975// the context is nil a panic will occur. In the future the SDK may create
2976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2977// for more information on using Contexts.
2978func (c *FraudDetector) UpdateRuleVersionWithContext(ctx aws.Context, input *UpdateRuleVersionInput, opts ...request.Option) (*UpdateRuleVersionOutput, error) {
2979	req, out := c.UpdateRuleVersionRequest(input)
2980	req.SetContext(ctx)
2981	req.ApplyOptions(opts...)
2982	return out, req.Send()
2983}
2984
2985const opUpdateVariable = "UpdateVariable"
2986
2987// UpdateVariableRequest generates a "aws/request.Request" representing the
2988// client's request for the UpdateVariable operation. The "output" return
2989// value will be populated with the request's response once the request completes
2990// successfully.
2991//
2992// Use "Send" method on the returned Request to send the API call to the service.
2993// the "output" return value is not valid until after Send returns without error.
2994//
2995// See UpdateVariable for more information on using the UpdateVariable
2996// API call, and error handling.
2997//
2998// This method is useful when you want to inject custom logic or configuration
2999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3000//
3001//
3002//    // Example sending a request using the UpdateVariableRequest method.
3003//    req, resp := client.UpdateVariableRequest(params)
3004//
3005//    err := req.Send()
3006//    if err == nil { // resp is now filled
3007//        fmt.Println(resp)
3008//    }
3009//
3010// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable
3011func (c *FraudDetector) UpdateVariableRequest(input *UpdateVariableInput) (req *request.Request, output *UpdateVariableOutput) {
3012	op := &request.Operation{
3013		Name:       opUpdateVariable,
3014		HTTPMethod: "POST",
3015		HTTPPath:   "/",
3016	}
3017
3018	if input == nil {
3019		input = &UpdateVariableInput{}
3020	}
3021
3022	output = &UpdateVariableOutput{}
3023	req = c.newRequest(op, input, output)
3024	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3025	return
3026}
3027
3028// UpdateVariable API operation for Amazon Fraud Detector.
3029//
3030// Updates a variable.
3031//
3032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3033// with awserr.Error's Code and Message methods to get detailed information about
3034// the error.
3035//
3036// See the AWS API reference guide for Amazon Fraud Detector's
3037// API operation UpdateVariable for usage and error information.
3038//
3039// Returned Error Codes:
3040//   * ErrCodeValidationException "ValidationException"
3041//   An exception indicating a specified value is not allowed.
3042//
3043//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3044//   An exception indicating the specified resource was not found.
3045//
3046//   * ErrCodeInternalServerException "InternalServerException"
3047//   An exception indicating an internal server error.
3048//
3049//   * ErrCodeThrottlingException "ThrottlingException"
3050//   An exception indicating a throttling error.
3051//
3052// See also, https://docs.aws.amazon.com/goto/WebAPI/frauddetector-2019-11-15/UpdateVariable
3053func (c *FraudDetector) UpdateVariable(input *UpdateVariableInput) (*UpdateVariableOutput, error) {
3054	req, out := c.UpdateVariableRequest(input)
3055	return out, req.Send()
3056}
3057
3058// UpdateVariableWithContext is the same as UpdateVariable with the addition of
3059// the ability to pass a context and additional request options.
3060//
3061// See UpdateVariable for details on how to use this API operation.
3062//
3063// The context must be non-nil and will be used for request cancellation. If
3064// the context is nil a panic will occur. In the future the SDK may create
3065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3066// for more information on using Contexts.
3067func (c *FraudDetector) UpdateVariableWithContext(ctx aws.Context, input *UpdateVariableInput, opts ...request.Option) (*UpdateVariableOutput, error) {
3068	req, out := c.UpdateVariableRequest(input)
3069	req.SetContext(ctx)
3070	req.ApplyOptions(opts...)
3071	return out, req.Send()
3072}
3073
3074// Provides the error of the batch create variable API.
3075type BatchCreateVariableError struct {
3076	_ struct{} `type:"structure"`
3077
3078	// The error code.
3079	Code *int64 `locationName:"code" type:"integer"`
3080
3081	// The error message.
3082	Message *string `locationName:"message" type:"string"`
3083
3084	// The name.
3085	Name *string `locationName:"name" type:"string"`
3086}
3087
3088// String returns the string representation
3089func (s BatchCreateVariableError) String() string {
3090	return awsutil.Prettify(s)
3091}
3092
3093// GoString returns the string representation
3094func (s BatchCreateVariableError) GoString() string {
3095	return s.String()
3096}
3097
3098// SetCode sets the Code field's value.
3099func (s *BatchCreateVariableError) SetCode(v int64) *BatchCreateVariableError {
3100	s.Code = &v
3101	return s
3102}
3103
3104// SetMessage sets the Message field's value.
3105func (s *BatchCreateVariableError) SetMessage(v string) *BatchCreateVariableError {
3106	s.Message = &v
3107	return s
3108}
3109
3110// SetName sets the Name field's value.
3111func (s *BatchCreateVariableError) SetName(v string) *BatchCreateVariableError {
3112	s.Name = &v
3113	return s
3114}
3115
3116type BatchCreateVariableInput struct {
3117	_ struct{} `type:"structure"`
3118
3119	// The list of variables for the batch create variable request.
3120	//
3121	// VariableEntries is a required field
3122	VariableEntries []*VariableEntry `locationName:"variableEntries" min:"1" type:"list" required:"true"`
3123}
3124
3125// String returns the string representation
3126func (s BatchCreateVariableInput) String() string {
3127	return awsutil.Prettify(s)
3128}
3129
3130// GoString returns the string representation
3131func (s BatchCreateVariableInput) GoString() string {
3132	return s.String()
3133}
3134
3135// Validate inspects the fields of the type to determine if they are valid.
3136func (s *BatchCreateVariableInput) Validate() error {
3137	invalidParams := request.ErrInvalidParams{Context: "BatchCreateVariableInput"}
3138	if s.VariableEntries == nil {
3139		invalidParams.Add(request.NewErrParamRequired("VariableEntries"))
3140	}
3141	if s.VariableEntries != nil && len(s.VariableEntries) < 1 {
3142		invalidParams.Add(request.NewErrParamMinLen("VariableEntries", 1))
3143	}
3144
3145	if invalidParams.Len() > 0 {
3146		return invalidParams
3147	}
3148	return nil
3149}
3150
3151// SetVariableEntries sets the VariableEntries field's value.
3152func (s *BatchCreateVariableInput) SetVariableEntries(v []*VariableEntry) *BatchCreateVariableInput {
3153	s.VariableEntries = v
3154	return s
3155}
3156
3157type BatchCreateVariableOutput struct {
3158	_ struct{} `type:"structure"`
3159
3160	// Provides the errors for the BatchCreateVariable request.
3161	Errors []*BatchCreateVariableError `locationName:"errors" type:"list"`
3162}
3163
3164// String returns the string representation
3165func (s BatchCreateVariableOutput) String() string {
3166	return awsutil.Prettify(s)
3167}
3168
3169// GoString returns the string representation
3170func (s BatchCreateVariableOutput) GoString() string {
3171	return s.String()
3172}
3173
3174// SetErrors sets the Errors field's value.
3175func (s *BatchCreateVariableOutput) SetErrors(v []*BatchCreateVariableError) *BatchCreateVariableOutput {
3176	s.Errors = v
3177	return s
3178}
3179
3180// Provides the error of the batch get variable API.
3181type BatchGetVariableError struct {
3182	_ struct{} `type:"structure"`
3183
3184	// The error code.
3185	Code *int64 `locationName:"code" type:"integer"`
3186
3187	// The error message.
3188	Message *string `locationName:"message" type:"string"`
3189
3190	// The error name.
3191	Name *string `locationName:"name" type:"string"`
3192}
3193
3194// String returns the string representation
3195func (s BatchGetVariableError) String() string {
3196	return awsutil.Prettify(s)
3197}
3198
3199// GoString returns the string representation
3200func (s BatchGetVariableError) GoString() string {
3201	return s.String()
3202}
3203
3204// SetCode sets the Code field's value.
3205func (s *BatchGetVariableError) SetCode(v int64) *BatchGetVariableError {
3206	s.Code = &v
3207	return s
3208}
3209
3210// SetMessage sets the Message field's value.
3211func (s *BatchGetVariableError) SetMessage(v string) *BatchGetVariableError {
3212	s.Message = &v
3213	return s
3214}
3215
3216// SetName sets the Name field's value.
3217func (s *BatchGetVariableError) SetName(v string) *BatchGetVariableError {
3218	s.Name = &v
3219	return s
3220}
3221
3222type BatchGetVariableInput struct {
3223	_ struct{} `type:"structure"`
3224
3225	// The list of variable names to get.
3226	//
3227	// Names is a required field
3228	Names []*string `locationName:"names" min:"1" type:"list" required:"true"`
3229}
3230
3231// String returns the string representation
3232func (s BatchGetVariableInput) String() string {
3233	return awsutil.Prettify(s)
3234}
3235
3236// GoString returns the string representation
3237func (s BatchGetVariableInput) GoString() string {
3238	return s.String()
3239}
3240
3241// Validate inspects the fields of the type to determine if they are valid.
3242func (s *BatchGetVariableInput) Validate() error {
3243	invalidParams := request.ErrInvalidParams{Context: "BatchGetVariableInput"}
3244	if s.Names == nil {
3245		invalidParams.Add(request.NewErrParamRequired("Names"))
3246	}
3247	if s.Names != nil && len(s.Names) < 1 {
3248		invalidParams.Add(request.NewErrParamMinLen("Names", 1))
3249	}
3250
3251	if invalidParams.Len() > 0 {
3252		return invalidParams
3253	}
3254	return nil
3255}
3256
3257// SetNames sets the Names field's value.
3258func (s *BatchGetVariableInput) SetNames(v []*string) *BatchGetVariableInput {
3259	s.Names = v
3260	return s
3261}
3262
3263type BatchGetVariableOutput struct {
3264	_ struct{} `type:"structure"`
3265
3266	// The errors from the request.
3267	Errors []*BatchGetVariableError `locationName:"errors" type:"list"`
3268
3269	// The returned variables.
3270	Variables []*Variable `locationName:"variables" type:"list"`
3271}
3272
3273// String returns the string representation
3274func (s BatchGetVariableOutput) String() string {
3275	return awsutil.Prettify(s)
3276}
3277
3278// GoString returns the string representation
3279func (s BatchGetVariableOutput) GoString() string {
3280	return s.String()
3281}
3282
3283// SetErrors sets the Errors field's value.
3284func (s *BatchGetVariableOutput) SetErrors(v []*BatchGetVariableError) *BatchGetVariableOutput {
3285	s.Errors = v
3286	return s
3287}
3288
3289// SetVariables sets the Variables field's value.
3290func (s *BatchGetVariableOutput) SetVariables(v []*Variable) *BatchGetVariableOutput {
3291	s.Variables = v
3292	return s
3293}
3294
3295type CreateDetectorVersionInput struct {
3296	_ struct{} `type:"structure"`
3297
3298	// The description of the detector version.
3299	Description *string `locationName:"description" min:"1" type:"string"`
3300
3301	// The ID of the detector under which you want to create a new version.
3302	//
3303	// DetectorId is a required field
3304	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
3305
3306	// The Amazon Sagemaker model endpoints to include in the detector version.
3307	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list"`
3308
3309	// The model versions to include in the detector version.
3310	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
3311
3312	// The rules to include in the detector version.
3313	//
3314	// Rules is a required field
3315	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
3316}
3317
3318// String returns the string representation
3319func (s CreateDetectorVersionInput) String() string {
3320	return awsutil.Prettify(s)
3321}
3322
3323// GoString returns the string representation
3324func (s CreateDetectorVersionInput) GoString() string {
3325	return s.String()
3326}
3327
3328// Validate inspects the fields of the type to determine if they are valid.
3329func (s *CreateDetectorVersionInput) Validate() error {
3330	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorVersionInput"}
3331	if s.Description != nil && len(*s.Description) < 1 {
3332		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3333	}
3334	if s.DetectorId == nil {
3335		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
3336	}
3337	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
3338		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
3339	}
3340	if s.Rules == nil {
3341		invalidParams.Add(request.NewErrParamRequired("Rules"))
3342	}
3343	if s.ModelVersions != nil {
3344		for i, v := range s.ModelVersions {
3345			if v == nil {
3346				continue
3347			}
3348			if err := v.Validate(); err != nil {
3349				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelVersions", i), err.(request.ErrInvalidParams))
3350			}
3351		}
3352	}
3353	if s.Rules != nil {
3354		for i, v := range s.Rules {
3355			if v == nil {
3356				continue
3357			}
3358			if err := v.Validate(); err != nil {
3359				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
3360			}
3361		}
3362	}
3363
3364	if invalidParams.Len() > 0 {
3365		return invalidParams
3366	}
3367	return nil
3368}
3369
3370// SetDescription sets the Description field's value.
3371func (s *CreateDetectorVersionInput) SetDescription(v string) *CreateDetectorVersionInput {
3372	s.Description = &v
3373	return s
3374}
3375
3376// SetDetectorId sets the DetectorId field's value.
3377func (s *CreateDetectorVersionInput) SetDetectorId(v string) *CreateDetectorVersionInput {
3378	s.DetectorId = &v
3379	return s
3380}
3381
3382// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
3383func (s *CreateDetectorVersionInput) SetExternalModelEndpoints(v []*string) *CreateDetectorVersionInput {
3384	s.ExternalModelEndpoints = v
3385	return s
3386}
3387
3388// SetModelVersions sets the ModelVersions field's value.
3389func (s *CreateDetectorVersionInput) SetModelVersions(v []*ModelVersion) *CreateDetectorVersionInput {
3390	s.ModelVersions = v
3391	return s
3392}
3393
3394// SetRules sets the Rules field's value.
3395func (s *CreateDetectorVersionInput) SetRules(v []*Rule) *CreateDetectorVersionInput {
3396	s.Rules = v
3397	return s
3398}
3399
3400type CreateDetectorVersionOutput struct {
3401	_ struct{} `type:"structure"`
3402
3403	// The ID for the created version's parent detector.
3404	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
3405
3406	// The ID for the created detector.
3407	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
3408
3409	// The status of the detector version.
3410	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
3411}
3412
3413// String returns the string representation
3414func (s CreateDetectorVersionOutput) String() string {
3415	return awsutil.Prettify(s)
3416}
3417
3418// GoString returns the string representation
3419func (s CreateDetectorVersionOutput) GoString() string {
3420	return s.String()
3421}
3422
3423// SetDetectorId sets the DetectorId field's value.
3424func (s *CreateDetectorVersionOutput) SetDetectorId(v string) *CreateDetectorVersionOutput {
3425	s.DetectorId = &v
3426	return s
3427}
3428
3429// SetDetectorVersionId sets the DetectorVersionId field's value.
3430func (s *CreateDetectorVersionOutput) SetDetectorVersionId(v string) *CreateDetectorVersionOutput {
3431	s.DetectorVersionId = &v
3432	return s
3433}
3434
3435// SetStatus sets the Status field's value.
3436func (s *CreateDetectorVersionOutput) SetStatus(v string) *CreateDetectorVersionOutput {
3437	s.Status = &v
3438	return s
3439}
3440
3441type CreateModelVersionInput struct {
3442	_ struct{} `type:"structure"`
3443
3444	// The model version description.
3445	Description *string `locationName:"description" min:"1" type:"string"`
3446
3447	// The model ID.
3448	//
3449	// ModelId is a required field
3450	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
3451
3452	// The model type.
3453	//
3454	// ModelType is a required field
3455	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
3456}
3457
3458// String returns the string representation
3459func (s CreateModelVersionInput) String() string {
3460	return awsutil.Prettify(s)
3461}
3462
3463// GoString returns the string representation
3464func (s CreateModelVersionInput) GoString() string {
3465	return s.String()
3466}
3467
3468// Validate inspects the fields of the type to determine if they are valid.
3469func (s *CreateModelVersionInput) Validate() error {
3470	invalidParams := request.ErrInvalidParams{Context: "CreateModelVersionInput"}
3471	if s.Description != nil && len(*s.Description) < 1 {
3472		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3473	}
3474	if s.ModelId == nil {
3475		invalidParams.Add(request.NewErrParamRequired("ModelId"))
3476	}
3477	if s.ModelId != nil && len(*s.ModelId) < 1 {
3478		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
3479	}
3480	if s.ModelType == nil {
3481		invalidParams.Add(request.NewErrParamRequired("ModelType"))
3482	}
3483
3484	if invalidParams.Len() > 0 {
3485		return invalidParams
3486	}
3487	return nil
3488}
3489
3490// SetDescription sets the Description field's value.
3491func (s *CreateModelVersionInput) SetDescription(v string) *CreateModelVersionInput {
3492	s.Description = &v
3493	return s
3494}
3495
3496// SetModelId sets the ModelId field's value.
3497func (s *CreateModelVersionInput) SetModelId(v string) *CreateModelVersionInput {
3498	s.ModelId = &v
3499	return s
3500}
3501
3502// SetModelType sets the ModelType field's value.
3503func (s *CreateModelVersionInput) SetModelType(v string) *CreateModelVersionInput {
3504	s.ModelType = &v
3505	return s
3506}
3507
3508type CreateModelVersionOutput struct {
3509	_ struct{} `type:"structure"`
3510
3511	// The model ID.
3512	ModelId *string `locationName:"modelId" min:"1" type:"string"`
3513
3514	// The model type.
3515	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
3516
3517	// The version of the model.
3518	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string"`
3519
3520	// The model version status.
3521	Status *string `locationName:"status" type:"string"`
3522}
3523
3524// String returns the string representation
3525func (s CreateModelVersionOutput) String() string {
3526	return awsutil.Prettify(s)
3527}
3528
3529// GoString returns the string representation
3530func (s CreateModelVersionOutput) GoString() string {
3531	return s.String()
3532}
3533
3534// SetModelId sets the ModelId field's value.
3535func (s *CreateModelVersionOutput) SetModelId(v string) *CreateModelVersionOutput {
3536	s.ModelId = &v
3537	return s
3538}
3539
3540// SetModelType sets the ModelType field's value.
3541func (s *CreateModelVersionOutput) SetModelType(v string) *CreateModelVersionOutput {
3542	s.ModelType = &v
3543	return s
3544}
3545
3546// SetModelVersionNumber sets the ModelVersionNumber field's value.
3547func (s *CreateModelVersionOutput) SetModelVersionNumber(v string) *CreateModelVersionOutput {
3548	s.ModelVersionNumber = &v
3549	return s
3550}
3551
3552// SetStatus sets the Status field's value.
3553func (s *CreateModelVersionOutput) SetStatus(v string) *CreateModelVersionOutput {
3554	s.Status = &v
3555	return s
3556}
3557
3558type CreateRuleInput struct {
3559	_ struct{} `type:"structure"`
3560
3561	// The rule description.
3562	Description *string `locationName:"description" min:"1" type:"string"`
3563
3564	// The detector ID for the rule's parent detector.
3565	//
3566	// DetectorId is a required field
3567	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
3568
3569	// The rule expression.
3570	//
3571	// Expression is a required field
3572	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
3573
3574	// The language of the rule.
3575	//
3576	// Language is a required field
3577	Language *string `locationName:"language" type:"string" required:"true" enum:"Language"`
3578
3579	// The outcome or outcomes returned when the rule expression matches.
3580	//
3581	// Outcomes is a required field
3582	Outcomes []*string `locationName:"outcomes" min:"1" type:"list" required:"true"`
3583
3584	// The rule ID.
3585	//
3586	// RuleId is a required field
3587	RuleId *string `locationName:"ruleId" min:"1" type:"string" required:"true"`
3588}
3589
3590// String returns the string representation
3591func (s CreateRuleInput) String() string {
3592	return awsutil.Prettify(s)
3593}
3594
3595// GoString returns the string representation
3596func (s CreateRuleInput) GoString() string {
3597	return s.String()
3598}
3599
3600// Validate inspects the fields of the type to determine if they are valid.
3601func (s *CreateRuleInput) Validate() error {
3602	invalidParams := request.ErrInvalidParams{Context: "CreateRuleInput"}
3603	if s.Description != nil && len(*s.Description) < 1 {
3604		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
3605	}
3606	if s.DetectorId == nil {
3607		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
3608	}
3609	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
3610		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
3611	}
3612	if s.Expression == nil {
3613		invalidParams.Add(request.NewErrParamRequired("Expression"))
3614	}
3615	if s.Expression != nil && len(*s.Expression) < 1 {
3616		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
3617	}
3618	if s.Language == nil {
3619		invalidParams.Add(request.NewErrParamRequired("Language"))
3620	}
3621	if s.Outcomes == nil {
3622		invalidParams.Add(request.NewErrParamRequired("Outcomes"))
3623	}
3624	if s.Outcomes != nil && len(s.Outcomes) < 1 {
3625		invalidParams.Add(request.NewErrParamMinLen("Outcomes", 1))
3626	}
3627	if s.RuleId == nil {
3628		invalidParams.Add(request.NewErrParamRequired("RuleId"))
3629	}
3630	if s.RuleId != nil && len(*s.RuleId) < 1 {
3631		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
3632	}
3633
3634	if invalidParams.Len() > 0 {
3635		return invalidParams
3636	}
3637	return nil
3638}
3639
3640// SetDescription sets the Description field's value.
3641func (s *CreateRuleInput) SetDescription(v string) *CreateRuleInput {
3642	s.Description = &v
3643	return s
3644}
3645
3646// SetDetectorId sets the DetectorId field's value.
3647func (s *CreateRuleInput) SetDetectorId(v string) *CreateRuleInput {
3648	s.DetectorId = &v
3649	return s
3650}
3651
3652// SetExpression sets the Expression field's value.
3653func (s *CreateRuleInput) SetExpression(v string) *CreateRuleInput {
3654	s.Expression = &v
3655	return s
3656}
3657
3658// SetLanguage sets the Language field's value.
3659func (s *CreateRuleInput) SetLanguage(v string) *CreateRuleInput {
3660	s.Language = &v
3661	return s
3662}
3663
3664// SetOutcomes sets the Outcomes field's value.
3665func (s *CreateRuleInput) SetOutcomes(v []*string) *CreateRuleInput {
3666	s.Outcomes = v
3667	return s
3668}
3669
3670// SetRuleId sets the RuleId field's value.
3671func (s *CreateRuleInput) SetRuleId(v string) *CreateRuleInput {
3672	s.RuleId = &v
3673	return s
3674}
3675
3676type CreateRuleOutput struct {
3677	_ struct{} `type:"structure"`
3678
3679	// The created rule.
3680	Rule *Rule `locationName:"rule" type:"structure"`
3681}
3682
3683// String returns the string representation
3684func (s CreateRuleOutput) String() string {
3685	return awsutil.Prettify(s)
3686}
3687
3688// GoString returns the string representation
3689func (s CreateRuleOutput) GoString() string {
3690	return s.String()
3691}
3692
3693// SetRule sets the Rule field's value.
3694func (s *CreateRuleOutput) SetRule(v *Rule) *CreateRuleOutput {
3695	s.Rule = v
3696	return s
3697}
3698
3699type CreateVariableInput struct {
3700	_ struct{} `type:"structure"`
3701
3702	// The source of the data.
3703	//
3704	// DataSource is a required field
3705	DataSource *string `locationName:"dataSource" type:"string" required:"true" enum:"DataSource"`
3706
3707	// The data type.
3708	//
3709	// DataType is a required field
3710	DataType *string `locationName:"dataType" type:"string" required:"true" enum:"DataType"`
3711
3712	// The default value for the variable when no value is received.
3713	//
3714	// DefaultValue is a required field
3715	DefaultValue *string `locationName:"defaultValue" type:"string" required:"true"`
3716
3717	// The description.
3718	Description *string `locationName:"description" type:"string"`
3719
3720	// The name of the variable.
3721	//
3722	// Name is a required field
3723	Name *string `locationName:"name" type:"string" required:"true"`
3724
3725	// The variable type.
3726	VariableType *string `locationName:"variableType" type:"string"`
3727}
3728
3729// String returns the string representation
3730func (s CreateVariableInput) String() string {
3731	return awsutil.Prettify(s)
3732}
3733
3734// GoString returns the string representation
3735func (s CreateVariableInput) GoString() string {
3736	return s.String()
3737}
3738
3739// Validate inspects the fields of the type to determine if they are valid.
3740func (s *CreateVariableInput) Validate() error {
3741	invalidParams := request.ErrInvalidParams{Context: "CreateVariableInput"}
3742	if s.DataSource == nil {
3743		invalidParams.Add(request.NewErrParamRequired("DataSource"))
3744	}
3745	if s.DataType == nil {
3746		invalidParams.Add(request.NewErrParamRequired("DataType"))
3747	}
3748	if s.DefaultValue == nil {
3749		invalidParams.Add(request.NewErrParamRequired("DefaultValue"))
3750	}
3751	if s.Name == nil {
3752		invalidParams.Add(request.NewErrParamRequired("Name"))
3753	}
3754
3755	if invalidParams.Len() > 0 {
3756		return invalidParams
3757	}
3758	return nil
3759}
3760
3761// SetDataSource sets the DataSource field's value.
3762func (s *CreateVariableInput) SetDataSource(v string) *CreateVariableInput {
3763	s.DataSource = &v
3764	return s
3765}
3766
3767// SetDataType sets the DataType field's value.
3768func (s *CreateVariableInput) SetDataType(v string) *CreateVariableInput {
3769	s.DataType = &v
3770	return s
3771}
3772
3773// SetDefaultValue sets the DefaultValue field's value.
3774func (s *CreateVariableInput) SetDefaultValue(v string) *CreateVariableInput {
3775	s.DefaultValue = &v
3776	return s
3777}
3778
3779// SetDescription sets the Description field's value.
3780func (s *CreateVariableInput) SetDescription(v string) *CreateVariableInput {
3781	s.Description = &v
3782	return s
3783}
3784
3785// SetName sets the Name field's value.
3786func (s *CreateVariableInput) SetName(v string) *CreateVariableInput {
3787	s.Name = &v
3788	return s
3789}
3790
3791// SetVariableType sets the VariableType field's value.
3792func (s *CreateVariableInput) SetVariableType(v string) *CreateVariableInput {
3793	s.VariableType = &v
3794	return s
3795}
3796
3797type CreateVariableOutput struct {
3798	_ struct{} `type:"structure"`
3799}
3800
3801// String returns the string representation
3802func (s CreateVariableOutput) String() string {
3803	return awsutil.Prettify(s)
3804}
3805
3806// GoString returns the string representation
3807func (s CreateVariableOutput) GoString() string {
3808	return s.String()
3809}
3810
3811type DeleteDetectorVersionInput struct {
3812	_ struct{} `type:"structure"`
3813
3814	// The ID of the parent detector for the detector version to delete.
3815	//
3816	// DetectorId is a required field
3817	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
3818
3819	// The ID of the detector version to delete.
3820	//
3821	// DetectorVersionId is a required field
3822	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
3823}
3824
3825// String returns the string representation
3826func (s DeleteDetectorVersionInput) String() string {
3827	return awsutil.Prettify(s)
3828}
3829
3830// GoString returns the string representation
3831func (s DeleteDetectorVersionInput) GoString() string {
3832	return s.String()
3833}
3834
3835// Validate inspects the fields of the type to determine if they are valid.
3836func (s *DeleteDetectorVersionInput) Validate() error {
3837	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorVersionInput"}
3838	if s.DetectorId == nil {
3839		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
3840	}
3841	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
3842		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
3843	}
3844	if s.DetectorVersionId == nil {
3845		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
3846	}
3847	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
3848		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
3849	}
3850
3851	if invalidParams.Len() > 0 {
3852		return invalidParams
3853	}
3854	return nil
3855}
3856
3857// SetDetectorId sets the DetectorId field's value.
3858func (s *DeleteDetectorVersionInput) SetDetectorId(v string) *DeleteDetectorVersionInput {
3859	s.DetectorId = &v
3860	return s
3861}
3862
3863// SetDetectorVersionId sets the DetectorVersionId field's value.
3864func (s *DeleteDetectorVersionInput) SetDetectorVersionId(v string) *DeleteDetectorVersionInput {
3865	s.DetectorVersionId = &v
3866	return s
3867}
3868
3869type DeleteDetectorVersionOutput struct {
3870	_ struct{} `type:"structure"`
3871}
3872
3873// String returns the string representation
3874func (s DeleteDetectorVersionOutput) String() string {
3875	return awsutil.Prettify(s)
3876}
3877
3878// GoString returns the string representation
3879func (s DeleteDetectorVersionOutput) GoString() string {
3880	return s.String()
3881}
3882
3883type DeleteEventInput struct {
3884	_ struct{} `type:"structure"`
3885
3886	// The ID of the event to delete.
3887	//
3888	// EventId is a required field
3889	EventId *string `locationName:"eventId" type:"string" required:"true"`
3890}
3891
3892// String returns the string representation
3893func (s DeleteEventInput) String() string {
3894	return awsutil.Prettify(s)
3895}
3896
3897// GoString returns the string representation
3898func (s DeleteEventInput) GoString() string {
3899	return s.String()
3900}
3901
3902// Validate inspects the fields of the type to determine if they are valid.
3903func (s *DeleteEventInput) Validate() error {
3904	invalidParams := request.ErrInvalidParams{Context: "DeleteEventInput"}
3905	if s.EventId == nil {
3906		invalidParams.Add(request.NewErrParamRequired("EventId"))
3907	}
3908
3909	if invalidParams.Len() > 0 {
3910		return invalidParams
3911	}
3912	return nil
3913}
3914
3915// SetEventId sets the EventId field's value.
3916func (s *DeleteEventInput) SetEventId(v string) *DeleteEventInput {
3917	s.EventId = &v
3918	return s
3919}
3920
3921type DeleteEventOutput struct {
3922	_ struct{} `type:"structure"`
3923}
3924
3925// String returns the string representation
3926func (s DeleteEventOutput) String() string {
3927	return awsutil.Prettify(s)
3928}
3929
3930// GoString returns the string representation
3931func (s DeleteEventOutput) GoString() string {
3932	return s.String()
3933}
3934
3935type DescribeDetectorInput struct {
3936	_ struct{} `type:"structure"`
3937
3938	// The detector ID.
3939	//
3940	// DetectorId is a required field
3941	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
3942
3943	// The maximum number of results to return for the request.
3944	MaxResults *int64 `locationName:"maxResults" min:"1000" type:"integer"`
3945
3946	// The next token from the previous response.
3947	NextToken *string `locationName:"nextToken" type:"string"`
3948}
3949
3950// String returns the string representation
3951func (s DescribeDetectorInput) String() string {
3952	return awsutil.Prettify(s)
3953}
3954
3955// GoString returns the string representation
3956func (s DescribeDetectorInput) GoString() string {
3957	return s.String()
3958}
3959
3960// Validate inspects the fields of the type to determine if they are valid.
3961func (s *DescribeDetectorInput) Validate() error {
3962	invalidParams := request.ErrInvalidParams{Context: "DescribeDetectorInput"}
3963	if s.DetectorId == nil {
3964		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
3965	}
3966	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
3967		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
3968	}
3969	if s.MaxResults != nil && *s.MaxResults < 1000 {
3970		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1000))
3971	}
3972
3973	if invalidParams.Len() > 0 {
3974		return invalidParams
3975	}
3976	return nil
3977}
3978
3979// SetDetectorId sets the DetectorId field's value.
3980func (s *DescribeDetectorInput) SetDetectorId(v string) *DescribeDetectorInput {
3981	s.DetectorId = &v
3982	return s
3983}
3984
3985// SetMaxResults sets the MaxResults field's value.
3986func (s *DescribeDetectorInput) SetMaxResults(v int64) *DescribeDetectorInput {
3987	s.MaxResults = &v
3988	return s
3989}
3990
3991// SetNextToken sets the NextToken field's value.
3992func (s *DescribeDetectorInput) SetNextToken(v string) *DescribeDetectorInput {
3993	s.NextToken = &v
3994	return s
3995}
3996
3997type DescribeDetectorOutput struct {
3998	_ struct{} `type:"structure"`
3999
4000	// The detector ID.
4001	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
4002
4003	// The status and description for each detector version.
4004	DetectorVersionSummaries []*DetectorVersionSummary `locationName:"detectorVersionSummaries" type:"list"`
4005
4006	// The next token to be used for subsequent requests.
4007	NextToken *string `locationName:"nextToken" type:"string"`
4008}
4009
4010// String returns the string representation
4011func (s DescribeDetectorOutput) String() string {
4012	return awsutil.Prettify(s)
4013}
4014
4015// GoString returns the string representation
4016func (s DescribeDetectorOutput) GoString() string {
4017	return s.String()
4018}
4019
4020// SetDetectorId sets the DetectorId field's value.
4021func (s *DescribeDetectorOutput) SetDetectorId(v string) *DescribeDetectorOutput {
4022	s.DetectorId = &v
4023	return s
4024}
4025
4026// SetDetectorVersionSummaries sets the DetectorVersionSummaries field's value.
4027func (s *DescribeDetectorOutput) SetDetectorVersionSummaries(v []*DetectorVersionSummary) *DescribeDetectorOutput {
4028	s.DetectorVersionSummaries = v
4029	return s
4030}
4031
4032// SetNextToken sets the NextToken field's value.
4033func (s *DescribeDetectorOutput) SetNextToken(v string) *DescribeDetectorOutput {
4034	s.NextToken = &v
4035	return s
4036}
4037
4038type DescribeModelVersionsInput struct {
4039	_ struct{} `type:"structure"`
4040
4041	// The maximum number of results to return.
4042	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4043
4044	// The model ID.
4045	ModelId *string `locationName:"modelId" min:"1" type:"string"`
4046
4047	// The model type.
4048	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
4049
4050	// The model version.
4051	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string"`
4052
4053	// The next token from the previous results.
4054	NextToken *string `locationName:"nextToken" type:"string"`
4055}
4056
4057// String returns the string representation
4058func (s DescribeModelVersionsInput) String() string {
4059	return awsutil.Prettify(s)
4060}
4061
4062// GoString returns the string representation
4063func (s DescribeModelVersionsInput) GoString() string {
4064	return s.String()
4065}
4066
4067// Validate inspects the fields of the type to determine if they are valid.
4068func (s *DescribeModelVersionsInput) Validate() error {
4069	invalidParams := request.ErrInvalidParams{Context: "DescribeModelVersionsInput"}
4070	if s.MaxResults != nil && *s.MaxResults < 1 {
4071		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4072	}
4073	if s.ModelId != nil && len(*s.ModelId) < 1 {
4074		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
4075	}
4076	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 1 {
4077		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 1))
4078	}
4079
4080	if invalidParams.Len() > 0 {
4081		return invalidParams
4082	}
4083	return nil
4084}
4085
4086// SetMaxResults sets the MaxResults field's value.
4087func (s *DescribeModelVersionsInput) SetMaxResults(v int64) *DescribeModelVersionsInput {
4088	s.MaxResults = &v
4089	return s
4090}
4091
4092// SetModelId sets the ModelId field's value.
4093func (s *DescribeModelVersionsInput) SetModelId(v string) *DescribeModelVersionsInput {
4094	s.ModelId = &v
4095	return s
4096}
4097
4098// SetModelType sets the ModelType field's value.
4099func (s *DescribeModelVersionsInput) SetModelType(v string) *DescribeModelVersionsInput {
4100	s.ModelType = &v
4101	return s
4102}
4103
4104// SetModelVersionNumber sets the ModelVersionNumber field's value.
4105func (s *DescribeModelVersionsInput) SetModelVersionNumber(v string) *DescribeModelVersionsInput {
4106	s.ModelVersionNumber = &v
4107	return s
4108}
4109
4110// SetNextToken sets the NextToken field's value.
4111func (s *DescribeModelVersionsInput) SetNextToken(v string) *DescribeModelVersionsInput {
4112	s.NextToken = &v
4113	return s
4114}
4115
4116type DescribeModelVersionsOutput struct {
4117	_ struct{} `type:"structure"`
4118
4119	// The model version details.
4120	ModelVersionDetails []*ModelVersionDetail `locationName:"modelVersionDetails" type:"list"`
4121
4122	// The next token.
4123	NextToken *string `locationName:"nextToken" type:"string"`
4124}
4125
4126// String returns the string representation
4127func (s DescribeModelVersionsOutput) String() string {
4128	return awsutil.Prettify(s)
4129}
4130
4131// GoString returns the string representation
4132func (s DescribeModelVersionsOutput) GoString() string {
4133	return s.String()
4134}
4135
4136// SetModelVersionDetails sets the ModelVersionDetails field's value.
4137func (s *DescribeModelVersionsOutput) SetModelVersionDetails(v []*ModelVersionDetail) *DescribeModelVersionsOutput {
4138	s.ModelVersionDetails = v
4139	return s
4140}
4141
4142// SetNextToken sets the NextToken field's value.
4143func (s *DescribeModelVersionsOutput) SetNextToken(v string) *DescribeModelVersionsOutput {
4144	s.NextToken = &v
4145	return s
4146}
4147
4148// The detector.
4149type Detector struct {
4150	_ struct{} `type:"structure"`
4151
4152	// Timestamp of when the detector was created.
4153	CreatedTime *string `locationName:"createdTime" type:"string"`
4154
4155	// The detector description.
4156	Description *string `locationName:"description" min:"1" type:"string"`
4157
4158	// The detector ID.
4159	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
4160
4161	// Timestamp of when the detector was last updated.
4162	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
4163}
4164
4165// String returns the string representation
4166func (s Detector) String() string {
4167	return awsutil.Prettify(s)
4168}
4169
4170// GoString returns the string representation
4171func (s Detector) GoString() string {
4172	return s.String()
4173}
4174
4175// SetCreatedTime sets the CreatedTime field's value.
4176func (s *Detector) SetCreatedTime(v string) *Detector {
4177	s.CreatedTime = &v
4178	return s
4179}
4180
4181// SetDescription sets the Description field's value.
4182func (s *Detector) SetDescription(v string) *Detector {
4183	s.Description = &v
4184	return s
4185}
4186
4187// SetDetectorId sets the DetectorId field's value.
4188func (s *Detector) SetDetectorId(v string) *Detector {
4189	s.DetectorId = &v
4190	return s
4191}
4192
4193// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4194func (s *Detector) SetLastUpdatedTime(v string) *Detector {
4195	s.LastUpdatedTime = &v
4196	return s
4197}
4198
4199// The summary of the detector version.
4200type DetectorVersionSummary struct {
4201	_ struct{} `type:"structure"`
4202
4203	// The detector version description.
4204	Description *string `locationName:"description" min:"1" type:"string"`
4205
4206	// The detector version ID.
4207	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
4208
4209	// Timestamp of when the detector version was last updated.
4210	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
4211
4212	// The detector version status.
4213	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
4214}
4215
4216// String returns the string representation
4217func (s DetectorVersionSummary) String() string {
4218	return awsutil.Prettify(s)
4219}
4220
4221// GoString returns the string representation
4222func (s DetectorVersionSummary) GoString() string {
4223	return s.String()
4224}
4225
4226// SetDescription sets the Description field's value.
4227func (s *DetectorVersionSummary) SetDescription(v string) *DetectorVersionSummary {
4228	s.Description = &v
4229	return s
4230}
4231
4232// SetDetectorVersionId sets the DetectorVersionId field's value.
4233func (s *DetectorVersionSummary) SetDetectorVersionId(v string) *DetectorVersionSummary {
4234	s.DetectorVersionId = &v
4235	return s
4236}
4237
4238// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4239func (s *DetectorVersionSummary) SetLastUpdatedTime(v string) *DetectorVersionSummary {
4240	s.LastUpdatedTime = &v
4241	return s
4242}
4243
4244// SetStatus sets the Status field's value.
4245func (s *DetectorVersionSummary) SetStatus(v string) *DetectorVersionSummary {
4246	s.Status = &v
4247	return s
4248}
4249
4250// The Amazon SageMaker model.
4251type ExternalModel struct {
4252	_ struct{} `type:"structure"`
4253
4254	// Timestamp of when the model was last created.
4255	CreatedTime *string `locationName:"createdTime" type:"string"`
4256
4257	// The input configuration.
4258	InputConfiguration *ModelInputConfiguration `locationName:"inputConfiguration" type:"structure"`
4259
4260	// Timestamp of when the model was last updated.
4261	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
4262
4263	// The Amazon SageMaker model endpoints.
4264	ModelEndpoint *string `locationName:"modelEndpoint" type:"string"`
4265
4266	// The Amazon Fraud Detector status for the external model endpoint
4267	ModelEndpointStatus *string `locationName:"modelEndpointStatus" type:"string" enum:"ModelEndpointStatus"`
4268
4269	// The source of the model.
4270	ModelSource *string `locationName:"modelSource" type:"string" enum:"ModelSource"`
4271
4272	// The output configuration.
4273	OutputConfiguration *ModelOutputConfiguration `locationName:"outputConfiguration" type:"structure"`
4274
4275	// The role used to invoke the model.
4276	Role *Role `locationName:"role" type:"structure"`
4277}
4278
4279// String returns the string representation
4280func (s ExternalModel) String() string {
4281	return awsutil.Prettify(s)
4282}
4283
4284// GoString returns the string representation
4285func (s ExternalModel) GoString() string {
4286	return s.String()
4287}
4288
4289// SetCreatedTime sets the CreatedTime field's value.
4290func (s *ExternalModel) SetCreatedTime(v string) *ExternalModel {
4291	s.CreatedTime = &v
4292	return s
4293}
4294
4295// SetInputConfiguration sets the InputConfiguration field's value.
4296func (s *ExternalModel) SetInputConfiguration(v *ModelInputConfiguration) *ExternalModel {
4297	s.InputConfiguration = v
4298	return s
4299}
4300
4301// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4302func (s *ExternalModel) SetLastUpdatedTime(v string) *ExternalModel {
4303	s.LastUpdatedTime = &v
4304	return s
4305}
4306
4307// SetModelEndpoint sets the ModelEndpoint field's value.
4308func (s *ExternalModel) SetModelEndpoint(v string) *ExternalModel {
4309	s.ModelEndpoint = &v
4310	return s
4311}
4312
4313// SetModelEndpointStatus sets the ModelEndpointStatus field's value.
4314func (s *ExternalModel) SetModelEndpointStatus(v string) *ExternalModel {
4315	s.ModelEndpointStatus = &v
4316	return s
4317}
4318
4319// SetModelSource sets the ModelSource field's value.
4320func (s *ExternalModel) SetModelSource(v string) *ExternalModel {
4321	s.ModelSource = &v
4322	return s
4323}
4324
4325// SetOutputConfiguration sets the OutputConfiguration field's value.
4326func (s *ExternalModel) SetOutputConfiguration(v *ModelOutputConfiguration) *ExternalModel {
4327	s.OutputConfiguration = v
4328	return s
4329}
4330
4331// SetRole sets the Role field's value.
4332func (s *ExternalModel) SetRole(v *Role) *ExternalModel {
4333	s.Role = v
4334	return s
4335}
4336
4337type GetDetectorVersionInput struct {
4338	_ struct{} `type:"structure"`
4339
4340	// The detector ID.
4341	//
4342	// DetectorId is a required field
4343	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
4344
4345	// The detector version ID.
4346	//
4347	// DetectorVersionId is a required field
4348	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
4349}
4350
4351// String returns the string representation
4352func (s GetDetectorVersionInput) String() string {
4353	return awsutil.Prettify(s)
4354}
4355
4356// GoString returns the string representation
4357func (s GetDetectorVersionInput) GoString() string {
4358	return s.String()
4359}
4360
4361// Validate inspects the fields of the type to determine if they are valid.
4362func (s *GetDetectorVersionInput) Validate() error {
4363	invalidParams := request.ErrInvalidParams{Context: "GetDetectorVersionInput"}
4364	if s.DetectorId == nil {
4365		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
4366	}
4367	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
4368		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
4369	}
4370	if s.DetectorVersionId == nil {
4371		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
4372	}
4373	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
4374		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
4375	}
4376
4377	if invalidParams.Len() > 0 {
4378		return invalidParams
4379	}
4380	return nil
4381}
4382
4383// SetDetectorId sets the DetectorId field's value.
4384func (s *GetDetectorVersionInput) SetDetectorId(v string) *GetDetectorVersionInput {
4385	s.DetectorId = &v
4386	return s
4387}
4388
4389// SetDetectorVersionId sets the DetectorVersionId field's value.
4390func (s *GetDetectorVersionInput) SetDetectorVersionId(v string) *GetDetectorVersionInput {
4391	s.DetectorVersionId = &v
4392	return s
4393}
4394
4395type GetDetectorVersionOutput struct {
4396	_ struct{} `type:"structure"`
4397
4398	// The timestamp when the detector version was created.
4399	CreatedTime *string `locationName:"createdTime" type:"string"`
4400
4401	// The detector version description.
4402	Description *string `locationName:"description" min:"1" type:"string"`
4403
4404	// The detector ID.
4405	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
4406
4407	// The detector version ID.
4408	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string"`
4409
4410	// The Amazon SageMaker model endpoints included in the detector version.
4411	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list"`
4412
4413	// The timestamp when the detector version was last updated.
4414	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
4415
4416	// The model versions included in the detector version.
4417	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
4418
4419	// The rules included in the detector version.
4420	Rules []*Rule `locationName:"rules" type:"list"`
4421
4422	// The status of the detector version.
4423	Status *string `locationName:"status" type:"string" enum:"DetectorVersionStatus"`
4424}
4425
4426// String returns the string representation
4427func (s GetDetectorVersionOutput) String() string {
4428	return awsutil.Prettify(s)
4429}
4430
4431// GoString returns the string representation
4432func (s GetDetectorVersionOutput) GoString() string {
4433	return s.String()
4434}
4435
4436// SetCreatedTime sets the CreatedTime field's value.
4437func (s *GetDetectorVersionOutput) SetCreatedTime(v string) *GetDetectorVersionOutput {
4438	s.CreatedTime = &v
4439	return s
4440}
4441
4442// SetDescription sets the Description field's value.
4443func (s *GetDetectorVersionOutput) SetDescription(v string) *GetDetectorVersionOutput {
4444	s.Description = &v
4445	return s
4446}
4447
4448// SetDetectorId sets the DetectorId field's value.
4449func (s *GetDetectorVersionOutput) SetDetectorId(v string) *GetDetectorVersionOutput {
4450	s.DetectorId = &v
4451	return s
4452}
4453
4454// SetDetectorVersionId sets the DetectorVersionId field's value.
4455func (s *GetDetectorVersionOutput) SetDetectorVersionId(v string) *GetDetectorVersionOutput {
4456	s.DetectorVersionId = &v
4457	return s
4458}
4459
4460// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
4461func (s *GetDetectorVersionOutput) SetExternalModelEndpoints(v []*string) *GetDetectorVersionOutput {
4462	s.ExternalModelEndpoints = v
4463	return s
4464}
4465
4466// SetLastUpdatedTime sets the LastUpdatedTime field's value.
4467func (s *GetDetectorVersionOutput) SetLastUpdatedTime(v string) *GetDetectorVersionOutput {
4468	s.LastUpdatedTime = &v
4469	return s
4470}
4471
4472// SetModelVersions sets the ModelVersions field's value.
4473func (s *GetDetectorVersionOutput) SetModelVersions(v []*ModelVersion) *GetDetectorVersionOutput {
4474	s.ModelVersions = v
4475	return s
4476}
4477
4478// SetRules sets the Rules field's value.
4479func (s *GetDetectorVersionOutput) SetRules(v []*Rule) *GetDetectorVersionOutput {
4480	s.Rules = v
4481	return s
4482}
4483
4484// SetStatus sets the Status field's value.
4485func (s *GetDetectorVersionOutput) SetStatus(v string) *GetDetectorVersionOutput {
4486	s.Status = &v
4487	return s
4488}
4489
4490type GetDetectorsInput struct {
4491	_ struct{} `type:"structure"`
4492
4493	// The detector ID.
4494	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
4495
4496	// The maximum number of objects to return for the request.
4497	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
4498
4499	// The next token for the subsequent request.
4500	NextToken *string `locationName:"nextToken" type:"string"`
4501}
4502
4503// String returns the string representation
4504func (s GetDetectorsInput) String() string {
4505	return awsutil.Prettify(s)
4506}
4507
4508// GoString returns the string representation
4509func (s GetDetectorsInput) GoString() string {
4510	return s.String()
4511}
4512
4513// Validate inspects the fields of the type to determine if they are valid.
4514func (s *GetDetectorsInput) Validate() error {
4515	invalidParams := request.ErrInvalidParams{Context: "GetDetectorsInput"}
4516	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
4517		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
4518	}
4519	if s.MaxResults != nil && *s.MaxResults < 5 {
4520		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
4521	}
4522
4523	if invalidParams.Len() > 0 {
4524		return invalidParams
4525	}
4526	return nil
4527}
4528
4529// SetDetectorId sets the DetectorId field's value.
4530func (s *GetDetectorsInput) SetDetectorId(v string) *GetDetectorsInput {
4531	s.DetectorId = &v
4532	return s
4533}
4534
4535// SetMaxResults sets the MaxResults field's value.
4536func (s *GetDetectorsInput) SetMaxResults(v int64) *GetDetectorsInput {
4537	s.MaxResults = &v
4538	return s
4539}
4540
4541// SetNextToken sets the NextToken field's value.
4542func (s *GetDetectorsInput) SetNextToken(v string) *GetDetectorsInput {
4543	s.NextToken = &v
4544	return s
4545}
4546
4547type GetDetectorsOutput struct {
4548	_ struct{} `type:"structure"`
4549
4550	// The detectors.
4551	Detectors []*Detector `locationName:"detectors" type:"list"`
4552
4553	// The next page token.
4554	NextToken *string `locationName:"nextToken" type:"string"`
4555}
4556
4557// String returns the string representation
4558func (s GetDetectorsOutput) String() string {
4559	return awsutil.Prettify(s)
4560}
4561
4562// GoString returns the string representation
4563func (s GetDetectorsOutput) GoString() string {
4564	return s.String()
4565}
4566
4567// SetDetectors sets the Detectors field's value.
4568func (s *GetDetectorsOutput) SetDetectors(v []*Detector) *GetDetectorsOutput {
4569	s.Detectors = v
4570	return s
4571}
4572
4573// SetNextToken sets the NextToken field's value.
4574func (s *GetDetectorsOutput) SetNextToken(v string) *GetDetectorsOutput {
4575	s.NextToken = &v
4576	return s
4577}
4578
4579type GetExternalModelsInput struct {
4580	_ struct{} `type:"structure"`
4581
4582	// The maximum number of objects to return for the request.
4583	MaxResults *int64 `locationName:"maxResults" min:"5" type:"integer"`
4584
4585	// The Amazon SageMaker model endpoint.
4586	ModelEndpoint *string `locationName:"modelEndpoint" type:"string"`
4587
4588	// The next page token for the request.
4589	NextToken *string `locationName:"nextToken" type:"string"`
4590}
4591
4592// String returns the string representation
4593func (s GetExternalModelsInput) String() string {
4594	return awsutil.Prettify(s)
4595}
4596
4597// GoString returns the string representation
4598func (s GetExternalModelsInput) GoString() string {
4599	return s.String()
4600}
4601
4602// Validate inspects the fields of the type to determine if they are valid.
4603func (s *GetExternalModelsInput) Validate() error {
4604	invalidParams := request.ErrInvalidParams{Context: "GetExternalModelsInput"}
4605	if s.MaxResults != nil && *s.MaxResults < 5 {
4606		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 5))
4607	}
4608
4609	if invalidParams.Len() > 0 {
4610		return invalidParams
4611	}
4612	return nil
4613}
4614
4615// SetMaxResults sets the MaxResults field's value.
4616func (s *GetExternalModelsInput) SetMaxResults(v int64) *GetExternalModelsInput {
4617	s.MaxResults = &v
4618	return s
4619}
4620
4621// SetModelEndpoint sets the ModelEndpoint field's value.
4622func (s *GetExternalModelsInput) SetModelEndpoint(v string) *GetExternalModelsInput {
4623	s.ModelEndpoint = &v
4624	return s
4625}
4626
4627// SetNextToken sets the NextToken field's value.
4628func (s *GetExternalModelsInput) SetNextToken(v string) *GetExternalModelsInput {
4629	s.NextToken = &v
4630	return s
4631}
4632
4633type GetExternalModelsOutput struct {
4634	_ struct{} `type:"structure"`
4635
4636	// Gets the Amazon SageMaker models.
4637	ExternalModels []*ExternalModel `locationName:"externalModels" type:"list"`
4638
4639	// The next page token to be used in subsequent requests.
4640	NextToken *string `locationName:"nextToken" type:"string"`
4641}
4642
4643// String returns the string representation
4644func (s GetExternalModelsOutput) String() string {
4645	return awsutil.Prettify(s)
4646}
4647
4648// GoString returns the string representation
4649func (s GetExternalModelsOutput) GoString() string {
4650	return s.String()
4651}
4652
4653// SetExternalModels sets the ExternalModels field's value.
4654func (s *GetExternalModelsOutput) SetExternalModels(v []*ExternalModel) *GetExternalModelsOutput {
4655	s.ExternalModels = v
4656	return s
4657}
4658
4659// SetNextToken sets the NextToken field's value.
4660func (s *GetExternalModelsOutput) SetNextToken(v string) *GetExternalModelsOutput {
4661	s.NextToken = &v
4662	return s
4663}
4664
4665type GetModelVersionInput struct {
4666	_ struct{} `type:"structure"`
4667
4668	// The model ID.
4669	//
4670	// ModelId is a required field
4671	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
4672
4673	// The model type.
4674	//
4675	// ModelType is a required field
4676	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
4677
4678	// The model version.
4679	//
4680	// ModelVersionNumber is a required field
4681	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string" required:"true"`
4682}
4683
4684// String returns the string representation
4685func (s GetModelVersionInput) String() string {
4686	return awsutil.Prettify(s)
4687}
4688
4689// GoString returns the string representation
4690func (s GetModelVersionInput) GoString() string {
4691	return s.String()
4692}
4693
4694// Validate inspects the fields of the type to determine if they are valid.
4695func (s *GetModelVersionInput) Validate() error {
4696	invalidParams := request.ErrInvalidParams{Context: "GetModelVersionInput"}
4697	if s.ModelId == nil {
4698		invalidParams.Add(request.NewErrParamRequired("ModelId"))
4699	}
4700	if s.ModelId != nil && len(*s.ModelId) < 1 {
4701		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
4702	}
4703	if s.ModelType == nil {
4704		invalidParams.Add(request.NewErrParamRequired("ModelType"))
4705	}
4706	if s.ModelVersionNumber == nil {
4707		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
4708	}
4709	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 1 {
4710		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 1))
4711	}
4712
4713	if invalidParams.Len() > 0 {
4714		return invalidParams
4715	}
4716	return nil
4717}
4718
4719// SetModelId sets the ModelId field's value.
4720func (s *GetModelVersionInput) SetModelId(v string) *GetModelVersionInput {
4721	s.ModelId = &v
4722	return s
4723}
4724
4725// SetModelType sets the ModelType field's value.
4726func (s *GetModelVersionInput) SetModelType(v string) *GetModelVersionInput {
4727	s.ModelType = &v
4728	return s
4729}
4730
4731// SetModelVersionNumber sets the ModelVersionNumber field's value.
4732func (s *GetModelVersionInput) SetModelVersionNumber(v string) *GetModelVersionInput {
4733	s.ModelVersionNumber = &v
4734	return s
4735}
4736
4737type GetModelVersionOutput struct {
4738	_ struct{} `type:"structure"`
4739
4740	// The model version description.
4741	Description *string `locationName:"description" min:"1" type:"string"`
4742
4743	// The model ID.
4744	ModelId *string `locationName:"modelId" min:"1" type:"string"`
4745
4746	// The model type.
4747	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
4748
4749	// The model version.
4750	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string"`
4751
4752	// The model version status.
4753	Status *string `locationName:"status" type:"string"`
4754}
4755
4756// String returns the string representation
4757func (s GetModelVersionOutput) String() string {
4758	return awsutil.Prettify(s)
4759}
4760
4761// GoString returns the string representation
4762func (s GetModelVersionOutput) GoString() string {
4763	return s.String()
4764}
4765
4766// SetDescription sets the Description field's value.
4767func (s *GetModelVersionOutput) SetDescription(v string) *GetModelVersionOutput {
4768	s.Description = &v
4769	return s
4770}
4771
4772// SetModelId sets the ModelId field's value.
4773func (s *GetModelVersionOutput) SetModelId(v string) *GetModelVersionOutput {
4774	s.ModelId = &v
4775	return s
4776}
4777
4778// SetModelType sets the ModelType field's value.
4779func (s *GetModelVersionOutput) SetModelType(v string) *GetModelVersionOutput {
4780	s.ModelType = &v
4781	return s
4782}
4783
4784// SetModelVersionNumber sets the ModelVersionNumber field's value.
4785func (s *GetModelVersionOutput) SetModelVersionNumber(v string) *GetModelVersionOutput {
4786	s.ModelVersionNumber = &v
4787	return s
4788}
4789
4790// SetStatus sets the Status field's value.
4791func (s *GetModelVersionOutput) SetStatus(v string) *GetModelVersionOutput {
4792	s.Status = &v
4793	return s
4794}
4795
4796type GetModelsInput struct {
4797	_ struct{} `type:"structure"`
4798
4799	// The maximum results to return for the request.
4800	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
4801
4802	// The model ID.
4803	ModelId *string `locationName:"modelId" min:"1" type:"string"`
4804
4805	// The model type.
4806	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
4807
4808	// The next token for the request.
4809	NextToken *string `locationName:"nextToken" type:"string"`
4810}
4811
4812// String returns the string representation
4813func (s GetModelsInput) String() string {
4814	return awsutil.Prettify(s)
4815}
4816
4817// GoString returns the string representation
4818func (s GetModelsInput) GoString() string {
4819	return s.String()
4820}
4821
4822// Validate inspects the fields of the type to determine if they are valid.
4823func (s *GetModelsInput) Validate() error {
4824	invalidParams := request.ErrInvalidParams{Context: "GetModelsInput"}
4825	if s.MaxResults != nil && *s.MaxResults < 1 {
4826		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
4827	}
4828	if s.ModelId != nil && len(*s.ModelId) < 1 {
4829		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
4830	}
4831
4832	if invalidParams.Len() > 0 {
4833		return invalidParams
4834	}
4835	return nil
4836}
4837
4838// SetMaxResults sets the MaxResults field's value.
4839func (s *GetModelsInput) SetMaxResults(v int64) *GetModelsInput {
4840	s.MaxResults = &v
4841	return s
4842}
4843
4844// SetModelId sets the ModelId field's value.
4845func (s *GetModelsInput) SetModelId(v string) *GetModelsInput {
4846	s.ModelId = &v
4847	return s
4848}
4849
4850// SetModelType sets the ModelType field's value.
4851func (s *GetModelsInput) SetModelType(v string) *GetModelsInput {
4852	s.ModelType = &v
4853	return s
4854}
4855
4856// SetNextToken sets the NextToken field's value.
4857func (s *GetModelsInput) SetNextToken(v string) *GetModelsInput {
4858	s.NextToken = &v
4859	return s
4860}
4861
4862type GetModelsOutput struct {
4863	_ struct{} `type:"structure"`
4864
4865	// The returned models.
4866	Models []*Model `locationName:"models" type:"list"`
4867
4868	// The next token for subsequent requests.
4869	NextToken *string `locationName:"nextToken" type:"string"`
4870}
4871
4872// String returns the string representation
4873func (s GetModelsOutput) String() string {
4874	return awsutil.Prettify(s)
4875}
4876
4877// GoString returns the string representation
4878func (s GetModelsOutput) GoString() string {
4879	return s.String()
4880}
4881
4882// SetModels sets the Models field's value.
4883func (s *GetModelsOutput) SetModels(v []*Model) *GetModelsOutput {
4884	s.Models = v
4885	return s
4886}
4887
4888// SetNextToken sets the NextToken field's value.
4889func (s *GetModelsOutput) SetNextToken(v string) *GetModelsOutput {
4890	s.NextToken = &v
4891	return s
4892}
4893
4894type GetOutcomesInput struct {
4895	_ struct{} `type:"structure"`
4896
4897	// The maximum number of objects to return for the request.
4898	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
4899
4900	// The name of the outcome or outcomes to get.
4901	Name *string `locationName:"name" min:"1" type:"string"`
4902
4903	// The next page token for the request.
4904	NextToken *string `locationName:"nextToken" type:"string"`
4905}
4906
4907// String returns the string representation
4908func (s GetOutcomesInput) String() string {
4909	return awsutil.Prettify(s)
4910}
4911
4912// GoString returns the string representation
4913func (s GetOutcomesInput) GoString() string {
4914	return s.String()
4915}
4916
4917// Validate inspects the fields of the type to determine if they are valid.
4918func (s *GetOutcomesInput) Validate() error {
4919	invalidParams := request.ErrInvalidParams{Context: "GetOutcomesInput"}
4920	if s.MaxResults != nil && *s.MaxResults < 50 {
4921		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
4922	}
4923	if s.Name != nil && len(*s.Name) < 1 {
4924		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4925	}
4926
4927	if invalidParams.Len() > 0 {
4928		return invalidParams
4929	}
4930	return nil
4931}
4932
4933// SetMaxResults sets the MaxResults field's value.
4934func (s *GetOutcomesInput) SetMaxResults(v int64) *GetOutcomesInput {
4935	s.MaxResults = &v
4936	return s
4937}
4938
4939// SetName sets the Name field's value.
4940func (s *GetOutcomesInput) SetName(v string) *GetOutcomesInput {
4941	s.Name = &v
4942	return s
4943}
4944
4945// SetNextToken sets the NextToken field's value.
4946func (s *GetOutcomesInput) SetNextToken(v string) *GetOutcomesInput {
4947	s.NextToken = &v
4948	return s
4949}
4950
4951type GetOutcomesOutput struct {
4952	_ struct{} `type:"structure"`
4953
4954	// The next page token for subsequent requests.
4955	NextToken *string `locationName:"nextToken" type:"string"`
4956
4957	// The outcomes.
4958	Outcomes []*Outcome `locationName:"outcomes" type:"list"`
4959}
4960
4961// String returns the string representation
4962func (s GetOutcomesOutput) String() string {
4963	return awsutil.Prettify(s)
4964}
4965
4966// GoString returns the string representation
4967func (s GetOutcomesOutput) GoString() string {
4968	return s.String()
4969}
4970
4971// SetNextToken sets the NextToken field's value.
4972func (s *GetOutcomesOutput) SetNextToken(v string) *GetOutcomesOutput {
4973	s.NextToken = &v
4974	return s
4975}
4976
4977// SetOutcomes sets the Outcomes field's value.
4978func (s *GetOutcomesOutput) SetOutcomes(v []*Outcome) *GetOutcomesOutput {
4979	s.Outcomes = v
4980	return s
4981}
4982
4983type GetPredictionInput struct {
4984	_ struct{} `type:"structure"`
4985
4986	// The detector ID.
4987	//
4988	// DetectorId is a required field
4989	DetectorId *string `locationName:"detectorId" type:"string" required:"true"`
4990
4991	// The detector version ID.
4992	DetectorVersionId *string `locationName:"detectorVersionId" type:"string"`
4993
4994	// Names of variables you defined in Amazon Fraud Detector to represent event
4995	// data elements and their corresponding values for the event you are sending
4996	// for evaluation.
4997	EventAttributes map[string]*string `locationName:"eventAttributes" type:"map"`
4998
4999	// The unique ID used to identify the event.
5000	//
5001	// EventId is a required field
5002	EventId *string `locationName:"eventId" type:"string" required:"true"`
5003
5004	// The Amazon SageMaker model endpoint input data blobs.
5005	ExternalModelEndpointDataBlobs map[string]*ModelEndpointDataBlob `locationName:"externalModelEndpointDataBlobs" type:"map" sensitive:"true"`
5006}
5007
5008// String returns the string representation
5009func (s GetPredictionInput) String() string {
5010	return awsutil.Prettify(s)
5011}
5012
5013// GoString returns the string representation
5014func (s GetPredictionInput) GoString() string {
5015	return s.String()
5016}
5017
5018// Validate inspects the fields of the type to determine if they are valid.
5019func (s *GetPredictionInput) Validate() error {
5020	invalidParams := request.ErrInvalidParams{Context: "GetPredictionInput"}
5021	if s.DetectorId == nil {
5022		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5023	}
5024	if s.EventId == nil {
5025		invalidParams.Add(request.NewErrParamRequired("EventId"))
5026	}
5027	if s.ExternalModelEndpointDataBlobs != nil {
5028		for i, v := range s.ExternalModelEndpointDataBlobs {
5029			if v == nil {
5030				continue
5031			}
5032			if err := v.Validate(); err != nil {
5033				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ExternalModelEndpointDataBlobs", i), err.(request.ErrInvalidParams))
5034			}
5035		}
5036	}
5037
5038	if invalidParams.Len() > 0 {
5039		return invalidParams
5040	}
5041	return nil
5042}
5043
5044// SetDetectorId sets the DetectorId field's value.
5045func (s *GetPredictionInput) SetDetectorId(v string) *GetPredictionInput {
5046	s.DetectorId = &v
5047	return s
5048}
5049
5050// SetDetectorVersionId sets the DetectorVersionId field's value.
5051func (s *GetPredictionInput) SetDetectorVersionId(v string) *GetPredictionInput {
5052	s.DetectorVersionId = &v
5053	return s
5054}
5055
5056// SetEventAttributes sets the EventAttributes field's value.
5057func (s *GetPredictionInput) SetEventAttributes(v map[string]*string) *GetPredictionInput {
5058	s.EventAttributes = v
5059	return s
5060}
5061
5062// SetEventId sets the EventId field's value.
5063func (s *GetPredictionInput) SetEventId(v string) *GetPredictionInput {
5064	s.EventId = &v
5065	return s
5066}
5067
5068// SetExternalModelEndpointDataBlobs sets the ExternalModelEndpointDataBlobs field's value.
5069func (s *GetPredictionInput) SetExternalModelEndpointDataBlobs(v map[string]*ModelEndpointDataBlob) *GetPredictionInput {
5070	s.ExternalModelEndpointDataBlobs = v
5071	return s
5072}
5073
5074type GetPredictionOutput struct {
5075	_ struct{} `type:"structure"`
5076
5077	// The model scores for models used in the detector version.
5078	ModelScores []*ModelScores `locationName:"modelScores" type:"list"`
5079
5080	// The prediction outcomes.
5081	Outcomes []*string `locationName:"outcomes" type:"list"`
5082}
5083
5084// String returns the string representation
5085func (s GetPredictionOutput) String() string {
5086	return awsutil.Prettify(s)
5087}
5088
5089// GoString returns the string representation
5090func (s GetPredictionOutput) GoString() string {
5091	return s.String()
5092}
5093
5094// SetModelScores sets the ModelScores field's value.
5095func (s *GetPredictionOutput) SetModelScores(v []*ModelScores) *GetPredictionOutput {
5096	s.ModelScores = v
5097	return s
5098}
5099
5100// SetOutcomes sets the Outcomes field's value.
5101func (s *GetPredictionOutput) SetOutcomes(v []*string) *GetPredictionOutput {
5102	s.Outcomes = v
5103	return s
5104}
5105
5106type GetRulesInput struct {
5107	_ struct{} `type:"structure"`
5108
5109	// The detector ID.
5110	//
5111	// DetectorId is a required field
5112	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
5113
5114	// The maximum number of rules to return for the request.
5115	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
5116
5117	// The next page token.
5118	NextToken *string `locationName:"nextToken" type:"string"`
5119
5120	// The rule ID.
5121	RuleId *string `locationName:"ruleId" min:"1" type:"string"`
5122
5123	// The rule version.
5124	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string"`
5125}
5126
5127// String returns the string representation
5128func (s GetRulesInput) String() string {
5129	return awsutil.Prettify(s)
5130}
5131
5132// GoString returns the string representation
5133func (s GetRulesInput) GoString() string {
5134	return s.String()
5135}
5136
5137// Validate inspects the fields of the type to determine if they are valid.
5138func (s *GetRulesInput) Validate() error {
5139	invalidParams := request.ErrInvalidParams{Context: "GetRulesInput"}
5140	if s.DetectorId == nil {
5141		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5142	}
5143	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5144		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5145	}
5146	if s.MaxResults != nil && *s.MaxResults < 50 {
5147		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
5148	}
5149	if s.RuleId != nil && len(*s.RuleId) < 1 {
5150		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
5151	}
5152	if s.RuleVersion != nil && len(*s.RuleVersion) < 1 {
5153		invalidParams.Add(request.NewErrParamMinLen("RuleVersion", 1))
5154	}
5155
5156	if invalidParams.Len() > 0 {
5157		return invalidParams
5158	}
5159	return nil
5160}
5161
5162// SetDetectorId sets the DetectorId field's value.
5163func (s *GetRulesInput) SetDetectorId(v string) *GetRulesInput {
5164	s.DetectorId = &v
5165	return s
5166}
5167
5168// SetMaxResults sets the MaxResults field's value.
5169func (s *GetRulesInput) SetMaxResults(v int64) *GetRulesInput {
5170	s.MaxResults = &v
5171	return s
5172}
5173
5174// SetNextToken sets the NextToken field's value.
5175func (s *GetRulesInput) SetNextToken(v string) *GetRulesInput {
5176	s.NextToken = &v
5177	return s
5178}
5179
5180// SetRuleId sets the RuleId field's value.
5181func (s *GetRulesInput) SetRuleId(v string) *GetRulesInput {
5182	s.RuleId = &v
5183	return s
5184}
5185
5186// SetRuleVersion sets the RuleVersion field's value.
5187func (s *GetRulesInput) SetRuleVersion(v string) *GetRulesInput {
5188	s.RuleVersion = &v
5189	return s
5190}
5191
5192type GetRulesOutput struct {
5193	_ struct{} `type:"structure"`
5194
5195	// The next page token to be used in subsequent requests.
5196	NextToken *string `locationName:"nextToken" type:"string"`
5197
5198	// The details of the requested rule.
5199	RuleDetails []*RuleDetail `locationName:"ruleDetails" type:"list"`
5200}
5201
5202// String returns the string representation
5203func (s GetRulesOutput) String() string {
5204	return awsutil.Prettify(s)
5205}
5206
5207// GoString returns the string representation
5208func (s GetRulesOutput) GoString() string {
5209	return s.String()
5210}
5211
5212// SetNextToken sets the NextToken field's value.
5213func (s *GetRulesOutput) SetNextToken(v string) *GetRulesOutput {
5214	s.NextToken = &v
5215	return s
5216}
5217
5218// SetRuleDetails sets the RuleDetails field's value.
5219func (s *GetRulesOutput) SetRuleDetails(v []*RuleDetail) *GetRulesOutput {
5220	s.RuleDetails = v
5221	return s
5222}
5223
5224type GetVariablesInput struct {
5225	_ struct{} `type:"structure"`
5226
5227	// The max size per page determined for the get variable request.
5228	MaxResults *int64 `locationName:"maxResults" min:"50" type:"integer"`
5229
5230	// The name of the variable.
5231	Name *string `locationName:"name" type:"string"`
5232
5233	// The next page token of the get variable request.
5234	NextToken *string `locationName:"nextToken" type:"string"`
5235}
5236
5237// String returns the string representation
5238func (s GetVariablesInput) String() string {
5239	return awsutil.Prettify(s)
5240}
5241
5242// GoString returns the string representation
5243func (s GetVariablesInput) GoString() string {
5244	return s.String()
5245}
5246
5247// Validate inspects the fields of the type to determine if they are valid.
5248func (s *GetVariablesInput) Validate() error {
5249	invalidParams := request.ErrInvalidParams{Context: "GetVariablesInput"}
5250	if s.MaxResults != nil && *s.MaxResults < 50 {
5251		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 50))
5252	}
5253
5254	if invalidParams.Len() > 0 {
5255		return invalidParams
5256	}
5257	return nil
5258}
5259
5260// SetMaxResults sets the MaxResults field's value.
5261func (s *GetVariablesInput) SetMaxResults(v int64) *GetVariablesInput {
5262	s.MaxResults = &v
5263	return s
5264}
5265
5266// SetName sets the Name field's value.
5267func (s *GetVariablesInput) SetName(v string) *GetVariablesInput {
5268	s.Name = &v
5269	return s
5270}
5271
5272// SetNextToken sets the NextToken field's value.
5273func (s *GetVariablesInput) SetNextToken(v string) *GetVariablesInput {
5274	s.NextToken = &v
5275	return s
5276}
5277
5278type GetVariablesOutput struct {
5279	_ struct{} `type:"structure"`
5280
5281	// The next page token to be used in subsequent requests.
5282	NextToken *string `locationName:"nextToken" type:"string"`
5283
5284	// The names of the variables returned.
5285	Variables []*Variable `locationName:"variables" type:"list"`
5286}
5287
5288// String returns the string representation
5289func (s GetVariablesOutput) String() string {
5290	return awsutil.Prettify(s)
5291}
5292
5293// GoString returns the string representation
5294func (s GetVariablesOutput) GoString() string {
5295	return s.String()
5296}
5297
5298// SetNextToken sets the NextToken field's value.
5299func (s *GetVariablesOutput) SetNextToken(v string) *GetVariablesOutput {
5300	s.NextToken = &v
5301	return s
5302}
5303
5304// SetVariables sets the Variables field's value.
5305func (s *GetVariablesOutput) SetVariables(v []*Variable) *GetVariablesOutput {
5306	s.Variables = v
5307	return s
5308}
5309
5310// The label schema.
5311type LabelSchema struct {
5312	_ struct{} `type:"structure"`
5313
5314	// The label key.
5315	//
5316	// LabelKey is a required field
5317	LabelKey *string `locationName:"labelKey" type:"string" required:"true"`
5318
5319	// The label mapper maps the Amazon Fraud Detector supported label to the appropriate
5320	// source labels. For example, if "FRAUD" and "LEGIT" are Amazon Fraud Detector
5321	// supported labels, this mapper could be: {"FRAUD" => ["0"], "LEGIT" => ["1"]}
5322	// or {"FRAUD" => ["false"], "LEGIT" => ["true"]} or {"FRAUD" => ["fraud", "abuse"],
5323	// "LEGIT" => ["legit", "safe"]}. The value part of the mapper is a list, because
5324	// you may have multiple variants for a single Amazon Fraud Detector label.
5325	//
5326	// LabelMapper is a required field
5327	LabelMapper map[string][]*string `locationName:"labelMapper" type:"map" required:"true"`
5328}
5329
5330// String returns the string representation
5331func (s LabelSchema) String() string {
5332	return awsutil.Prettify(s)
5333}
5334
5335// GoString returns the string representation
5336func (s LabelSchema) GoString() string {
5337	return s.String()
5338}
5339
5340// Validate inspects the fields of the type to determine if they are valid.
5341func (s *LabelSchema) Validate() error {
5342	invalidParams := request.ErrInvalidParams{Context: "LabelSchema"}
5343	if s.LabelKey == nil {
5344		invalidParams.Add(request.NewErrParamRequired("LabelKey"))
5345	}
5346	if s.LabelMapper == nil {
5347		invalidParams.Add(request.NewErrParamRequired("LabelMapper"))
5348	}
5349
5350	if invalidParams.Len() > 0 {
5351		return invalidParams
5352	}
5353	return nil
5354}
5355
5356// SetLabelKey sets the LabelKey field's value.
5357func (s *LabelSchema) SetLabelKey(v string) *LabelSchema {
5358	s.LabelKey = &v
5359	return s
5360}
5361
5362// SetLabelMapper sets the LabelMapper field's value.
5363func (s *LabelSchema) SetLabelMapper(v map[string][]*string) *LabelSchema {
5364	s.LabelMapper = v
5365	return s
5366}
5367
5368// The model.
5369type Model struct {
5370	_ struct{} `type:"structure"`
5371
5372	// Timestamp of when the model was created.
5373	CreatedTime *string `locationName:"createdTime" type:"string"`
5374
5375	// The model description.
5376	Description *string `locationName:"description" min:"1" type:"string"`
5377
5378	// The model label schema.
5379	LabelSchema *LabelSchema `locationName:"labelSchema" type:"structure"`
5380
5381	// Timestamp of last time the model was updated.
5382	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
5383
5384	// The model ID.
5385	ModelId *string `locationName:"modelId" min:"1" type:"string"`
5386
5387	// The model type.
5388	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
5389
5390	// The model input variables.
5391	ModelVariables []*ModelVariable `locationName:"modelVariables" type:"list"`
5392
5393	// The model training data source in Amazon S3.
5394	TrainingDataSource *TrainingDataSource `locationName:"trainingDataSource" type:"structure"`
5395}
5396
5397// String returns the string representation
5398func (s Model) String() string {
5399	return awsutil.Prettify(s)
5400}
5401
5402// GoString returns the string representation
5403func (s Model) GoString() string {
5404	return s.String()
5405}
5406
5407// SetCreatedTime sets the CreatedTime field's value.
5408func (s *Model) SetCreatedTime(v string) *Model {
5409	s.CreatedTime = &v
5410	return s
5411}
5412
5413// SetDescription sets the Description field's value.
5414func (s *Model) SetDescription(v string) *Model {
5415	s.Description = &v
5416	return s
5417}
5418
5419// SetLabelSchema sets the LabelSchema field's value.
5420func (s *Model) SetLabelSchema(v *LabelSchema) *Model {
5421	s.LabelSchema = v
5422	return s
5423}
5424
5425// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5426func (s *Model) SetLastUpdatedTime(v string) *Model {
5427	s.LastUpdatedTime = &v
5428	return s
5429}
5430
5431// SetModelId sets the ModelId field's value.
5432func (s *Model) SetModelId(v string) *Model {
5433	s.ModelId = &v
5434	return s
5435}
5436
5437// SetModelType sets the ModelType field's value.
5438func (s *Model) SetModelType(v string) *Model {
5439	s.ModelType = &v
5440	return s
5441}
5442
5443// SetModelVariables sets the ModelVariables field's value.
5444func (s *Model) SetModelVariables(v []*ModelVariable) *Model {
5445	s.ModelVariables = v
5446	return s
5447}
5448
5449// SetTrainingDataSource sets the TrainingDataSource field's value.
5450func (s *Model) SetTrainingDataSource(v *TrainingDataSource) *Model {
5451	s.TrainingDataSource = v
5452	return s
5453}
5454
5455// A pre-formed Amazon SageMaker model input you can include if your detector
5456// version includes an imported Amazon SageMaker model endpoint with pass-through
5457// input configuration.
5458type ModelEndpointDataBlob struct {
5459	_ struct{} `type:"structure"`
5460
5461	// The byte buffer of the Amazon SageMaker model endpoint input data blob.
5462	//
5463	// ByteBuffer is automatically base64 encoded/decoded by the SDK.
5464	ByteBuffer []byte `locationName:"byteBuffer" type:"blob"`
5465
5466	// The content type of the Amazon SageMaker model endpoint input data blob.
5467	ContentType *string `locationName:"contentType" min:"1" type:"string"`
5468}
5469
5470// String returns the string representation
5471func (s ModelEndpointDataBlob) String() string {
5472	return awsutil.Prettify(s)
5473}
5474
5475// GoString returns the string representation
5476func (s ModelEndpointDataBlob) GoString() string {
5477	return s.String()
5478}
5479
5480// Validate inspects the fields of the type to determine if they are valid.
5481func (s *ModelEndpointDataBlob) Validate() error {
5482	invalidParams := request.ErrInvalidParams{Context: "ModelEndpointDataBlob"}
5483	if s.ContentType != nil && len(*s.ContentType) < 1 {
5484		invalidParams.Add(request.NewErrParamMinLen("ContentType", 1))
5485	}
5486
5487	if invalidParams.Len() > 0 {
5488		return invalidParams
5489	}
5490	return nil
5491}
5492
5493// SetByteBuffer sets the ByteBuffer field's value.
5494func (s *ModelEndpointDataBlob) SetByteBuffer(v []byte) *ModelEndpointDataBlob {
5495	s.ByteBuffer = v
5496	return s
5497}
5498
5499// SetContentType sets the ContentType field's value.
5500func (s *ModelEndpointDataBlob) SetContentType(v string) *ModelEndpointDataBlob {
5501	s.ContentType = &v
5502	return s
5503}
5504
5505// The model input configuration.
5506type ModelInputConfiguration struct {
5507	_ struct{} `type:"structure"`
5508
5509	// Template for constructing the CSV input-data sent to SageMaker. At event-evaluation,
5510	// the placeholders for variable-names in the template will be replaced with
5511	// the variable values before being sent to SageMaker.
5512	CsvInputTemplate *string `locationName:"csvInputTemplate" type:"string"`
5513
5514	// The format of the model input configuration. The format differs depending
5515	// on if it is passed through to SageMaker or constructed by Amazon Fraud Detector.
5516	Format *string `locationName:"format" type:"string" enum:"ModelInputDataFormat"`
5517
5518	// For an opaque-model, the input to the model will be a ByteBuffer blob provided
5519	// in the getPrediction request, and will be passed to SageMaker as-is. For
5520	// non-opaque models, the input will be constructed by Amazon Fraud Detector
5521	// based on the model-configuration.
5522	//
5523	// IsOpaque is a required field
5524	IsOpaque *bool `locationName:"isOpaque" type:"boolean" required:"true"`
5525
5526	// Template for constructing the JSON input-data sent to SageMaker. At event-evaluation,
5527	// the placeholders for variable names in the template will be replaced with
5528	// the variable values before being sent to SageMaker.
5529	JsonInputTemplate *string `locationName:"jsonInputTemplate" type:"string"`
5530}
5531
5532// String returns the string representation
5533func (s ModelInputConfiguration) String() string {
5534	return awsutil.Prettify(s)
5535}
5536
5537// GoString returns the string representation
5538func (s ModelInputConfiguration) GoString() string {
5539	return s.String()
5540}
5541
5542// Validate inspects the fields of the type to determine if they are valid.
5543func (s *ModelInputConfiguration) Validate() error {
5544	invalidParams := request.ErrInvalidParams{Context: "ModelInputConfiguration"}
5545	if s.IsOpaque == nil {
5546		invalidParams.Add(request.NewErrParamRequired("IsOpaque"))
5547	}
5548
5549	if invalidParams.Len() > 0 {
5550		return invalidParams
5551	}
5552	return nil
5553}
5554
5555// SetCsvInputTemplate sets the CsvInputTemplate field's value.
5556func (s *ModelInputConfiguration) SetCsvInputTemplate(v string) *ModelInputConfiguration {
5557	s.CsvInputTemplate = &v
5558	return s
5559}
5560
5561// SetFormat sets the Format field's value.
5562func (s *ModelInputConfiguration) SetFormat(v string) *ModelInputConfiguration {
5563	s.Format = &v
5564	return s
5565}
5566
5567// SetIsOpaque sets the IsOpaque field's value.
5568func (s *ModelInputConfiguration) SetIsOpaque(v bool) *ModelInputConfiguration {
5569	s.IsOpaque = &v
5570	return s
5571}
5572
5573// SetJsonInputTemplate sets the JsonInputTemplate field's value.
5574func (s *ModelInputConfiguration) SetJsonInputTemplate(v string) *ModelInputConfiguration {
5575	s.JsonInputTemplate = &v
5576	return s
5577}
5578
5579// Provides the model output configuration.
5580type ModelOutputConfiguration struct {
5581	_ struct{} `type:"structure"`
5582
5583	// A map of CSV index values in the SageMaker response to the Amazon Fraud Detector
5584	// variables.
5585	CsvIndexToVariableMap map[string]*string `locationName:"csvIndexToVariableMap" type:"map"`
5586
5587	// The format of the model output configuration.
5588	//
5589	// Format is a required field
5590	Format *string `locationName:"format" type:"string" required:"true" enum:"ModelOutputDataFormat"`
5591
5592	// A map of JSON keys in response from SageMaker to the Amazon Fraud Detector
5593	// variables.
5594	JsonKeyToVariableMap map[string]*string `locationName:"jsonKeyToVariableMap" type:"map"`
5595}
5596
5597// String returns the string representation
5598func (s ModelOutputConfiguration) String() string {
5599	return awsutil.Prettify(s)
5600}
5601
5602// GoString returns the string representation
5603func (s ModelOutputConfiguration) GoString() string {
5604	return s.String()
5605}
5606
5607// Validate inspects the fields of the type to determine if they are valid.
5608func (s *ModelOutputConfiguration) Validate() error {
5609	invalidParams := request.ErrInvalidParams{Context: "ModelOutputConfiguration"}
5610	if s.Format == nil {
5611		invalidParams.Add(request.NewErrParamRequired("Format"))
5612	}
5613
5614	if invalidParams.Len() > 0 {
5615		return invalidParams
5616	}
5617	return nil
5618}
5619
5620// SetCsvIndexToVariableMap sets the CsvIndexToVariableMap field's value.
5621func (s *ModelOutputConfiguration) SetCsvIndexToVariableMap(v map[string]*string) *ModelOutputConfiguration {
5622	s.CsvIndexToVariableMap = v
5623	return s
5624}
5625
5626// SetFormat sets the Format field's value.
5627func (s *ModelOutputConfiguration) SetFormat(v string) *ModelOutputConfiguration {
5628	s.Format = &v
5629	return s
5630}
5631
5632// SetJsonKeyToVariableMap sets the JsonKeyToVariableMap field's value.
5633func (s *ModelOutputConfiguration) SetJsonKeyToVariableMap(v map[string]*string) *ModelOutputConfiguration {
5634	s.JsonKeyToVariableMap = v
5635	return s
5636}
5637
5638// The fraud prediction scores.
5639type ModelScores struct {
5640	_ struct{} `type:"structure"`
5641
5642	// The model version.
5643	ModelVersion *ModelVersion `locationName:"modelVersion" type:"structure"`
5644
5645	// The model's fraud prediction scores.
5646	Scores map[string]*float64 `locationName:"scores" type:"map"`
5647}
5648
5649// String returns the string representation
5650func (s ModelScores) String() string {
5651	return awsutil.Prettify(s)
5652}
5653
5654// GoString returns the string representation
5655func (s ModelScores) GoString() string {
5656	return s.String()
5657}
5658
5659// SetModelVersion sets the ModelVersion field's value.
5660func (s *ModelScores) SetModelVersion(v *ModelVersion) *ModelScores {
5661	s.ModelVersion = v
5662	return s
5663}
5664
5665// SetScores sets the Scores field's value.
5666func (s *ModelScores) SetScores(v map[string]*float64) *ModelScores {
5667	s.Scores = v
5668	return s
5669}
5670
5671// The model variable.>
5672type ModelVariable struct {
5673	_ struct{} `type:"structure"`
5674
5675	// The model variable's index.>
5676	Index *int64 `locationName:"index" type:"integer"`
5677
5678	// The model variable's name.>
5679	//
5680	// Name is a required field
5681	Name *string `locationName:"name" type:"string" required:"true"`
5682}
5683
5684// String returns the string representation
5685func (s ModelVariable) String() string {
5686	return awsutil.Prettify(s)
5687}
5688
5689// GoString returns the string representation
5690func (s ModelVariable) GoString() string {
5691	return s.String()
5692}
5693
5694// Validate inspects the fields of the type to determine if they are valid.
5695func (s *ModelVariable) Validate() error {
5696	invalidParams := request.ErrInvalidParams{Context: "ModelVariable"}
5697	if s.Name == nil {
5698		invalidParams.Add(request.NewErrParamRequired("Name"))
5699	}
5700
5701	if invalidParams.Len() > 0 {
5702		return invalidParams
5703	}
5704	return nil
5705}
5706
5707// SetIndex sets the Index field's value.
5708func (s *ModelVariable) SetIndex(v int64) *ModelVariable {
5709	s.Index = &v
5710	return s
5711}
5712
5713// SetName sets the Name field's value.
5714func (s *ModelVariable) SetName(v string) *ModelVariable {
5715	s.Name = &v
5716	return s
5717}
5718
5719// The model version.
5720type ModelVersion struct {
5721	_ struct{} `type:"structure"`
5722
5723	// The parent model ID.
5724	//
5725	// ModelId is a required field
5726	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
5727
5728	// The model type.
5729	//
5730	// ModelType is a required field
5731	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
5732
5733	// The model version.
5734	//
5735	// ModelVersionNumber is a required field
5736	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string" required:"true"`
5737}
5738
5739// String returns the string representation
5740func (s ModelVersion) String() string {
5741	return awsutil.Prettify(s)
5742}
5743
5744// GoString returns the string representation
5745func (s ModelVersion) GoString() string {
5746	return s.String()
5747}
5748
5749// Validate inspects the fields of the type to determine if they are valid.
5750func (s *ModelVersion) Validate() error {
5751	invalidParams := request.ErrInvalidParams{Context: "ModelVersion"}
5752	if s.ModelId == nil {
5753		invalidParams.Add(request.NewErrParamRequired("ModelId"))
5754	}
5755	if s.ModelId != nil && len(*s.ModelId) < 1 {
5756		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
5757	}
5758	if s.ModelType == nil {
5759		invalidParams.Add(request.NewErrParamRequired("ModelType"))
5760	}
5761	if s.ModelVersionNumber == nil {
5762		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
5763	}
5764	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 1 {
5765		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 1))
5766	}
5767
5768	if invalidParams.Len() > 0 {
5769		return invalidParams
5770	}
5771	return nil
5772}
5773
5774// SetModelId sets the ModelId field's value.
5775func (s *ModelVersion) SetModelId(v string) *ModelVersion {
5776	s.ModelId = &v
5777	return s
5778}
5779
5780// SetModelType sets the ModelType field's value.
5781func (s *ModelVersion) SetModelType(v string) *ModelVersion {
5782	s.ModelType = &v
5783	return s
5784}
5785
5786// SetModelVersionNumber sets the ModelVersionNumber field's value.
5787func (s *ModelVersion) SetModelVersionNumber(v string) *ModelVersion {
5788	s.ModelVersionNumber = &v
5789	return s
5790}
5791
5792// Provides the model version details.
5793type ModelVersionDetail struct {
5794	_ struct{} `type:"structure"`
5795
5796	// The timestamp when the model was created.
5797	CreatedTime *string `locationName:"createdTime" type:"string"`
5798
5799	// The model description.
5800	Description *string `locationName:"description" min:"1" type:"string"`
5801
5802	// The model label schema.
5803	LabelSchema *LabelSchema `locationName:"labelSchema" type:"structure"`
5804
5805	// The timestamp when the model was last updated.
5806	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
5807
5808	// The model ID.
5809	ModelId *string `locationName:"modelId" min:"1" type:"string"`
5810
5811	// The model type.
5812	ModelType *string `locationName:"modelType" type:"string" enum:"ModelTypeEnum"`
5813
5814	// The model variables.
5815	ModelVariables []*ModelVariable `locationName:"modelVariables" type:"list"`
5816
5817	// The model version.
5818	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string"`
5819
5820	// The model status.
5821	Status *string `locationName:"status" type:"string"`
5822
5823	// The model training data source.
5824	TrainingDataSource *TrainingDataSource `locationName:"trainingDataSource" type:"structure"`
5825
5826	// The model training metrics.
5827	TrainingMetrics map[string]*string `locationName:"trainingMetrics" type:"map"`
5828
5829	// The model validation metrics.
5830	ValidationMetrics map[string]*string `locationName:"validationMetrics" type:"map"`
5831}
5832
5833// String returns the string representation
5834func (s ModelVersionDetail) String() string {
5835	return awsutil.Prettify(s)
5836}
5837
5838// GoString returns the string representation
5839func (s ModelVersionDetail) GoString() string {
5840	return s.String()
5841}
5842
5843// SetCreatedTime sets the CreatedTime field's value.
5844func (s *ModelVersionDetail) SetCreatedTime(v string) *ModelVersionDetail {
5845	s.CreatedTime = &v
5846	return s
5847}
5848
5849// SetDescription sets the Description field's value.
5850func (s *ModelVersionDetail) SetDescription(v string) *ModelVersionDetail {
5851	s.Description = &v
5852	return s
5853}
5854
5855// SetLabelSchema sets the LabelSchema field's value.
5856func (s *ModelVersionDetail) SetLabelSchema(v *LabelSchema) *ModelVersionDetail {
5857	s.LabelSchema = v
5858	return s
5859}
5860
5861// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5862func (s *ModelVersionDetail) SetLastUpdatedTime(v string) *ModelVersionDetail {
5863	s.LastUpdatedTime = &v
5864	return s
5865}
5866
5867// SetModelId sets the ModelId field's value.
5868func (s *ModelVersionDetail) SetModelId(v string) *ModelVersionDetail {
5869	s.ModelId = &v
5870	return s
5871}
5872
5873// SetModelType sets the ModelType field's value.
5874func (s *ModelVersionDetail) SetModelType(v string) *ModelVersionDetail {
5875	s.ModelType = &v
5876	return s
5877}
5878
5879// SetModelVariables sets the ModelVariables field's value.
5880func (s *ModelVersionDetail) SetModelVariables(v []*ModelVariable) *ModelVersionDetail {
5881	s.ModelVariables = v
5882	return s
5883}
5884
5885// SetModelVersionNumber sets the ModelVersionNumber field's value.
5886func (s *ModelVersionDetail) SetModelVersionNumber(v string) *ModelVersionDetail {
5887	s.ModelVersionNumber = &v
5888	return s
5889}
5890
5891// SetStatus sets the Status field's value.
5892func (s *ModelVersionDetail) SetStatus(v string) *ModelVersionDetail {
5893	s.Status = &v
5894	return s
5895}
5896
5897// SetTrainingDataSource sets the TrainingDataSource field's value.
5898func (s *ModelVersionDetail) SetTrainingDataSource(v *TrainingDataSource) *ModelVersionDetail {
5899	s.TrainingDataSource = v
5900	return s
5901}
5902
5903// SetTrainingMetrics sets the TrainingMetrics field's value.
5904func (s *ModelVersionDetail) SetTrainingMetrics(v map[string]*string) *ModelVersionDetail {
5905	s.TrainingMetrics = v
5906	return s
5907}
5908
5909// SetValidationMetrics sets the ValidationMetrics field's value.
5910func (s *ModelVersionDetail) SetValidationMetrics(v map[string]*string) *ModelVersionDetail {
5911	s.ValidationMetrics = v
5912	return s
5913}
5914
5915// The outcome.
5916type Outcome struct {
5917	_ struct{} `type:"structure"`
5918
5919	// The timestamp when the outcome was created.
5920	CreatedTime *string `locationName:"createdTime" type:"string"`
5921
5922	// The outcome description.
5923	Description *string `locationName:"description" min:"1" type:"string"`
5924
5925	// The timestamp when the outcome was last updated.
5926	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
5927
5928	// The outcome name.
5929	Name *string `locationName:"name" min:"1" type:"string"`
5930}
5931
5932// String returns the string representation
5933func (s Outcome) String() string {
5934	return awsutil.Prettify(s)
5935}
5936
5937// GoString returns the string representation
5938func (s Outcome) GoString() string {
5939	return s.String()
5940}
5941
5942// SetCreatedTime sets the CreatedTime field's value.
5943func (s *Outcome) SetCreatedTime(v string) *Outcome {
5944	s.CreatedTime = &v
5945	return s
5946}
5947
5948// SetDescription sets the Description field's value.
5949func (s *Outcome) SetDescription(v string) *Outcome {
5950	s.Description = &v
5951	return s
5952}
5953
5954// SetLastUpdatedTime sets the LastUpdatedTime field's value.
5955func (s *Outcome) SetLastUpdatedTime(v string) *Outcome {
5956	s.LastUpdatedTime = &v
5957	return s
5958}
5959
5960// SetName sets the Name field's value.
5961func (s *Outcome) SetName(v string) *Outcome {
5962	s.Name = &v
5963	return s
5964}
5965
5966type PutDetectorInput struct {
5967	_ struct{} `type:"structure"`
5968
5969	// The description of the detector.
5970	Description *string `locationName:"description" min:"1" type:"string"`
5971
5972	// The detector ID.
5973	//
5974	// DetectorId is a required field
5975	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
5976}
5977
5978// String returns the string representation
5979func (s PutDetectorInput) String() string {
5980	return awsutil.Prettify(s)
5981}
5982
5983// GoString returns the string representation
5984func (s PutDetectorInput) GoString() string {
5985	return s.String()
5986}
5987
5988// Validate inspects the fields of the type to determine if they are valid.
5989func (s *PutDetectorInput) Validate() error {
5990	invalidParams := request.ErrInvalidParams{Context: "PutDetectorInput"}
5991	if s.Description != nil && len(*s.Description) < 1 {
5992		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
5993	}
5994	if s.DetectorId == nil {
5995		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5996	}
5997	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5998		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5999	}
6000
6001	if invalidParams.Len() > 0 {
6002		return invalidParams
6003	}
6004	return nil
6005}
6006
6007// SetDescription sets the Description field's value.
6008func (s *PutDetectorInput) SetDescription(v string) *PutDetectorInput {
6009	s.Description = &v
6010	return s
6011}
6012
6013// SetDetectorId sets the DetectorId field's value.
6014func (s *PutDetectorInput) SetDetectorId(v string) *PutDetectorInput {
6015	s.DetectorId = &v
6016	return s
6017}
6018
6019type PutDetectorOutput struct {
6020	_ struct{} `type:"structure"`
6021}
6022
6023// String returns the string representation
6024func (s PutDetectorOutput) String() string {
6025	return awsutil.Prettify(s)
6026}
6027
6028// GoString returns the string representation
6029func (s PutDetectorOutput) GoString() string {
6030	return s.String()
6031}
6032
6033type PutExternalModelInput struct {
6034	_ struct{} `type:"structure"`
6035
6036	// The model endpoint input configuration.
6037	//
6038	// InputConfiguration is a required field
6039	InputConfiguration *ModelInputConfiguration `locationName:"inputConfiguration" type:"structure" required:"true"`
6040
6041	// The model endpoints name.
6042	//
6043	// ModelEndpoint is a required field
6044	ModelEndpoint *string `locationName:"modelEndpoint" type:"string" required:"true"`
6045
6046	// The model endpoint’s status in Amazon Fraud Detector.
6047	//
6048	// ModelEndpointStatus is a required field
6049	ModelEndpointStatus *string `locationName:"modelEndpointStatus" type:"string" required:"true" enum:"ModelEndpointStatus"`
6050
6051	// The source of the model.
6052	//
6053	// ModelSource is a required field
6054	ModelSource *string `locationName:"modelSource" type:"string" required:"true" enum:"ModelSource"`
6055
6056	// The model endpoint output configuration.
6057	//
6058	// OutputConfiguration is a required field
6059	OutputConfiguration *ModelOutputConfiguration `locationName:"outputConfiguration" type:"structure" required:"true"`
6060
6061	// The IAM role used to invoke the model endpoint.
6062	//
6063	// Role is a required field
6064	Role *Role `locationName:"role" type:"structure" required:"true"`
6065}
6066
6067// String returns the string representation
6068func (s PutExternalModelInput) String() string {
6069	return awsutil.Prettify(s)
6070}
6071
6072// GoString returns the string representation
6073func (s PutExternalModelInput) GoString() string {
6074	return s.String()
6075}
6076
6077// Validate inspects the fields of the type to determine if they are valid.
6078func (s *PutExternalModelInput) Validate() error {
6079	invalidParams := request.ErrInvalidParams{Context: "PutExternalModelInput"}
6080	if s.InputConfiguration == nil {
6081		invalidParams.Add(request.NewErrParamRequired("InputConfiguration"))
6082	}
6083	if s.ModelEndpoint == nil {
6084		invalidParams.Add(request.NewErrParamRequired("ModelEndpoint"))
6085	}
6086	if s.ModelEndpointStatus == nil {
6087		invalidParams.Add(request.NewErrParamRequired("ModelEndpointStatus"))
6088	}
6089	if s.ModelSource == nil {
6090		invalidParams.Add(request.NewErrParamRequired("ModelSource"))
6091	}
6092	if s.OutputConfiguration == nil {
6093		invalidParams.Add(request.NewErrParamRequired("OutputConfiguration"))
6094	}
6095	if s.Role == nil {
6096		invalidParams.Add(request.NewErrParamRequired("Role"))
6097	}
6098	if s.InputConfiguration != nil {
6099		if err := s.InputConfiguration.Validate(); err != nil {
6100			invalidParams.AddNested("InputConfiguration", err.(request.ErrInvalidParams))
6101		}
6102	}
6103	if s.OutputConfiguration != nil {
6104		if err := s.OutputConfiguration.Validate(); err != nil {
6105			invalidParams.AddNested("OutputConfiguration", err.(request.ErrInvalidParams))
6106		}
6107	}
6108	if s.Role != nil {
6109		if err := s.Role.Validate(); err != nil {
6110			invalidParams.AddNested("Role", err.(request.ErrInvalidParams))
6111		}
6112	}
6113
6114	if invalidParams.Len() > 0 {
6115		return invalidParams
6116	}
6117	return nil
6118}
6119
6120// SetInputConfiguration sets the InputConfiguration field's value.
6121func (s *PutExternalModelInput) SetInputConfiguration(v *ModelInputConfiguration) *PutExternalModelInput {
6122	s.InputConfiguration = v
6123	return s
6124}
6125
6126// SetModelEndpoint sets the ModelEndpoint field's value.
6127func (s *PutExternalModelInput) SetModelEndpoint(v string) *PutExternalModelInput {
6128	s.ModelEndpoint = &v
6129	return s
6130}
6131
6132// SetModelEndpointStatus sets the ModelEndpointStatus field's value.
6133func (s *PutExternalModelInput) SetModelEndpointStatus(v string) *PutExternalModelInput {
6134	s.ModelEndpointStatus = &v
6135	return s
6136}
6137
6138// SetModelSource sets the ModelSource field's value.
6139func (s *PutExternalModelInput) SetModelSource(v string) *PutExternalModelInput {
6140	s.ModelSource = &v
6141	return s
6142}
6143
6144// SetOutputConfiguration sets the OutputConfiguration field's value.
6145func (s *PutExternalModelInput) SetOutputConfiguration(v *ModelOutputConfiguration) *PutExternalModelInput {
6146	s.OutputConfiguration = v
6147	return s
6148}
6149
6150// SetRole sets the Role field's value.
6151func (s *PutExternalModelInput) SetRole(v *Role) *PutExternalModelInput {
6152	s.Role = v
6153	return s
6154}
6155
6156type PutExternalModelOutput struct {
6157	_ struct{} `type:"structure"`
6158}
6159
6160// String returns the string representation
6161func (s PutExternalModelOutput) String() string {
6162	return awsutil.Prettify(s)
6163}
6164
6165// GoString returns the string representation
6166func (s PutExternalModelOutput) GoString() string {
6167	return s.String()
6168}
6169
6170type PutModelInput struct {
6171	_ struct{} `type:"structure"`
6172
6173	// The model description.
6174	Description *string `locationName:"description" min:"1" type:"string"`
6175
6176	// The label schema.
6177	//
6178	// LabelSchema is a required field
6179	LabelSchema *LabelSchema `locationName:"labelSchema" type:"structure" required:"true"`
6180
6181	// The model ID.
6182	//
6183	// ModelId is a required field
6184	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
6185
6186	// The model type.
6187	//
6188	// ModelType is a required field
6189	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
6190
6191	// The model input variables.
6192	//
6193	// ModelVariables is a required field
6194	ModelVariables []*ModelVariable `locationName:"modelVariables" type:"list" required:"true"`
6195
6196	// The training data source location in Amazon S3.
6197	//
6198	// TrainingDataSource is a required field
6199	TrainingDataSource *TrainingDataSource `locationName:"trainingDataSource" type:"structure" required:"true"`
6200}
6201
6202// String returns the string representation
6203func (s PutModelInput) String() string {
6204	return awsutil.Prettify(s)
6205}
6206
6207// GoString returns the string representation
6208func (s PutModelInput) GoString() string {
6209	return s.String()
6210}
6211
6212// Validate inspects the fields of the type to determine if they are valid.
6213func (s *PutModelInput) Validate() error {
6214	invalidParams := request.ErrInvalidParams{Context: "PutModelInput"}
6215	if s.Description != nil && len(*s.Description) < 1 {
6216		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
6217	}
6218	if s.LabelSchema == nil {
6219		invalidParams.Add(request.NewErrParamRequired("LabelSchema"))
6220	}
6221	if s.ModelId == nil {
6222		invalidParams.Add(request.NewErrParamRequired("ModelId"))
6223	}
6224	if s.ModelId != nil && len(*s.ModelId) < 1 {
6225		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
6226	}
6227	if s.ModelType == nil {
6228		invalidParams.Add(request.NewErrParamRequired("ModelType"))
6229	}
6230	if s.ModelVariables == nil {
6231		invalidParams.Add(request.NewErrParamRequired("ModelVariables"))
6232	}
6233	if s.TrainingDataSource == nil {
6234		invalidParams.Add(request.NewErrParamRequired("TrainingDataSource"))
6235	}
6236	if s.LabelSchema != nil {
6237		if err := s.LabelSchema.Validate(); err != nil {
6238			invalidParams.AddNested("LabelSchema", err.(request.ErrInvalidParams))
6239		}
6240	}
6241	if s.ModelVariables != nil {
6242		for i, v := range s.ModelVariables {
6243			if v == nil {
6244				continue
6245			}
6246			if err := v.Validate(); err != nil {
6247				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelVariables", i), err.(request.ErrInvalidParams))
6248			}
6249		}
6250	}
6251	if s.TrainingDataSource != nil {
6252		if err := s.TrainingDataSource.Validate(); err != nil {
6253			invalidParams.AddNested("TrainingDataSource", err.(request.ErrInvalidParams))
6254		}
6255	}
6256
6257	if invalidParams.Len() > 0 {
6258		return invalidParams
6259	}
6260	return nil
6261}
6262
6263// SetDescription sets the Description field's value.
6264func (s *PutModelInput) SetDescription(v string) *PutModelInput {
6265	s.Description = &v
6266	return s
6267}
6268
6269// SetLabelSchema sets the LabelSchema field's value.
6270func (s *PutModelInput) SetLabelSchema(v *LabelSchema) *PutModelInput {
6271	s.LabelSchema = v
6272	return s
6273}
6274
6275// SetModelId sets the ModelId field's value.
6276func (s *PutModelInput) SetModelId(v string) *PutModelInput {
6277	s.ModelId = &v
6278	return s
6279}
6280
6281// SetModelType sets the ModelType field's value.
6282func (s *PutModelInput) SetModelType(v string) *PutModelInput {
6283	s.ModelType = &v
6284	return s
6285}
6286
6287// SetModelVariables sets the ModelVariables field's value.
6288func (s *PutModelInput) SetModelVariables(v []*ModelVariable) *PutModelInput {
6289	s.ModelVariables = v
6290	return s
6291}
6292
6293// SetTrainingDataSource sets the TrainingDataSource field's value.
6294func (s *PutModelInput) SetTrainingDataSource(v *TrainingDataSource) *PutModelInput {
6295	s.TrainingDataSource = v
6296	return s
6297}
6298
6299type PutModelOutput struct {
6300	_ struct{} `type:"structure"`
6301}
6302
6303// String returns the string representation
6304func (s PutModelOutput) String() string {
6305	return awsutil.Prettify(s)
6306}
6307
6308// GoString returns the string representation
6309func (s PutModelOutput) GoString() string {
6310	return s.String()
6311}
6312
6313type PutOutcomeInput struct {
6314	_ struct{} `type:"structure"`
6315
6316	// The outcome description.
6317	Description *string `locationName:"description" min:"1" type:"string"`
6318
6319	// The name of the outcome.
6320	//
6321	// Name is a required field
6322	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6323}
6324
6325// String returns the string representation
6326func (s PutOutcomeInput) String() string {
6327	return awsutil.Prettify(s)
6328}
6329
6330// GoString returns the string representation
6331func (s PutOutcomeInput) GoString() string {
6332	return s.String()
6333}
6334
6335// Validate inspects the fields of the type to determine if they are valid.
6336func (s *PutOutcomeInput) Validate() error {
6337	invalidParams := request.ErrInvalidParams{Context: "PutOutcomeInput"}
6338	if s.Description != nil && len(*s.Description) < 1 {
6339		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
6340	}
6341	if s.Name == nil {
6342		invalidParams.Add(request.NewErrParamRequired("Name"))
6343	}
6344	if s.Name != nil && len(*s.Name) < 1 {
6345		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6346	}
6347
6348	if invalidParams.Len() > 0 {
6349		return invalidParams
6350	}
6351	return nil
6352}
6353
6354// SetDescription sets the Description field's value.
6355func (s *PutOutcomeInput) SetDescription(v string) *PutOutcomeInput {
6356	s.Description = &v
6357	return s
6358}
6359
6360// SetName sets the Name field's value.
6361func (s *PutOutcomeInput) SetName(v string) *PutOutcomeInput {
6362	s.Name = &v
6363	return s
6364}
6365
6366type PutOutcomeOutput struct {
6367	_ struct{} `type:"structure"`
6368}
6369
6370// String returns the string representation
6371func (s PutOutcomeOutput) String() string {
6372	return awsutil.Prettify(s)
6373}
6374
6375// GoString returns the string representation
6376func (s PutOutcomeOutput) GoString() string {
6377	return s.String()
6378}
6379
6380// The role used to invoke external model endpoints.
6381type Role struct {
6382	_ struct{} `type:"structure"`
6383
6384	// The role ARN.
6385	//
6386	// Arn is a required field
6387	Arn *string `locationName:"arn" type:"string" required:"true"`
6388
6389	// The role name.
6390	//
6391	// Name is a required field
6392	Name *string `locationName:"name" type:"string" required:"true"`
6393}
6394
6395// String returns the string representation
6396func (s Role) String() string {
6397	return awsutil.Prettify(s)
6398}
6399
6400// GoString returns the string representation
6401func (s Role) GoString() string {
6402	return s.String()
6403}
6404
6405// Validate inspects the fields of the type to determine if they are valid.
6406func (s *Role) Validate() error {
6407	invalidParams := request.ErrInvalidParams{Context: "Role"}
6408	if s.Arn == nil {
6409		invalidParams.Add(request.NewErrParamRequired("Arn"))
6410	}
6411	if s.Name == nil {
6412		invalidParams.Add(request.NewErrParamRequired("Name"))
6413	}
6414
6415	if invalidParams.Len() > 0 {
6416		return invalidParams
6417	}
6418	return nil
6419}
6420
6421// SetArn sets the Arn field's value.
6422func (s *Role) SetArn(v string) *Role {
6423	s.Arn = &v
6424	return s
6425}
6426
6427// SetName sets the Name field's value.
6428func (s *Role) SetName(v string) *Role {
6429	s.Name = &v
6430	return s
6431}
6432
6433// A rule.
6434type Rule struct {
6435	_ struct{} `type:"structure"`
6436
6437	// The detector for which the rule is associated.
6438	//
6439	// DetectorId is a required field
6440	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6441
6442	// The rule ID.
6443	//
6444	// RuleId is a required field
6445	RuleId *string `locationName:"ruleId" min:"1" type:"string" required:"true"`
6446
6447	// The rule version.
6448	//
6449	// RuleVersion is a required field
6450	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string" required:"true"`
6451}
6452
6453// String returns the string representation
6454func (s Rule) String() string {
6455	return awsutil.Prettify(s)
6456}
6457
6458// GoString returns the string representation
6459func (s Rule) GoString() string {
6460	return s.String()
6461}
6462
6463// Validate inspects the fields of the type to determine if they are valid.
6464func (s *Rule) Validate() error {
6465	invalidParams := request.ErrInvalidParams{Context: "Rule"}
6466	if s.DetectorId == nil {
6467		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6468	}
6469	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6470		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6471	}
6472	if s.RuleId == nil {
6473		invalidParams.Add(request.NewErrParamRequired("RuleId"))
6474	}
6475	if s.RuleId != nil && len(*s.RuleId) < 1 {
6476		invalidParams.Add(request.NewErrParamMinLen("RuleId", 1))
6477	}
6478	if s.RuleVersion == nil {
6479		invalidParams.Add(request.NewErrParamRequired("RuleVersion"))
6480	}
6481	if s.RuleVersion != nil && len(*s.RuleVersion) < 1 {
6482		invalidParams.Add(request.NewErrParamMinLen("RuleVersion", 1))
6483	}
6484
6485	if invalidParams.Len() > 0 {
6486		return invalidParams
6487	}
6488	return nil
6489}
6490
6491// SetDetectorId sets the DetectorId field's value.
6492func (s *Rule) SetDetectorId(v string) *Rule {
6493	s.DetectorId = &v
6494	return s
6495}
6496
6497// SetRuleId sets the RuleId field's value.
6498func (s *Rule) SetRuleId(v string) *Rule {
6499	s.RuleId = &v
6500	return s
6501}
6502
6503// SetRuleVersion sets the RuleVersion field's value.
6504func (s *Rule) SetRuleVersion(v string) *Rule {
6505	s.RuleVersion = &v
6506	return s
6507}
6508
6509// The details of the rule.
6510type RuleDetail struct {
6511	_ struct{} `type:"structure"`
6512
6513	// The timestamp of when the rule was created.
6514	CreatedTime *string `locationName:"createdTime" type:"string"`
6515
6516	// The rule description.
6517	Description *string `locationName:"description" min:"1" type:"string"`
6518
6519	// The detector for which the rule is associated.
6520	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
6521
6522	// The rule expression.
6523	Expression *string `locationName:"expression" min:"1" type:"string"`
6524
6525	// The rule language.
6526	Language *string `locationName:"language" type:"string" enum:"Language"`
6527
6528	// Timestamp of the last time the rule was updated.
6529	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
6530
6531	// The rule outcomes.
6532	Outcomes []*string `locationName:"outcomes" min:"1" type:"list"`
6533
6534	// The rule ID.
6535	RuleId *string `locationName:"ruleId" min:"1" type:"string"`
6536
6537	// The rule version.
6538	RuleVersion *string `locationName:"ruleVersion" min:"1" type:"string"`
6539}
6540
6541// String returns the string representation
6542func (s RuleDetail) String() string {
6543	return awsutil.Prettify(s)
6544}
6545
6546// GoString returns the string representation
6547func (s RuleDetail) GoString() string {
6548	return s.String()
6549}
6550
6551// SetCreatedTime sets the CreatedTime field's value.
6552func (s *RuleDetail) SetCreatedTime(v string) *RuleDetail {
6553	s.CreatedTime = &v
6554	return s
6555}
6556
6557// SetDescription sets the Description field's value.
6558func (s *RuleDetail) SetDescription(v string) *RuleDetail {
6559	s.Description = &v
6560	return s
6561}
6562
6563// SetDetectorId sets the DetectorId field's value.
6564func (s *RuleDetail) SetDetectorId(v string) *RuleDetail {
6565	s.DetectorId = &v
6566	return s
6567}
6568
6569// SetExpression sets the Expression field's value.
6570func (s *RuleDetail) SetExpression(v string) *RuleDetail {
6571	s.Expression = &v
6572	return s
6573}
6574
6575// SetLanguage sets the Language field's value.
6576func (s *RuleDetail) SetLanguage(v string) *RuleDetail {
6577	s.Language = &v
6578	return s
6579}
6580
6581// SetLastUpdatedTime sets the LastUpdatedTime field's value.
6582func (s *RuleDetail) SetLastUpdatedTime(v string) *RuleDetail {
6583	s.LastUpdatedTime = &v
6584	return s
6585}
6586
6587// SetOutcomes sets the Outcomes field's value.
6588func (s *RuleDetail) SetOutcomes(v []*string) *RuleDetail {
6589	s.Outcomes = v
6590	return s
6591}
6592
6593// SetRuleId sets the RuleId field's value.
6594func (s *RuleDetail) SetRuleId(v string) *RuleDetail {
6595	s.RuleId = &v
6596	return s
6597}
6598
6599// SetRuleVersion sets the RuleVersion field's value.
6600func (s *RuleDetail) SetRuleVersion(v string) *RuleDetail {
6601	s.RuleVersion = &v
6602	return s
6603}
6604
6605// The training data source.
6606type TrainingDataSource struct {
6607	_ struct{} `type:"structure"`
6608
6609	// The data access role ARN for the training data source.
6610	//
6611	// DataAccessRoleArn is a required field
6612	DataAccessRoleArn *string `locationName:"dataAccessRoleArn" min:"1" type:"string" required:"true"`
6613
6614	// The data location of the training data source.
6615	//
6616	// DataLocation is a required field
6617	DataLocation *string `locationName:"dataLocation" min:"1" type:"string" required:"true"`
6618}
6619
6620// String returns the string representation
6621func (s TrainingDataSource) String() string {
6622	return awsutil.Prettify(s)
6623}
6624
6625// GoString returns the string representation
6626func (s TrainingDataSource) GoString() string {
6627	return s.String()
6628}
6629
6630// Validate inspects the fields of the type to determine if they are valid.
6631func (s *TrainingDataSource) Validate() error {
6632	invalidParams := request.ErrInvalidParams{Context: "TrainingDataSource"}
6633	if s.DataAccessRoleArn == nil {
6634		invalidParams.Add(request.NewErrParamRequired("DataAccessRoleArn"))
6635	}
6636	if s.DataAccessRoleArn != nil && len(*s.DataAccessRoleArn) < 1 {
6637		invalidParams.Add(request.NewErrParamMinLen("DataAccessRoleArn", 1))
6638	}
6639	if s.DataLocation == nil {
6640		invalidParams.Add(request.NewErrParamRequired("DataLocation"))
6641	}
6642	if s.DataLocation != nil && len(*s.DataLocation) < 1 {
6643		invalidParams.Add(request.NewErrParamMinLen("DataLocation", 1))
6644	}
6645
6646	if invalidParams.Len() > 0 {
6647		return invalidParams
6648	}
6649	return nil
6650}
6651
6652// SetDataAccessRoleArn sets the DataAccessRoleArn field's value.
6653func (s *TrainingDataSource) SetDataAccessRoleArn(v string) *TrainingDataSource {
6654	s.DataAccessRoleArn = &v
6655	return s
6656}
6657
6658// SetDataLocation sets the DataLocation field's value.
6659func (s *TrainingDataSource) SetDataLocation(v string) *TrainingDataSource {
6660	s.DataLocation = &v
6661	return s
6662}
6663
6664type UpdateDetectorVersionInput struct {
6665	_ struct{} `type:"structure"`
6666
6667	// The detector version description.
6668	Description *string `locationName:"description" min:"1" type:"string"`
6669
6670	// The parent detector ID for the detector version you want to update.
6671	//
6672	// DetectorId is a required field
6673	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6674
6675	// The detector version ID.
6676	//
6677	// DetectorVersionId is a required field
6678	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
6679
6680	// The Amazon SageMaker model endpoints to include in the detector version.
6681	//
6682	// ExternalModelEndpoints is a required field
6683	ExternalModelEndpoints []*string `locationName:"externalModelEndpoints" type:"list" required:"true"`
6684
6685	// The model versions to include in the detector version.
6686	ModelVersions []*ModelVersion `locationName:"modelVersions" type:"list"`
6687
6688	// The rules to include in the detector version.
6689	//
6690	// Rules is a required field
6691	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
6692}
6693
6694// String returns the string representation
6695func (s UpdateDetectorVersionInput) String() string {
6696	return awsutil.Prettify(s)
6697}
6698
6699// GoString returns the string representation
6700func (s UpdateDetectorVersionInput) GoString() string {
6701	return s.String()
6702}
6703
6704// Validate inspects the fields of the type to determine if they are valid.
6705func (s *UpdateDetectorVersionInput) Validate() error {
6706	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionInput"}
6707	if s.Description != nil && len(*s.Description) < 1 {
6708		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
6709	}
6710	if s.DetectorId == nil {
6711		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6712	}
6713	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6714		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6715	}
6716	if s.DetectorVersionId == nil {
6717		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
6718	}
6719	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
6720		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
6721	}
6722	if s.ExternalModelEndpoints == nil {
6723		invalidParams.Add(request.NewErrParamRequired("ExternalModelEndpoints"))
6724	}
6725	if s.Rules == nil {
6726		invalidParams.Add(request.NewErrParamRequired("Rules"))
6727	}
6728	if s.ModelVersions != nil {
6729		for i, v := range s.ModelVersions {
6730			if v == nil {
6731				continue
6732			}
6733			if err := v.Validate(); err != nil {
6734				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ModelVersions", i), err.(request.ErrInvalidParams))
6735			}
6736		}
6737	}
6738	if s.Rules != nil {
6739		for i, v := range s.Rules {
6740			if v == nil {
6741				continue
6742			}
6743			if err := v.Validate(); err != nil {
6744				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Rules", i), err.(request.ErrInvalidParams))
6745			}
6746		}
6747	}
6748
6749	if invalidParams.Len() > 0 {
6750		return invalidParams
6751	}
6752	return nil
6753}
6754
6755// SetDescription sets the Description field's value.
6756func (s *UpdateDetectorVersionInput) SetDescription(v string) *UpdateDetectorVersionInput {
6757	s.Description = &v
6758	return s
6759}
6760
6761// SetDetectorId sets the DetectorId field's value.
6762func (s *UpdateDetectorVersionInput) SetDetectorId(v string) *UpdateDetectorVersionInput {
6763	s.DetectorId = &v
6764	return s
6765}
6766
6767// SetDetectorVersionId sets the DetectorVersionId field's value.
6768func (s *UpdateDetectorVersionInput) SetDetectorVersionId(v string) *UpdateDetectorVersionInput {
6769	s.DetectorVersionId = &v
6770	return s
6771}
6772
6773// SetExternalModelEndpoints sets the ExternalModelEndpoints field's value.
6774func (s *UpdateDetectorVersionInput) SetExternalModelEndpoints(v []*string) *UpdateDetectorVersionInput {
6775	s.ExternalModelEndpoints = v
6776	return s
6777}
6778
6779// SetModelVersions sets the ModelVersions field's value.
6780func (s *UpdateDetectorVersionInput) SetModelVersions(v []*ModelVersion) *UpdateDetectorVersionInput {
6781	s.ModelVersions = v
6782	return s
6783}
6784
6785// SetRules sets the Rules field's value.
6786func (s *UpdateDetectorVersionInput) SetRules(v []*Rule) *UpdateDetectorVersionInput {
6787	s.Rules = v
6788	return s
6789}
6790
6791type UpdateDetectorVersionMetadataInput struct {
6792	_ struct{} `type:"structure"`
6793
6794	// The description.
6795	//
6796	// Description is a required field
6797	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
6798
6799	// The detector ID.
6800	//
6801	// DetectorId is a required field
6802	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6803
6804	// The detector version ID.
6805	//
6806	// DetectorVersionId is a required field
6807	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
6808}
6809
6810// String returns the string representation
6811func (s UpdateDetectorVersionMetadataInput) String() string {
6812	return awsutil.Prettify(s)
6813}
6814
6815// GoString returns the string representation
6816func (s UpdateDetectorVersionMetadataInput) GoString() string {
6817	return s.String()
6818}
6819
6820// Validate inspects the fields of the type to determine if they are valid.
6821func (s *UpdateDetectorVersionMetadataInput) Validate() error {
6822	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionMetadataInput"}
6823	if s.Description == nil {
6824		invalidParams.Add(request.NewErrParamRequired("Description"))
6825	}
6826	if s.Description != nil && len(*s.Description) < 1 {
6827		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
6828	}
6829	if s.DetectorId == nil {
6830		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6831	}
6832	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6833		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6834	}
6835	if s.DetectorVersionId == nil {
6836		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
6837	}
6838	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
6839		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
6840	}
6841
6842	if invalidParams.Len() > 0 {
6843		return invalidParams
6844	}
6845	return nil
6846}
6847
6848// SetDescription sets the Description field's value.
6849func (s *UpdateDetectorVersionMetadataInput) SetDescription(v string) *UpdateDetectorVersionMetadataInput {
6850	s.Description = &v
6851	return s
6852}
6853
6854// SetDetectorId sets the DetectorId field's value.
6855func (s *UpdateDetectorVersionMetadataInput) SetDetectorId(v string) *UpdateDetectorVersionMetadataInput {
6856	s.DetectorId = &v
6857	return s
6858}
6859
6860// SetDetectorVersionId sets the DetectorVersionId field's value.
6861func (s *UpdateDetectorVersionMetadataInput) SetDetectorVersionId(v string) *UpdateDetectorVersionMetadataInput {
6862	s.DetectorVersionId = &v
6863	return s
6864}
6865
6866type UpdateDetectorVersionMetadataOutput struct {
6867	_ struct{} `type:"structure"`
6868}
6869
6870// String returns the string representation
6871func (s UpdateDetectorVersionMetadataOutput) String() string {
6872	return awsutil.Prettify(s)
6873}
6874
6875// GoString returns the string representation
6876func (s UpdateDetectorVersionMetadataOutput) GoString() string {
6877	return s.String()
6878}
6879
6880type UpdateDetectorVersionOutput struct {
6881	_ struct{} `type:"structure"`
6882}
6883
6884// String returns the string representation
6885func (s UpdateDetectorVersionOutput) String() string {
6886	return awsutil.Prettify(s)
6887}
6888
6889// GoString returns the string representation
6890func (s UpdateDetectorVersionOutput) GoString() string {
6891	return s.String()
6892}
6893
6894type UpdateDetectorVersionStatusInput struct {
6895	_ struct{} `type:"structure"`
6896
6897	// The detector ID.
6898	//
6899	// DetectorId is a required field
6900	DetectorId *string `locationName:"detectorId" min:"1" type:"string" required:"true"`
6901
6902	// The detector version ID.
6903	//
6904	// DetectorVersionId is a required field
6905	DetectorVersionId *string `locationName:"detectorVersionId" min:"1" type:"string" required:"true"`
6906
6907	// The new status.
6908	//
6909	// Status is a required field
6910	Status *string `locationName:"status" type:"string" required:"true" enum:"DetectorVersionStatus"`
6911}
6912
6913// String returns the string representation
6914func (s UpdateDetectorVersionStatusInput) String() string {
6915	return awsutil.Prettify(s)
6916}
6917
6918// GoString returns the string representation
6919func (s UpdateDetectorVersionStatusInput) GoString() string {
6920	return s.String()
6921}
6922
6923// Validate inspects the fields of the type to determine if they are valid.
6924func (s *UpdateDetectorVersionStatusInput) Validate() error {
6925	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorVersionStatusInput"}
6926	if s.DetectorId == nil {
6927		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6928	}
6929	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6930		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6931	}
6932	if s.DetectorVersionId == nil {
6933		invalidParams.Add(request.NewErrParamRequired("DetectorVersionId"))
6934	}
6935	if s.DetectorVersionId != nil && len(*s.DetectorVersionId) < 1 {
6936		invalidParams.Add(request.NewErrParamMinLen("DetectorVersionId", 1))
6937	}
6938	if s.Status == nil {
6939		invalidParams.Add(request.NewErrParamRequired("Status"))
6940	}
6941
6942	if invalidParams.Len() > 0 {
6943		return invalidParams
6944	}
6945	return nil
6946}
6947
6948// SetDetectorId sets the DetectorId field's value.
6949func (s *UpdateDetectorVersionStatusInput) SetDetectorId(v string) *UpdateDetectorVersionStatusInput {
6950	s.DetectorId = &v
6951	return s
6952}
6953
6954// SetDetectorVersionId sets the DetectorVersionId field's value.
6955func (s *UpdateDetectorVersionStatusInput) SetDetectorVersionId(v string) *UpdateDetectorVersionStatusInput {
6956	s.DetectorVersionId = &v
6957	return s
6958}
6959
6960// SetStatus sets the Status field's value.
6961func (s *UpdateDetectorVersionStatusInput) SetStatus(v string) *UpdateDetectorVersionStatusInput {
6962	s.Status = &v
6963	return s
6964}
6965
6966type UpdateDetectorVersionStatusOutput struct {
6967	_ struct{} `type:"structure"`
6968}
6969
6970// String returns the string representation
6971func (s UpdateDetectorVersionStatusOutput) String() string {
6972	return awsutil.Prettify(s)
6973}
6974
6975// GoString returns the string representation
6976func (s UpdateDetectorVersionStatusOutput) GoString() string {
6977	return s.String()
6978}
6979
6980type UpdateModelVersionInput struct {
6981	_ struct{} `type:"structure"`
6982
6983	// The model description.
6984	//
6985	// Description is a required field
6986	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
6987
6988	// The model ID.
6989	//
6990	// ModelId is a required field
6991	ModelId *string `locationName:"modelId" min:"1" type:"string" required:"true"`
6992
6993	// The model type.
6994	//
6995	// ModelType is a required field
6996	ModelType *string `locationName:"modelType" type:"string" required:"true" enum:"ModelTypeEnum"`
6997
6998	// The model version.
6999	//
7000	// ModelVersionNumber is a required field
7001	ModelVersionNumber *string `locationName:"modelVersionNumber" min:"1" type:"string" required:"true"`
7002
7003	// The new model status.
7004	//
7005	// Status is a required field
7006	Status *string `locationName:"status" type:"string" required:"true" enum:"ModelVersionStatus"`
7007}
7008
7009// String returns the string representation
7010func (s UpdateModelVersionInput) String() string {
7011	return awsutil.Prettify(s)
7012}
7013
7014// GoString returns the string representation
7015func (s UpdateModelVersionInput) GoString() string {
7016	return s.String()
7017}
7018
7019// Validate inspects the fields of the type to determine if they are valid.
7020func (s *UpdateModelVersionInput) Validate() error {
7021	invalidParams := request.ErrInvalidParams{Context: "UpdateModelVersionInput"}
7022	if s.Description == nil {
7023		invalidParams.Add(request.NewErrParamRequired("Description"))
7024	}
7025	if s.Description != nil && len(*s.Description) < 1 {
7026		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7027	}
7028	if s.ModelId == nil {
7029		invalidParams.Add(request.NewErrParamRequired("ModelId"))
7030	}
7031	if s.ModelId != nil && len(*s.ModelId) < 1 {
7032		invalidParams.Add(request.NewErrParamMinLen("ModelId", 1))
7033	}
7034	if s.ModelType == nil {
7035		invalidParams.Add(request.NewErrParamRequired("ModelType"))
7036	}
7037	if s.ModelVersionNumber == nil {
7038		invalidParams.Add(request.NewErrParamRequired("ModelVersionNumber"))
7039	}
7040	if s.ModelVersionNumber != nil && len(*s.ModelVersionNumber) < 1 {
7041		invalidParams.Add(request.NewErrParamMinLen("ModelVersionNumber", 1))
7042	}
7043	if s.Status == nil {
7044		invalidParams.Add(request.NewErrParamRequired("Status"))
7045	}
7046
7047	if invalidParams.Len() > 0 {
7048		return invalidParams
7049	}
7050	return nil
7051}
7052
7053// SetDescription sets the Description field's value.
7054func (s *UpdateModelVersionInput) SetDescription(v string) *UpdateModelVersionInput {
7055	s.Description = &v
7056	return s
7057}
7058
7059// SetModelId sets the ModelId field's value.
7060func (s *UpdateModelVersionInput) SetModelId(v string) *UpdateModelVersionInput {
7061	s.ModelId = &v
7062	return s
7063}
7064
7065// SetModelType sets the ModelType field's value.
7066func (s *UpdateModelVersionInput) SetModelType(v string) *UpdateModelVersionInput {
7067	s.ModelType = &v
7068	return s
7069}
7070
7071// SetModelVersionNumber sets the ModelVersionNumber field's value.
7072func (s *UpdateModelVersionInput) SetModelVersionNumber(v string) *UpdateModelVersionInput {
7073	s.ModelVersionNumber = &v
7074	return s
7075}
7076
7077// SetStatus sets the Status field's value.
7078func (s *UpdateModelVersionInput) SetStatus(v string) *UpdateModelVersionInput {
7079	s.Status = &v
7080	return s
7081}
7082
7083type UpdateModelVersionOutput struct {
7084	_ struct{} `type:"structure"`
7085}
7086
7087// String returns the string representation
7088func (s UpdateModelVersionOutput) String() string {
7089	return awsutil.Prettify(s)
7090}
7091
7092// GoString returns the string representation
7093func (s UpdateModelVersionOutput) GoString() string {
7094	return s.String()
7095}
7096
7097type UpdateRuleMetadataInput struct {
7098	_ struct{} `type:"structure"`
7099
7100	// The rule description.
7101	//
7102	// Description is a required field
7103	Description *string `locationName:"description" min:"1" type:"string" required:"true"`
7104
7105	// The rule to update.
7106	//
7107	// Rule is a required field
7108	Rule *Rule `locationName:"rule" type:"structure" required:"true"`
7109}
7110
7111// String returns the string representation
7112func (s UpdateRuleMetadataInput) String() string {
7113	return awsutil.Prettify(s)
7114}
7115
7116// GoString returns the string representation
7117func (s UpdateRuleMetadataInput) GoString() string {
7118	return s.String()
7119}
7120
7121// Validate inspects the fields of the type to determine if they are valid.
7122func (s *UpdateRuleMetadataInput) Validate() error {
7123	invalidParams := request.ErrInvalidParams{Context: "UpdateRuleMetadataInput"}
7124	if s.Description == nil {
7125		invalidParams.Add(request.NewErrParamRequired("Description"))
7126	}
7127	if s.Description != nil && len(*s.Description) < 1 {
7128		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7129	}
7130	if s.Rule == nil {
7131		invalidParams.Add(request.NewErrParamRequired("Rule"))
7132	}
7133	if s.Rule != nil {
7134		if err := s.Rule.Validate(); err != nil {
7135			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
7136		}
7137	}
7138
7139	if invalidParams.Len() > 0 {
7140		return invalidParams
7141	}
7142	return nil
7143}
7144
7145// SetDescription sets the Description field's value.
7146func (s *UpdateRuleMetadataInput) SetDescription(v string) *UpdateRuleMetadataInput {
7147	s.Description = &v
7148	return s
7149}
7150
7151// SetRule sets the Rule field's value.
7152func (s *UpdateRuleMetadataInput) SetRule(v *Rule) *UpdateRuleMetadataInput {
7153	s.Rule = v
7154	return s
7155}
7156
7157type UpdateRuleMetadataOutput struct {
7158	_ struct{} `type:"structure"`
7159}
7160
7161// String returns the string representation
7162func (s UpdateRuleMetadataOutput) String() string {
7163	return awsutil.Prettify(s)
7164}
7165
7166// GoString returns the string representation
7167func (s UpdateRuleMetadataOutput) GoString() string {
7168	return s.String()
7169}
7170
7171type UpdateRuleVersionInput struct {
7172	_ struct{} `type:"structure"`
7173
7174	// The description.
7175	Description *string `locationName:"description" min:"1" type:"string"`
7176
7177	// The rule expression.
7178	//
7179	// Expression is a required field
7180	Expression *string `locationName:"expression" min:"1" type:"string" required:"true"`
7181
7182	// The language.
7183	//
7184	// Language is a required field
7185	Language *string `locationName:"language" type:"string" required:"true" enum:"Language"`
7186
7187	// The outcomes.
7188	//
7189	// Outcomes is a required field
7190	Outcomes []*string `locationName:"outcomes" min:"1" type:"list" required:"true"`
7191
7192	// The rule to update.
7193	//
7194	// Rule is a required field
7195	Rule *Rule `locationName:"rule" type:"structure" required:"true"`
7196}
7197
7198// String returns the string representation
7199func (s UpdateRuleVersionInput) String() string {
7200	return awsutil.Prettify(s)
7201}
7202
7203// GoString returns the string representation
7204func (s UpdateRuleVersionInput) GoString() string {
7205	return s.String()
7206}
7207
7208// Validate inspects the fields of the type to determine if they are valid.
7209func (s *UpdateRuleVersionInput) Validate() error {
7210	invalidParams := request.ErrInvalidParams{Context: "UpdateRuleVersionInput"}
7211	if s.Description != nil && len(*s.Description) < 1 {
7212		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
7213	}
7214	if s.Expression == nil {
7215		invalidParams.Add(request.NewErrParamRequired("Expression"))
7216	}
7217	if s.Expression != nil && len(*s.Expression) < 1 {
7218		invalidParams.Add(request.NewErrParamMinLen("Expression", 1))
7219	}
7220	if s.Language == nil {
7221		invalidParams.Add(request.NewErrParamRequired("Language"))
7222	}
7223	if s.Outcomes == nil {
7224		invalidParams.Add(request.NewErrParamRequired("Outcomes"))
7225	}
7226	if s.Outcomes != nil && len(s.Outcomes) < 1 {
7227		invalidParams.Add(request.NewErrParamMinLen("Outcomes", 1))
7228	}
7229	if s.Rule == nil {
7230		invalidParams.Add(request.NewErrParamRequired("Rule"))
7231	}
7232	if s.Rule != nil {
7233		if err := s.Rule.Validate(); err != nil {
7234			invalidParams.AddNested("Rule", err.(request.ErrInvalidParams))
7235		}
7236	}
7237
7238	if invalidParams.Len() > 0 {
7239		return invalidParams
7240	}
7241	return nil
7242}
7243
7244// SetDescription sets the Description field's value.
7245func (s *UpdateRuleVersionInput) SetDescription(v string) *UpdateRuleVersionInput {
7246	s.Description = &v
7247	return s
7248}
7249
7250// SetExpression sets the Expression field's value.
7251func (s *UpdateRuleVersionInput) SetExpression(v string) *UpdateRuleVersionInput {
7252	s.Expression = &v
7253	return s
7254}
7255
7256// SetLanguage sets the Language field's value.
7257func (s *UpdateRuleVersionInput) SetLanguage(v string) *UpdateRuleVersionInput {
7258	s.Language = &v
7259	return s
7260}
7261
7262// SetOutcomes sets the Outcomes field's value.
7263func (s *UpdateRuleVersionInput) SetOutcomes(v []*string) *UpdateRuleVersionInput {
7264	s.Outcomes = v
7265	return s
7266}
7267
7268// SetRule sets the Rule field's value.
7269func (s *UpdateRuleVersionInput) SetRule(v *Rule) *UpdateRuleVersionInput {
7270	s.Rule = v
7271	return s
7272}
7273
7274type UpdateRuleVersionOutput struct {
7275	_ struct{} `type:"structure"`
7276
7277	// The new rule version that was created.
7278	Rule *Rule `locationName:"rule" type:"structure"`
7279}
7280
7281// String returns the string representation
7282func (s UpdateRuleVersionOutput) String() string {
7283	return awsutil.Prettify(s)
7284}
7285
7286// GoString returns the string representation
7287func (s UpdateRuleVersionOutput) GoString() string {
7288	return s.String()
7289}
7290
7291// SetRule sets the Rule field's value.
7292func (s *UpdateRuleVersionOutput) SetRule(v *Rule) *UpdateRuleVersionOutput {
7293	s.Rule = v
7294	return s
7295}
7296
7297type UpdateVariableInput struct {
7298	_ struct{} `type:"structure"`
7299
7300	// The new default value of the variable.
7301	DefaultValue *string `locationName:"defaultValue" type:"string"`
7302
7303	// The new description.
7304	Description *string `locationName:"description" type:"string"`
7305
7306	// The name of the variable.
7307	//
7308	// Name is a required field
7309	Name *string `locationName:"name" type:"string" required:"true"`
7310
7311	// The variable type.
7312	VariableType *string `locationName:"variableType" type:"string"`
7313}
7314
7315// String returns the string representation
7316func (s UpdateVariableInput) String() string {
7317	return awsutil.Prettify(s)
7318}
7319
7320// GoString returns the string representation
7321func (s UpdateVariableInput) GoString() string {
7322	return s.String()
7323}
7324
7325// Validate inspects the fields of the type to determine if they are valid.
7326func (s *UpdateVariableInput) Validate() error {
7327	invalidParams := request.ErrInvalidParams{Context: "UpdateVariableInput"}
7328	if s.Name == nil {
7329		invalidParams.Add(request.NewErrParamRequired("Name"))
7330	}
7331
7332	if invalidParams.Len() > 0 {
7333		return invalidParams
7334	}
7335	return nil
7336}
7337
7338// SetDefaultValue sets the DefaultValue field's value.
7339func (s *UpdateVariableInput) SetDefaultValue(v string) *UpdateVariableInput {
7340	s.DefaultValue = &v
7341	return s
7342}
7343
7344// SetDescription sets the Description field's value.
7345func (s *UpdateVariableInput) SetDescription(v string) *UpdateVariableInput {
7346	s.Description = &v
7347	return s
7348}
7349
7350// SetName sets the Name field's value.
7351func (s *UpdateVariableInput) SetName(v string) *UpdateVariableInput {
7352	s.Name = &v
7353	return s
7354}
7355
7356// SetVariableType sets the VariableType field's value.
7357func (s *UpdateVariableInput) SetVariableType(v string) *UpdateVariableInput {
7358	s.VariableType = &v
7359	return s
7360}
7361
7362type UpdateVariableOutput struct {
7363	_ struct{} `type:"structure"`
7364}
7365
7366// String returns the string representation
7367func (s UpdateVariableOutput) String() string {
7368	return awsutil.Prettify(s)
7369}
7370
7371// GoString returns the string representation
7372func (s UpdateVariableOutput) GoString() string {
7373	return s.String()
7374}
7375
7376// The variable.
7377type Variable struct {
7378	_ struct{} `type:"structure"`
7379
7380	// The time when the variable was created.
7381	CreatedTime *string `locationName:"createdTime" type:"string"`
7382
7383	// The data source of the variable.
7384	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
7385
7386	// The data type of the variable.
7387	DataType *string `locationName:"dataType" type:"string" enum:"DataType"`
7388
7389	// The default value of the variable.
7390	DefaultValue *string `locationName:"defaultValue" type:"string"`
7391
7392	// The description of the variable.
7393	Description *string `locationName:"description" type:"string"`
7394
7395	// The time when variable was last updated.
7396	LastUpdatedTime *string `locationName:"lastUpdatedTime" type:"string"`
7397
7398	// The name of the variable.
7399	Name *string `locationName:"name" type:"string"`
7400
7401	// The variable type of the variable.
7402	VariableType *string `locationName:"variableType" type:"string"`
7403}
7404
7405// String returns the string representation
7406func (s Variable) String() string {
7407	return awsutil.Prettify(s)
7408}
7409
7410// GoString returns the string representation
7411func (s Variable) GoString() string {
7412	return s.String()
7413}
7414
7415// SetCreatedTime sets the CreatedTime field's value.
7416func (s *Variable) SetCreatedTime(v string) *Variable {
7417	s.CreatedTime = &v
7418	return s
7419}
7420
7421// SetDataSource sets the DataSource field's value.
7422func (s *Variable) SetDataSource(v string) *Variable {
7423	s.DataSource = &v
7424	return s
7425}
7426
7427// SetDataType sets the DataType field's value.
7428func (s *Variable) SetDataType(v string) *Variable {
7429	s.DataType = &v
7430	return s
7431}
7432
7433// SetDefaultValue sets the DefaultValue field's value.
7434func (s *Variable) SetDefaultValue(v string) *Variable {
7435	s.DefaultValue = &v
7436	return s
7437}
7438
7439// SetDescription sets the Description field's value.
7440func (s *Variable) SetDescription(v string) *Variable {
7441	s.Description = &v
7442	return s
7443}
7444
7445// SetLastUpdatedTime sets the LastUpdatedTime field's value.
7446func (s *Variable) SetLastUpdatedTime(v string) *Variable {
7447	s.LastUpdatedTime = &v
7448	return s
7449}
7450
7451// SetName sets the Name field's value.
7452func (s *Variable) SetName(v string) *Variable {
7453	s.Name = &v
7454	return s
7455}
7456
7457// SetVariableType sets the VariableType field's value.
7458func (s *Variable) SetVariableType(v string) *Variable {
7459	s.VariableType = &v
7460	return s
7461}
7462
7463// The variable entry in a list.
7464type VariableEntry struct {
7465	_ struct{} `type:"structure"`
7466
7467	// The data source of the variable entry.
7468	DataSource *string `locationName:"dataSource" type:"string"`
7469
7470	// The data type of the variable entry.
7471	DataType *string `locationName:"dataType" type:"string"`
7472
7473	// The default value of the variable entry.
7474	DefaultValue *string `locationName:"defaultValue" type:"string"`
7475
7476	// The description of the variable entry.
7477	Description *string `locationName:"description" type:"string"`
7478
7479	// The name of the variable entry.
7480	Name *string `locationName:"name" type:"string"`
7481
7482	// The type of the variable entry.
7483	VariableType *string `locationName:"variableType" type:"string"`
7484}
7485
7486// String returns the string representation
7487func (s VariableEntry) String() string {
7488	return awsutil.Prettify(s)
7489}
7490
7491// GoString returns the string representation
7492func (s VariableEntry) GoString() string {
7493	return s.String()
7494}
7495
7496// SetDataSource sets the DataSource field's value.
7497func (s *VariableEntry) SetDataSource(v string) *VariableEntry {
7498	s.DataSource = &v
7499	return s
7500}
7501
7502// SetDataType sets the DataType field's value.
7503func (s *VariableEntry) SetDataType(v string) *VariableEntry {
7504	s.DataType = &v
7505	return s
7506}
7507
7508// SetDefaultValue sets the DefaultValue field's value.
7509func (s *VariableEntry) SetDefaultValue(v string) *VariableEntry {
7510	s.DefaultValue = &v
7511	return s
7512}
7513
7514// SetDescription sets the Description field's value.
7515func (s *VariableEntry) SetDescription(v string) *VariableEntry {
7516	s.Description = &v
7517	return s
7518}
7519
7520// SetName sets the Name field's value.
7521func (s *VariableEntry) SetName(v string) *VariableEntry {
7522	s.Name = &v
7523	return s
7524}
7525
7526// SetVariableType sets the VariableType field's value.
7527func (s *VariableEntry) SetVariableType(v string) *VariableEntry {
7528	s.VariableType = &v
7529	return s
7530}
7531
7532const (
7533	// DataSourceEvent is a DataSource enum value
7534	DataSourceEvent = "EVENT"
7535
7536	// DataSourceModelScore is a DataSource enum value
7537	DataSourceModelScore = "MODEL_SCORE"
7538
7539	// DataSourceExternalModelScore is a DataSource enum value
7540	DataSourceExternalModelScore = "EXTERNAL_MODEL_SCORE"
7541)
7542
7543const (
7544	// DataTypeString is a DataType enum value
7545	DataTypeString = "STRING"
7546
7547	// DataTypeInteger is a DataType enum value
7548	DataTypeInteger = "INTEGER"
7549
7550	// DataTypeFloat is a DataType enum value
7551	DataTypeFloat = "FLOAT"
7552
7553	// DataTypeBoolean is a DataType enum value
7554	DataTypeBoolean = "BOOLEAN"
7555)
7556
7557const (
7558	// DetectorVersionStatusDraft is a DetectorVersionStatus enum value
7559	DetectorVersionStatusDraft = "DRAFT"
7560
7561	// DetectorVersionStatusActive is a DetectorVersionStatus enum value
7562	DetectorVersionStatusActive = "ACTIVE"
7563
7564	// DetectorVersionStatusInactive is a DetectorVersionStatus enum value
7565	DetectorVersionStatusInactive = "INACTIVE"
7566)
7567
7568const (
7569	// LanguageDetectorpl is a Language enum value
7570	LanguageDetectorpl = "DETECTORPL"
7571)
7572
7573const (
7574	// ModelEndpointStatusAssociated is a ModelEndpointStatus enum value
7575	ModelEndpointStatusAssociated = "ASSOCIATED"
7576
7577	// ModelEndpointStatusDissociated is a ModelEndpointStatus enum value
7578	ModelEndpointStatusDissociated = "DISSOCIATED"
7579)
7580
7581const (
7582	// ModelInputDataFormatTextCsv is a ModelInputDataFormat enum value
7583	ModelInputDataFormatTextCsv = "TEXT_CSV"
7584
7585	// ModelInputDataFormatApplicationJson is a ModelInputDataFormat enum value
7586	ModelInputDataFormatApplicationJson = "APPLICATION_JSON"
7587)
7588
7589const (
7590	// ModelOutputDataFormatTextCsv is a ModelOutputDataFormat enum value
7591	ModelOutputDataFormatTextCsv = "TEXT_CSV"
7592
7593	// ModelOutputDataFormatApplicationJsonlines is a ModelOutputDataFormat enum value
7594	ModelOutputDataFormatApplicationJsonlines = "APPLICATION_JSONLINES"
7595)
7596
7597const (
7598	// ModelSourceSagemaker is a ModelSource enum value
7599	ModelSourceSagemaker = "SAGEMAKER"
7600)
7601
7602const (
7603	// ModelTypeEnumOnlineFraudInsights is a ModelTypeEnum enum value
7604	ModelTypeEnumOnlineFraudInsights = "ONLINE_FRAUD_INSIGHTS"
7605)
7606
7607const (
7608	// ModelVersionStatusTrainingInProgress is a ModelVersionStatus enum value
7609	ModelVersionStatusTrainingInProgress = "TRAINING_IN_PROGRESS"
7610
7611	// ModelVersionStatusTrainingComplete is a ModelVersionStatus enum value
7612	ModelVersionStatusTrainingComplete = "TRAINING_COMPLETE"
7613
7614	// ModelVersionStatusActivateRequested is a ModelVersionStatus enum value
7615	ModelVersionStatusActivateRequested = "ACTIVATE_REQUESTED"
7616
7617	// ModelVersionStatusActivateInProgress is a ModelVersionStatus enum value
7618	ModelVersionStatusActivateInProgress = "ACTIVATE_IN_PROGRESS"
7619
7620	// ModelVersionStatusActive is a ModelVersionStatus enum value
7621	ModelVersionStatusActive = "ACTIVE"
7622
7623	// ModelVersionStatusInactivateInProgress is a ModelVersionStatus enum value
7624	ModelVersionStatusInactivateInProgress = "INACTIVATE_IN_PROGRESS"
7625
7626	// ModelVersionStatusInactive is a ModelVersionStatus enum value
7627	ModelVersionStatusInactive = "INACTIVE"
7628
7629	// ModelVersionStatusError is a ModelVersionStatus enum value
7630	ModelVersionStatusError = "ERROR"
7631)
7632